ES2703005T3 - Método de control de codificación de imágenes animadas, aparato de codificación de imágenes animadas y programa de codificación de imágenes animadas - Google Patents

Método de control de codificación de imágenes animadas, aparato de codificación de imágenes animadas y programa de codificación de imágenes animadas Download PDF

Info

Publication number
ES2703005T3
ES2703005T3 ES11777442T ES11777442T ES2703005T3 ES 2703005 T3 ES2703005 T3 ES 2703005T3 ES 11777442 T ES11777442 T ES 11777442T ES 11777442 T ES11777442 T ES 11777442T ES 2703005 T3 ES2703005 T3 ES 2703005T3
Authority
ES
Spain
Prior art keywords
coding
parameter
image
cpb
images
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
ES11777442T
Other languages
English (en)
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of ES2703005T3 publication Critical patent/ES2703005T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
    • H04N19/114—Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods 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/124—Quantisation
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
    • H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
    • H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods 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/17—Methods 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/172—Methods 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
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods 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/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

Un método de control de codificación de vídeo en el que se controla una tasa de bits generada de modo que una memoria intermedia hipotética en un decodificador no se colapsa y se codifica una señal de vídeo de entrada, suministrándose la memoria intermedia hipotética con un flujo codificado de la señal de vídeo de entrada a una tasa de bits predeterminada y leyendo el flujo codificado que corresponde a cada imagen, comprendiendo el método las etapas de: codificar de manera secuencial cada imagen en un grupo de imágenes en orden de codificación de acuerdo con un parámetro de codificación actual que incluye al menos uno de un parámetro de cuantificación e intensidad de filtro de un pre-filtro para la señal de vídeo de entrada, incluyendo el grupo de imágenes en orden de codificación un número predeterminado de imágenes y que es una colección de imágenes sucesivas en un orden de codificación, estableciéndose el parámetro de codificación actual de acuerdo con un valor de un contador de reintento; comprobar si ha tenido lugar la infrautilización en la memoria intermedia hipotética en cada momento cuando se extrae el flujo codificado basándose en información de tasa de bits generada en la codificación de cada imagen; y cuando ha tenido lugar la infrautilización en la memoria intermedia hipotética, incrementar el contador de reintento para cambiar el parámetro de codificación actual a un parámetro de codificación cambiado establecido de acuerdo con el valor del contador de reintento, y recodificar el grupo de imágenes en orden de codificación que se está codificando desde su primera imagen usando el parámetro de codificación cambiado, indicando el valor del contador de reintento el número de veces de recodificación, en donde el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del prefiltro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro se aumentan a medida que se aumenta el valor del contador de reintento, y se reducen el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del prefiltro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro a medida que se reduce el valor del contador de reintento, caracterizado por comprender adicionalmente una etapa de comprobación de una tasa de bits residual de la memoria intermedia hipotética cuando no ha tenido lugar la infrautilización en la memoria intermedia hipotética hasta que no se completa la codificación de una última imagen en el grupo de imágenes en orden de codificación, no cambiar el valor del contador de reintento para no cambiar el parámetro de codificación cambiado cuando la tasa de bits residual es menor que un valor umbral de tasa de bits residual predeterminado o el contador de reintento es 0, y reducir el valor del contador de reintento en 1 para reducir el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del pre-filtro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro que han de usarse para codificar un siguiente grupo de imágenes en orden de codificación siguientes al grupo de imágenes en orden de codificación cuando la tasa de bits residual es mayor o igual al valor umbral de la tasa de bits residual y el contador de reintento no es 0.

Description

DESCRIPCIÓN
Método de control de codificación de imágenes animadas, aparato de codificación de imágenes animadas y programa de codificación de imágenes animadas
Campo técnico
La presente invención se refiere a tecnología de codificación de vídeo para codificar una señal de vídeo de modo que una memoria intermedia hipotética tal como una memoria intermedia de imagen codificada (CPB) en un decodificador hipotético no se colapsa y la degradación de la calidad de imagen no aumenta.
Se reivindica prioridad sobre las Solicitudes de Patente Japonesas N.° 2010-106851, 2010- 106852, 2010-106853, 2010-106854 y 2010-106855, presentadas el 7 de mayo de 2010.
Antecedentes de la técnica
En la codificación de una señal de vídeo, es necesario realizar la codificación de tal manera que un decodificador no colapse. En un esquema de codificación de H.264, se define un decodificador hipotético, HRD (Decodificador de Referencia Hipotético), obtenido modelando un decodificador. Un codificador de H.264 debería realizar codificación de tal manera que el decodificador hipotético no colapse. La presente invención es tecnología para suprimir el colapso de una CPB de un decodificador hipotético, específicamente, la infrautilización de la CPB.
En la Figura 1, se ilustra un diagrama conceptual de la infrautilización de la CPB. En el caso de una tasa de bits constante, se introduce un flujo codificado a la CPB a la tasa de bits, como se indica por una flecha A1. Una cantidad de datos del flujo codificado en la CPB cada vez se denomina como una “tasa de bits residual". El decodificador hipotético extrae el flujo codificado que corresponde a cada imagen de la CPB. En este caso, la tasa de bits residual de CPB se reduce instantáneamente por una tasa de bits que corresponde a la imagen. Se ilustra un caso ilustrativo de la tasa de bits constante, pero el mismo se aplica a un caso de una tasa de bits variable.
La infrautilización de la CPB hace referencia a una situación en la que los flujos codificados de las imágenes son insuficientes en la CPB cuando el decodificador hipotético intenta extraer los flujos codificados de las imágenes en cada tiempo indicado por una flecha A2, como se ilustra en la Figura 1. En la codificación basada en H.264, debería verificarse un estado de la CPB mientras se está realizando la codificación para producir un flujo que no produzca la infrautilización de la CPB. Como se ha descrito anteriormente, la CPB del decodificador hipotético se normaliza en H.264 y se describen detalles adicionales, por ejemplo, en el siguiente Documento No de Patente 1.
Además, el mismo concepto que la CPB también se define en otras normas de codificación. Por ejemplo, en MPEG-2, hay un VBV (verificador de almacenamiento en memoria intermedia de vídeo), y un modelo de memoria intermedia de un decodificador de este tipo que se denomina en el presente documento como “una memoria intermedia hipotética". En la siguiente descripción, una “CPB" puede sustituirse por el término “memoria intermedia hipotética" para su interpretación en un sentido más amplio.
Los métodos de codificación de una señal de vídeo incluyen tecnología de codificación de 1 pasada y tecnología de codificación de múltiples pasadas. En la codificación de 1 pasada, en general, las imágenes de un vídeo de entrada se codifican secuencialmente. Por otra parte, en la codificación de múltiples pasadas, se codifica un vídeo de entrada múltiples veces. En codificación de 2 pasadas, se realiza la segunda codificación usando un resultado de la primera codificación. En lo sucesivo, la técnica relacionada de la codificación de 1 pasada se denomina como la “técnica relacionada a" y la técnica relacionada de codificación de 2 pasadas se denomina como la “técnica relacionada b."
<Técnica relacionada a>
En codificación de 1 pasada, puesto que las imágenes de entrada se codifican secuencialmente, la naturaleza de una imagen futura después de una imagen objetivo de codificación es desconocida. Por consiguiente, aunque existe un intento de suprimir la infrautilización de la CPB usando codificación de 1 pasada, se suprime una tasa de bits generada más de lo necesario y la calidad de vídeo se degrada enormemente más de lo necesario. Por ejemplo, en la tecnología del Documento de patente 1, se usa el grado de complejidad de un vídeo obtenido a partir de un resultado de codificación en el pasado como una estimación del grado de complejidad de otros vídeos de un GOP antes de que se codifique cada imagen. Bajo la premisa de la estimación del grado de complejidad, puede usarse un parámetro de cuantificación que provoca que se estime una tasa de bits máxima para codificar los otros vídeos del GOP y usarse como un valor de límite inferior de un parámetro de cuantificación durante la codificación de la imagen objetivo de codificación. Existe un problema en que la tasa de bits se suprime más de lo necesario, que provoca la degradación de la calidad de vídeo, cuando los otros vídeos del GOP no son complejos en comparación con el grado de complejidad estimado.
<Técnica relacionada b>
En codificación de 2 pasadas, se codifican todas las imágenes de un vídeo de entrada, y se usa una tasa de bits de cada imagen generada en este momento para la segunda codificación. En este método, el grado de complejidad de cada porción del vídeo puede reconocerse en el momento de la segunda codificación, a diferencia del caso de la codificación de 1 pasada. Por consiguiente, puede esperarse que se suprima la infrautilización de la CPB suprimiéndose la degradación de la calidad de vídeo. Por ejemplo, en la tecnología del Documento de patente 2, en la primera codificación, se obtiene el grado de complejidad de cada fotograma y se obtiene una tasa de bits asignada de cada fotograma. También, se verifica si tiene lugar la infrautilización de la CPB con la tasa de bits asignada. Cuando tiene lugar la infrautilización de la CPB, se modifica la tasa de bits asignada. En otras palabras, puesto que se reconoce el grado de complejidad de cada fotograma, la tasa de bits asignada puede modificarse únicamente cuando tiene lugar la infrautilización de la CPB. Como resultado, la infrautilización de la CPB puede suprimirse mientras se mantiene la degradación de la calidad de vídeo más pequeña, en comparación con la técnica relacionada a. Sin embargo, en este método, existe un problema en que una cantidad de cálculo aumenta puesto que todos los fotogramas de un vídeo de entrada necesitan codificarse dos veces.
[Documentos de la técnica anterior]
[Documentos de patente]
[Documento de patente 1] Solicitud de Patente Japonesa sin examinar, Primera Solicitud N.° 2006-295535 [Documento de patente 2] Solicitud de Patente Japonesa sin examinar, Primera Solicitud N.° 2003-018603 [Documento No de Patente]
[Documento No de Patente 1] Kadono, Kikuchi y Suzuki, “H.264/AVC Textbook, Third revised Version” publicado por Impress R & D, 2009, págs. 189-191.
El documento US 7 346 106 B1 (JIANG WENQING [US] ET AL) (18-03-2008) desvela codificación de múltiples pasadas de segmentos de vídeo en los que se repite la codificación de un conjunto de fotogramas adyacentes con parámetro de cuantificación ajustado hasta que no tiene lugar infrautilización de memoria intermedia de decodificador o se ha alcanzado un número máximo de iteraciones. Mediante la recodificación de múltiples fotogramas adyacentes, en lugar de únicamente para el que tiene lugar la infrautilización, se evitan fluctuaciones de calidad.
El documento US 2007/177808 A1 (ANDO TSUTOMU [JP]) (02-08-2007) desvela un mecanismo de control de tasa que evita la infrautilización de memoria intermedia ajustando el parámetro de cuantificación para cada macrobloque dependiendo del nivel de relleno del modelo de memoria intermedia de verificador de memoria intermedia de vídeo (VBV).
Divulgación de la invención
Problema a resolverse por la invención
En la técnica relacionada a anteriormente descrita, puesto que se realiza control de codificación usando únicamente información previamente codificada, tiene lugar enorme degradación de la calidad de vídeo debido a la supresión excesiva de una tasa de bits generada. Por otra parte, de acuerdo con técnica relacionada b, puede suprimirse la infrautilización de la CPB suprimiéndose la degradación de la calidad de vídeo. Sin embargo, en este método, hay un problema en que la cantidad de cálculo es grande puesto que todos los fotogramas de un vídeo de entrada necesitan codificarse dos veces.
Un objeto de la presente invención es realizar calidad de vídeo estable mientras se suprime la infrautilización de la CPB con una cantidad de cálculo menor que la codificación de 2 pasadas convencional (técnica relacionada b) para conseguir el objeto anteriormente descrito.
La invención se define por las reivindicaciones adjuntas.
Medios para resolver el problema
En la descripción de la presente invención, se define un “grupo de imágenes en orden de codificación”. El grupo de imágenes en orden de codificación incluye un número predeterminado de imágenes, siendo una primera imagen una imagen codificada intra predictiva (una imagen I) y es una colección de imágenes sucesivas en un orden de codificación. Un ejemplo típico del grupo de imágenes en orden de codificación es un GOP (Grupo de Imágenes). Se ilustran diagramas conceptuales del grupo de imágenes en orden de codificación en las Figuras 2A a 2D. En las Figuras 2A a 2D, I indica una imagen que es un objetivo de codificación intra predictiva (una imagen I), P indica una imagen que es un objetivo de codificación predictiva hacia adelante (una imagen P), y B indica una imagen que es un objetivo de codificación predictiva bidireccional (una imagen B).
Un orden de visualización de las imágenes se supone que es, por ejemplo, un orden de l^ B ^ P ^ B ^ P ^ B , ..., como se ilustra en la Figura 2A. Si el grupo de imágenes en orden de codificación citado en la presente invención se supone que es un GOP, el grupo de imágenes en orden de codificación se vuelve un grupo de imágenes de l^ P ^ B ^ P ^ ...^ B ^ P (inmediatamente antes de I), como se ilustra en la Figura 2B.
Por ejemplo, cuando el grupo de imágenes en orden de codificación incluye 13 imágenes, 13 imágenes sucesivas en un orden de codificación como se ilustra en la Figura 2C forman el grupo de imágenes en orden de codificación citado en la presente invención. Además, la Figura 2D ilustra un ejemplo en el que un grupo de imágenes en orden de codificación incluye 20 imágenes que corresponden a dos GOP.
Como se ha descrito anteriormente, una colección de imágenes en la que una secuencia de imagen del vídeo de entrada se divide en grupos de un número predeterminado de imágenes sucesivas en un orden de codificación se denomina como el grupo de imágenes en orden de codificación. Además, en este punto, la “imagen" se refiere a un fotograma cuando un vídeo tiene un formato progresivo o se refiere a un fotograma de un campo o un fotograma de un campo superior y un campo inferior cuando un vídeo tiene un formato entrelazado.
Las siguientes realizaciones 1-2 y 4-5 son realizaciones a modo de ejemplo que no son parte de la invención.
La realización 3 es una realización de la invención como se define en las reivindicaciones adjuntas.
En una primera realización de la presente invención, se lleva a cabo la codificación de un vídeo de entrada en unidades de grupos de imágenes en orden de codificación. Sin embargo, se comprueba si una CPB no se colapsa usando un algoritmo de verificación de memoria intermedia predeterminada cada vez que se codifica la imagen de entrada. El parámetro de codificación se cambia de tal manera que una tasa de bits generada se vuelve pequeña únicamente cuando tiene lugar la infrautilización de la CPB, y a continuación el grupo de imágenes en orden de codificación que se está codificando se recodifica. Cuando se completa la codificación del grupo de imágenes en orden de codificación, un resultado de codificación se emite desde una memoria intermedia de salida.
Ejemplos de parámetros de codificación a cambiarse incluyen un parámetro de cuantificación e intensidad de pre­ filtro, y uno o ambos de ellos se cambian. Por ejemplo, cuando el parámetro de codificación es el parámetro de cuantificación, un tamaño de paso del parámetro de cuantificación aumenta de modo que el parámetro de codificación provoca que la tasa de bits generada sea pequeña. Además, cuando se cambia la intensidad de filtro de un pre-filtro para un vídeo de entrada, el grado de desenfoque se cambia para que sea mayor de modo que la tasa de bits generada puede ser pequeña.
Cuando se completa la recodificación del grupo de imágenes en orden de codificación, el parámetro de codificación se restaura a un valor de parámetro de codificación en el momento de codificación normal. Por consiguiente, se suprime la degradación de la calidad de vídeo o se reduce que se extienda a un siguiente grupo de imágenes en orden de codificación. En este punto, el parámetro de codificación en el momento de codificación normal se refiere a un parámetro de codificación determinado en un estado en el que la codificación no se está recodificando.
Además, cuando se completa la recodificación del grupo de imágenes en orden de codificación, el parámetro de codificación no se restaura necesariamente al valor en el momento de codificación normal. Se comprueba una tasa de bits residual de una CPB, y el parámetro de codificación se restaura al valor en el momento de codificación normal únicamente cuando la tasa de bits residual es mayor o igual que un valor umbral predeterminado. Cuando la tasa de bits residual es menor, el parámetro de codificación puede no restaurarse al valor en el momento de codificación normal. Esto hace posible reducir la posibilidad de aparición continua de recodificación.
Además, en la segunda realización de la presente invención, incluso cuando se recodifica el grupo de imágenes en orden de codificación, se comprueba si ha tenido lugar la infrautilización de la CPB cada vez que se codifica cada imagen. Cuando ha tenido lugar la infrautilización de la CPB, se cambia el parámetro de codificación y el grupo de imágenes en orden de codificación que se está codificando actualmente se recodifica de su primera imagen. En otras palabras, el mismo grupo de imágenes en orden de codificación se codifica de manera repetitiva múltiples veces únicamente cuando ha tenido lugar la infrautilización de la CPB.
En este caso, el número de veces que se recodifica un grupo de imágenes en orden de codificación se gestiona usando un parámetro denominado un contador de reintento. Cuando tiene lugar la recodificación, se incrementa un valor del contador de reintento, y cuando se completa la codificación del grupo de imágenes en orden de codificación, se reduce el valor del contador de reintento. El valor del parámetro de codificación anteriormente descrito se establece de acuerdo con el tamaño del contador de reintento, y se usa un valor con el que una tasa de bits generada se hace pequeña a medida que aumenta el contador de reintento. Cuando el parámetro de codificación es el parámetro de cuantificación, el tamaño de paso aumenta a medida que el contador de reintento aumenta. Cuando el parámetro de codificación es la intensidad de filtro del pre-filtro, un grado de desenfoque aumenta a medida que el contador de reintento aumenta.
En general, un vídeo que sirve como un objetivo de codificación incluye una porción compleja y una porción sencilla. Si únicamente se realiza recodificación si un grupo de imágenes en orden de codificación que se vuelve un objetivo de recodificación debido a la infrautilización de la CPB es complejo o sencillo, la infrautilización de la CPB debería suprimirse por una recodificación de este tipo. Por consiguiente, es necesario establecer el parámetro de codificación para recodificación aumentando una cantidad de cambio del parámetro de codificación. Esto puede provocar degradación de la calidad de vídeo excesivamente enorme cuando tiene lugar la recodificación en la porción compleja del vídeo de modo que la infrautilización de la CPB puede evitarse incluso cuando la cantidad de cambio del parámetro de codificación es pequeña. Es decir, puesto que la porción compleja del vídeo (en la que está incluido un número de componentes de alta frecuencia y la correlación en una dirección de tiempo es pequeña) tiene una cantidad absoluta grande de información, la tasa de bits se ve reducida enormemente únicamente con un pequeño cambio en el parámetro de codificación. En otras palabras, una cantidad de cambio en el parámetro de codificación que es demasiado grande degrada innecesariamente la calidad de vídeo.
Como se ha descrito anteriormente, el grupo de imágenes en orden de codificación se codifica de manera repetitiva, se gestiona el contador de reintento, y el parámetro de codificación se establece de acuerdo con un tamaño del contador de reintento únicamente cuando tiene lugar la infrautilización de la CPB. Por consiguiente, se suprime una cantidad de cambio del parámetro de codificación para que sea pequeña y se realiza codificación con un parámetro de codificación apropiado, reduciendo de esta manera la degradación de la calidad de vídeo.
En una tercera realización de la presente invención, cuando se completa la codificación del grupo de imágenes en orden de codificación, el valor del contador de reintento no se reduce incondicionalmente, sino que el contador de reintento se reduce únicamente cuando la tasa de bits residual de CPB es mayor o igual que un valor umbral predeterminado en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación.
El valor del parámetro de codificación anteriormente descrito se establece de acuerdo con un tamaño del contador de reintento, y se usa un valor con el que una tasa de bits generada se hace pequeña a medida que aumenta el contador de reintento. Cuando el parámetro de codificación es el parámetro de cuantificación, el tamaño de paso aumenta a medida que el contador de reintento aumenta. Cuando el parámetro de codificación es la intensidad de filtro del pre-filtro, el grado de desenfoque aumenta a medida que el contador de reintento aumenta.
En general, un vídeo que sirve como un objetivo de codificación incluye una porción compleja y una porción sencilla. Si únicamente se realiza recodificación si un grupo de imágenes en orden de codificación que se vuelve un objetivo de recodificación debido a la infrautilización de la CPB es complejo o sencillo, la infrautilización de la CPB debería suprimirse por una recodificación de este tipo. Por consiguiente, es necesario establecer el parámetro de codificación para recodificación aumentando una cantidad de cambio del parámetro de codificación. Esto puede provocar degradación de la calidad de vídeo excesivamente enorme cuando tiene lugar la recodificación en la porción compleja del vídeo de modo que la infrautilización de la CPB puede evitarse incluso cuando la cantidad de cambio del parámetro de codificación es pequeña. Es decir, puesto que la porción compleja del vídeo (en la que está incluido un número de componentes de alta frecuencia y la correlación en una dirección de tiempo es pequeña) tiene una cantidad absoluta grande de información, la tasa de bits se ve reducida enormemente únicamente con un pequeño cambio en el parámetro de codificación. En otras palabras, una cantidad de cambio en el parámetro de codificación que es demasiado grande degrada innecesariamente la calidad de vídeo.
Como se ha descrito anteriormente, el grupo de imágenes en orden de codificación se codifica de manera repetitiva, se gestiona el contador de reintento, y el parámetro de codificación se establece de acuerdo con el tamaño del contador de reintento únicamente cuando tiene lugar la infrautilización de la CPB. Por consiguiente, se suprime una cantidad de cambio del parámetro de codificación para que sea pequeña y se realiza codificación con un parámetro de codificación apropiado, reduciendo de esta manera la degradación de la calidad de vídeo.
Además, se reduce una influencia de degradación de la calidad de vídeo en un siguiente grupo de imágenes en orden de codificación básicamente reduciendo el contador de reintento en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación después de que aumenta el contador de reintento y se realiza la codificación en el momento de recodificación. Sin embargo, cuando la tasa de bits residual de CPB es menor que la cantidad predeterminada, no se reduce el contador de reintento. Por consiguiente, es menos probable que tenga lugar la recodificación incluso en la codificación del siguiente grupo de imágenes en orden de codificación.
Además, en una cuarta realización de la presente invención, el grupo de imágenes en orden de codificación puede no ser necesariamente un GOP, sino que la primera imagen en el grupo de imágenes en orden de codificación es la imagen codificada intra predictiva (la imagen I). En esta realización, la codificación de un vídeo de entrada se lleva a cabo en unidades de grupos de imágenes en orden de codificación. Sin embargo, se comprueba si la CPB se colapsa usando un algoritmo de verificación de memoria intermedia predeterminada cada vez que se codifica una imagen de entrada. Cuando ha tenido lugar la infrautilización de la c Pb , se cambia el parámetro de codificación de tal manera que una tasa de bits generada se hace pequeña, y la recodificación desde una posición del grupo de imágenes en orden de codificación se establece como un punto de reintento (que se describirá a continuación). Un resultado de codificación se emite desde una memoria intermedia de salida cuando se completa la codificación del grupo de imágenes en orden de codificación y se determina que no se realice recodificación.
Ejemplos de los parámetros de codificación a cambiarse incluyen un parámetro de cuantificación e intensidad de pre-filtro, y se cambian uno o ambos de ellos. Por ejemplo, cuando el parámetro de codificación es el parámetro de cuantificación, un tamaño de paso del parámetro de cuantificación aumenta de modo que el parámetro de codificación provoca que la tasa de bits generada sea pequeña. Además, cuando se cambia la intensidad de filtro de un pre-filtro para un vídeo de entrada, el grado de desenfoque se cambia para que sea mayor de manera que la tasa de bits generada puede ser pequeña.
Cuando se completa la recodificación del grupo de imágenes en orden de codificación, el parámetro de codificación se restaura a un valor de parámetro de codificación en el momento de codificación normal. Por consiguiente, se suprime la degradación de la calidad de vídeo que se extienda a un siguiente grupo de imágenes en orden de codificación. En este punto, el parámetro de codificación en el momento de codificación normal se refiere a un parámetro de codificación determinado en un estado en el que la codificación no se está recodificando.
Además, cuando se completa la recodificación del grupo de imágenes en orden de codificación, el parámetro de codificación no se restaura necesariamente al valor en el momento de codificación normal. Se comprueba una tasa de bits residual de la CPB. El parámetro de codificación se restaura al valor en el momento de codificación normal únicamente cuando la tasa de bits residual es mayor o igual que un valor umbral predeterminado, y cuando la tasa de bits residual es menor, el parámetro de codificación puede no restaurarse al valor en el momento de codificación normal. Esto hace posible reducir la posibilidad de aparición continua de recodificación.
El punto de reintento anteriormente descrito se refiere a información de posición que indica una imagen desde la que se inicia la recodificación cuando la recodificación es necesaria debido a la aparición de la infrautilización de la CPB en una cierta imagen.
El punto de reintento es básicamente una primera imagen en un grupo de imágenes en orden de codificación actualmente codificado, pero puede ser una primera imagen en un grupo de imágenes en orden de codificación previamente codificado de manera próxima. El punto de reintento se actualiza en el siguiente caso.
(1) Cuando la tasa de bits residual de CPB es mayor o igual que un valor umbral predeterminado en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación, el punto de reintento se establece como una primera imagen (una imagen I) en el siguiente grupo de imágenes en orden de codificación. (2) Cuando la tasa de bits residual de CPB es menor que el valor umbral predeterminado en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación, el punto de reintento queda sin cambiar y la codificación se lleva a cabo en la primera imagen en el siguiente grupo de imágenes en orden de codificación. Cuando no ha tenido lugar la infrautilización de la CPB en la codificación de la primera imagen en el grupo de imágenes en orden de codificación, el punto de reintento se establece a la primera imagen en el grupo de imágenes en orden de codificación actualmente codificado.
Se describirá una razón para establecer el punto de reintento como se ha descrito anteriormente. Si el punto de reintento se establece siempre a la primera imagen del grupo de imágenes en orden de codificación actualmente codificado, una configuración de procesamiento es más sencilla que la presente invención. En lo sucesivo, esta tecnología se denomina como “técnica relacionada". Incluso en el caso de la técnica relacionada, un correspondiente grupo de imágenes en orden de codificación se recodifica únicamente cuando ha tenido lugar la infrautilización de la CPB. Por consiguiente, la infrautilización de la CPB puede suprimirse, puede reducirse el cálculo en comparación con la técnica relacionada b en la que todas las imágenes de un vídeo de entrada se codifican dos veces, y puede realizarse control de distribución de tasa de bits eficaz.
Como es bien conocido, una imagen I tiene una tasa de bits generada más grande que otros tipos de imágenes. Por consiguiente, cuando una tasa de bits residual de CPB en un momento en el que se completa la codificación de un cierto grupo de imágenes en orden de codificación es pequeña, la infrautilización de la CPB es altamente probable que tenga lugar en una imagen I que es una primera imagen de un siguiente grupo de imágenes en orden de codificación. En este caso, en la técnica relacionada anterior, existe un riesgo de que la calidad de vídeo de la imagen I se degrade enormemente puesto que la infrautilización de la CPB podría evitarse decodificando únicamente la imagen I que es la primera imagen en el que ha tenido lugar la infrautilización de la CPB.
En la presente realización, si la tasa de bits residual de CPB es pequeña y ha tenido lugar la infrautilización de la CPB en la imagen I que es una primera imagen del siguiente grupo de imágenes en orden de codificación, un grupo de imágenes en orden de codificación inmediatamente anterior se recodifica a partir de su primera imagen por un punto de reintento de ajuste. Por consiguiente, puede evitarse la aparición de gran degradación de la calidad de vídeo en una primera imagen.
En una quinta realización de la presente invención, un fotograma del vídeo de entrada no siempre se codifica dos veces para suprimir la infrautilización de la CPB, a diferencia de la codificación de 2 pasadas de la técnica relacionada. Básicamente, se usa codificación de 1 pasada, y únicamente se traza de nuevo una pluralidad de imágenes y se recodifican únicamente cuando ha tenido lugar la infrautilización de la CPB.
Además, en la presente realización, cuando ha tenido lugar la infrautilización de la CPB en la codificación de la imagen en el grupo de imágenes en orden de codificación, ciertas imágenes del grupo de imágenes en orden de codificación se trazan de nuevo y se recodifican. Las imágenes trazadas de nuevo y recodificadas se determinan con antelación por la cantidad de memoria disponible para recodificación. En este punto, el número máximo de imágenes que puede trazarse de nuevo en el momento de recodificación se define como “una distancia inter-imagen máxima" en la descripción.
Una vista general del proceso en la presente realización es como sigue. En primer lugar, se obtiene el número máximo de imágenes que puede trazarse de nuevo en el momento de recodificación basándose en información de la cantidad de memoria disponible dada desde el exterior, y se almacena como la distancia inter-imagen máxima.
Esto es por la siguiente razón. Para recodificación, es necesario mantener una señal de vídeo de una imagen objetivo de codificación en una memoria intermedia de entrada y mantener los flujos codificados de un resultado de codificación en una memoria intermedia de salida hasta que la salida del resultado de codificación de la memoria intermedia de salida finalice después de que se determina que las imágenes son imágenes que no se han de recodificar. Si la cantidad de memoria disponible es suficiente, cada una de la memoria intermedia de entrada y la memoria intermedia de salida tiene una capacidad de memoria que corresponde al número de imágenes en el grupo de imágenes en orden de codificación, de manera que puede realizarse recodificación en el momento de aparición de la infrautilización de la CPB a partir de la primera imagen en el grupo de imágenes en orden de codificación en unidades de grupos de imágenes en orden de codificación.
Sin embargo, puesto que la memoria no puede usarse necesariamente según se necesite, la distancia inter-imagen máxima, que es el número máximo de imágenes que pueden trazarse de nuevo en el momento de recodificación, se calcula a partir de la cantidad de memoria disponible con antelación.
En la presente realización, se lleva a cabo la codificación de un vídeo de entrada en unidades de grupos de imágenes en orden de codificación. Sin embargo, se comprueba si la CPB se colapsará o no usando un algoritmo de verificación de memoria intermedia predeterminada cada vez que se codifica una imagen de entrada. Se cambia el parámetro de codificación de tal manera que una tasa de bits generada se hace pequeña y el grupo de imágenes en orden de codificación que se están codificando se recodifica únicamente cuando tiene lugar una infrautilización de la CPB. Sin embargo, en el grupo de imágenes en orden de codificación que se están codificando, se trazan de nuevo y se recodifican imágenes que satisfacen las siguientes tres condiciones.
• Condición 1: la imagen está incluida en el grupo de imágenes en orden de codificación que se está codificando.
• Condición 2: la imagen está incluida en la distancia inter-imagen máxima desde una imagen en la que ha tenido lugar la infrautilización de la CPB.
• Condición 3: la imagen es una imagen que está más alejada de la imagen en la que ha tenido lugar la infrautilización de la CPB, entre imágenes que satisfacen las condiciones 1 y 2.
Una imagen a partir de la cual se inicia la recodificación se denomina como un punto de reintento. Por ejemplo, si la primera imagen en la distancia inter-imagen máxima está en un grupo de imágenes en orden de codificación inmediatamente anterior, el punto de reintento es la primera imagen en el grupo de imágenes en orden de codificación que se está codificando actualmente, y de otra manera, el punto de reintento es la primera imagen en la distancia inter-imagen máxima, es decir, la imagen codificada más anterior separada por la distancia inter-imagen máxima.
Ejemplos de los parámetros de codificación a cambiarse en el momento de recodificación incluyen un parámetro de cuantificación e intensidad de pre-filtro, y uno o ambos de ellos se cambian. Por ejemplo, en el caso del parámetro de cuantificación, un tamaño de paso del parámetro de cuantificación aumenta de modo que el parámetro de codificación provoca que la tasa de bits generada sea pequeña. Además, cuando se cambia la intensidad de filtro del pre-filtro para un vídeo de entrada, el grado de desenfoque se cambia para que sea mayor de modo que la tasa de bits generada puede ser pequeña.
Cuando la codificación del grupo de imágenes en orden de codificación que se está codificando actualmente se completa mediante recodificación, el parámetro de codificación se restaura a un valor de parámetro de codificación en el momento de codificación normal, suprimiendo por lo tanto que la degradación de la calidad de vídeo se extienda a un siguiente grupo de imágenes en orden de codificación. En este punto, el parámetro de codificación en el momento de codificación normal se refiere a un parámetro de codificación determinado en un estado en el que la codificación no se está recodificando.
Además, cuando se completa la recodificación del grupo de imágenes en orden de codificación, el parámetro de codificación no se restaura necesariamente al valor en el momento de codificación normal, sino que puede comprobarse una tasa de bits residual de la CPB y el parámetro de codificación puede restaurarse al valor en el momento de codificación normal únicamente cuando la tasa de bits residual es mayor o igual que un valor umbral predeterminado y puede no restaurarse al valor en el momento de codificación normal cuando la tasa de bits residual es menor que el valor umbral predeterminado. Esto hace posible reducir la posibilidad de aparición continua de recodificación.
Efecto de la invención
De acuerdo con la primera realización de la presente invención, el grupo de imágenes en orden de codificación se codifica dos veces únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la codificación de 2 pasadas convencional (técnica relacionada b) en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de recodificación, se realiza la codificación con un parámetro de codificación para suprimir la infrautilización de la CPB. Por consiguiente, la cantidad de cálculo puede reducirse en comparación con la técnica relacionada b mientras que se suprime la infrautilización de la CPB como en la técnica relacionada b únicamente cuando es necesario.
De acuerdo con la segunda y tercera realizaciones de la presente invención, el grupo de imágenes en orden de codificación se codifica múltiples veces únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la codificación de 2 pasadas (técnica relacionada b) en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de recodificación, se realiza la codificación con un parámetro de codificación para suprimir la infrautilización de la CPB, como en la primera realización. Por consiguiente, puede reducirse una cantidad de cálculo en comparación con la técnica relacionada b suprimiéndose la infrautilización de la CPB como en la técnica relacionada b únicamente cuando es necesario.
En la segunda y tercera realizaciones de la presente invención, la cantidad de cambio del parámetro de codificación en el momento de recodificación se suprime para que sea pequeña gestionando el contador de reintento, suprimiendo de esta manera la infrautilización de la CPB. Por consiguiente, es posible reducir la degradación de la calidad de vídeo debido a la recodificación.
En particular, de acuerdo con la tercera de las realizaciones de la presente invención, cuando la tasa de bits residual de CPB después de la recodificación es pequeña, el parámetro de codificación se mantiene para que sea el mismo que en el momento de la recodificación, suprimiendo de esta manera la reaparición de la recodificación.
Además, de acuerdo con la cuarta realización de la presente invención, el grupo de imágenes en orden de codificación se codifica dos veces únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la codificación de 2 pasadas convencional (técnica relacionada b) en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de recodificación, se realiza la codificación con un parámetro de codificación para suprimir la infrautilización de la CPB. Por consiguiente, puede reducirse una cantidad de cálculo en comparación con la técnica relacionada b mientras que se suprime la infrautilización de la CPB como en la técnica relacionada b únicamente cuando es necesario.
En particular, de acuerdo con la cuarta realización de la presente invención, es posible evitar que la calidad de vídeo de la primera imagen I en el grupo de imágenes en orden de codificación se degrade enormemente puesto que puede suprimirse de manera eficaz la aparición de la infrautilización de la CPB de la primera imagen I en la que una tasa de bits generada es grande en el grupo de imágenes en orden de codificación.
De acuerdo con la quinta realización de la presente invención, el grupo de imágenes en orden de codificación se recodifica a partir de una imagen determinada como el punto de reintento únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la codificación de 2 pasadas convencional (técnica relacionada b) en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de recodificación, se realiza la codificación con un parámetro de codificación para suprimir la infrautilización de la CPB. Por consiguiente, puede reducirse una cantidad de cálculo en comparación con la técnica relacionada b suprimiéndose la infrautilización de la CPB como en la técnica relacionada b únicamente cuando es necesario. Además, puesto que se realiza la recodificación a partir del punto de reintento determinado de acuerdo con una cantidad de memoria requerida para recodificación, puede usarse eficazmente la memoria.
Breve descripción de los dibujos
Las siguientes Figuras 3-4, 6-7, 9-10 y 14-21 son ilustrativas de realizaciones a modo de ejemplo que no son parte de la invención.
Las Figuras 11-13 son ilustrativas de una realización de la invención como se define en las reivindicaciones adjuntas.
La Figura 1 es un gráfico que ilustra infrautilización de la CPB.
La Figura 2A es un diagrama conceptual que ilustra imágenes en un orden de codificación.
La Figura 2B es un diagrama conceptual que ilustra un grupo de imágenes en orden de codificación cuando es un GOP.
La Figura 2C es un diagrama conceptual que ilustra un grupo de imágenes en orden de codificación cuando incluye 13 imágenes.
La Figura 2D es un diagrama conceptual que ilustra un grupo de imágenes en orden de codificación cuando incluye 20 imágenes que corresponde a dos GOP.
La Figura 3 es un diagrama de flujo que ilustra un método de control de codificación de vídeo de acuerdo con una primera realización.
La Figura 4 es un diagrama de flujo de una variante del método de control de codificación de vídeo de acuerdo con la primera realización.
La Figura 5 es un diagrama conceptual de un GOP.
La Figura 6 es un diagrama de bloques que ilustra un aparato de codificación de vídeo de acuerdo con la primera realización.
La Figura 7 es un diagrama conceptual de un cambio en un parámetro de codificación cando se realiza recodificación de acuerdo con una realización.
La Figura 8 es un gráfico que ilustra la transición de una tasa de bits residual de CPB cuando se realiza recodificación de acuerdo con la realización de la presente invención.
La Figura 9 es un diagrama de flujo de un método de control de codificación de vídeo de acuerdo con una segunda realización.
La Figura 10 es un diagrama de bloques que ilustra un aparato de codificación de vídeo de acuerdo con la segunda realización.
La Figura 11 es un diagrama conceptual de la transición de un contador de reintento y un parámetro de codificación realizados de acuerdo con la realización de la presente invención.
La Figura 12 es un diagrama de flujo de un método de control de codificación de vídeo de acuerdo con una tercera realización de la presente invención.
La Figura 13 es un diagrama de bloques que ilustra un aparato de codificación de vídeo de acuerdo con la tercera realización de la presente invención.
La Figura 14 es un diagrama de flujo que ilustra un método de control de codificación de vídeo de acuerdo con una cuarta realización.
La Figura 15 es un diagrama de flujo de una variante del método de control de codificación de vídeo de acuerdo con la realización.
La Figura 16 es un diagrama de bloques que ilustra un aparato de codificación de vídeo de acuerdo con la cuarta realización.
La Figura 17 es un diagrama de flujo que ilustra un método de control de codificación de vídeo de acuerdo con una quinta realización.
La Figura 18 es un diagrama de flujo de una variante del método de control de codificación de vídeo de acuerdo con la quinta realización.
La Figura 19 es un diagrama de bloques que ilustra un aparato de codificación de vídeo de acuerdo con la quinta realización.
La Figura 20 es un diagrama conceptual que ilustra una cantidad de memoria requerida para una imagen de referencia en la quinta realización.
La Figura 21 es un diagrama que ilustra reducción de memoria de una memoria intermedia de entrada y una memoria intermedia de salida a través de la limitación de un punto de reintento a una distancia inter-imagen máxima en la quinta realización.
Realizaciones para llevar a cabo la invención
En lo sucesivo, se describirán realizaciones en detalle con referencia a los dibujos.
<Primera realización
La Figura 3 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con una primera realización.
En primer lugar, se establece una imagen siguiente a una imagen para la que ha finalizado la codificación en una señal de vídeo de entrada como un objetivo de codificación (etapa S101). La imagen de entrada establecida como el objetivo de codificación se codifica usando H.264 o cualesquiera de otros esquemas de codificación predeterminados (etapa S102). Se realiza una determinación en cuanto a si tiene lugar infrautilización de la CPB debido a codificación de la imagen de entrada (etapa S103). Si tiene lugar la infrautilización de la CPB, el proceso continúa a la etapa S107. Además, puede realizarse una determinación en cuanto a si ha tenido lugar la infrautilización de la CPB, por ejemplo, usando un método usado en la norma H.264.
Si no tiene lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si está completada la codificación de una última imagen (etapa S104). Si la codificación de la última imagen está completada, el proceso de codificación finaliza.
De otra manera, se realiza una determinación en cuanto a si está completada la codificación del grupo de imágenes en orden de codificación (etapa S5). Si la codificación del grupo de imágenes en orden de codificación no está completada, el proceso se restaura a la etapa S101 en la que el proceso de codificación continúa para que se realice de manera similar en una siguiente imagen. Si la codificación del grupo de imágenes en orden de codificación está completada y el parámetro de codificación se ha cambiado debido a la recodificación (reintento) del grupo de imágenes en orden de codificación, el parámetro de codificación se restaura a un valor en el momento de codificación normal (etapa S106) y el proceso vuelve a la etapa S101 en la que se realiza el proceso de codificación desde una primera imagen de un siguiente grupo de imágenes en orden de codificación.
Si se determina que ha de tener lugar la infrautilización de la CPB en la etapa S103, se realiza una determinación en cuanto a si el grupo de imágenes en orden de codificación actual se ha recodificado (el reintento se ha completado) (etapa S107). Si el reintento se ha completado, la infrautilización de la CPB no podría evitarse incluso cuando se recodifica el grupo de imágenes en orden de codificación. Por consiguiente, la codificación finaliza. Si el reintento no se ha completado, la primera imagen en el grupo de imágenes en orden de codificación actual se establece como un objetivo de codificación para recodificar el grupo de imágenes en orden de codificación actual (etapa S108). También, uno o ambos de dos parámetros de codificación (el parámetro de cuantificación y la intensidad de pre­ filtro) se cambian (para el parámetro de cuantificación, se cambia un tamaño de paso para que sea mayor, y para la intensidad de filtro, se cambia un grado de desenfoque para que sea mayor) (etapa S109). El proceso vuelve a la etapa S102 en la que el grupo de imágenes en orden de codificación que se está codificando se recodifica.
En otras palabras, el grupo de imágenes en orden de codificación (por ejemplo, un GOP) se codifica dos veces únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la técnica relacionada b en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de la segunda codificación, se realiza la codificación usando un parámetro de codificación para suprimir la infrautilización de la CPB. Un correspondiente grupo de imágenes en orden de codificación se recodifica para suprimir la infrautilización de la CPB únicamente cuando ha tenido lugar la infrautilización de la CPB. Por consiguiente, puede reducirse una cantidad de cálculo, en comparación con la técnica relacionada b en la que todas las imágenes del vídeo de entrada se codifican dos veces.
La Figura 4 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con una variante de la presente realización. La presente variante puede realizarse sustituyendo el proceso de la etapa S106 ilustrada en la Figura 3 por un proceso de las etapas S161 a S163 ilustradas en la Figura 4. Los procesos distintos de la etapa S106 son similares a aquellos en la Figura 3.
Se realiza una determinación en cuanto a si el parámetro de codificación se ha cambiado debido al reintento después del proceso de la etapa S105 en la Figura 3 (etapa S161). Si el parámetro de codificación no se ha cambiado debido al reintento, el proceso vuelve a la etapa S101 en la Figura 3. Si el parámetro de codificación se ha cambiado debido al reintento, entonces se realiza una determinación en cuanto a si la tasa de bits residual de CPB es mayor o igual que un valor umbral predeterminado (etapa S162). Si la tasa de bits residual de CPB es menor que el valor umbral predeterminado, el parámetro de codificación se mantiene como el usado para la recodificación. El parámetro de codificación se restaura a un parámetro de codificación por defecto original únicamente cuando la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado (etapa S163). A continuación, el proceso vuelve a la etapa S101 en la Figura 3 en la que se lleva a cabo la codificación del siguiente grupo de imágenes en orden de codificación.
En la variante ilustrada en la Figura 4, el parámetro de codificación se restaura al valor en el momento de codificación normal únicamente cuando la tasa de bits residual de CPB supera la cantidad predeterminada en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación como se ha descrito anteriormente. Esto es por la siguiente razón. Si la tasa de bits residual de CPB es pequeña incluso cuando se completa la codificación del grupo de imágenes en orden de codificación, la restauración del parámetro de codificación al valor en el momento de codificación normal aumenta una tasa de bits generada, y por consiguiente la infrautilización de la CPB es altamente probable que tenga lugar en la codificación del siguiente grupo de imágenes en orden de codificación. En el proceso de la Figura 4, si la tasa de bits residual de CPB es pequeña, el parámetro de codificación no se cambia de manera que la aparición de la recodificación se suprime en la codificación del siguiente grupo de imágenes en orden de codificación y una cantidad de cálculo se reduce adicionalmente, en comparación con el proceso de la Figura 3.
En la presente realización, se cambia el parámetro de codificación en el momento de la recodificación, como se ha descrito anteriormente. En este punto, un pre-filtro se aplica al vídeo de entrada en el momento de codificación y los parámetros de codificación a cambiarse son un parámetro de cuantificación e intensidad de pre-filtro. Ambos de los parámetros de codificación pueden cambiarse o uno cualquiera de ellos puede cambiarse.
Para el parámetro de cuantificación, un valor de desplazamiento predeterminado se añade al valor de parámetro de cuantificación en el momento de codificación normal y se realiza la recodificación usando el parámetro de cuantificación más grande.
Para el pre-filtro, se usa un filtro gaussiano en la presente realización. El filtro gaussiano puede producirse muestreando una distribución gaussiana mostrada en la siguiente ecuación con respecto a x e y.
g(x, y) = {l/(2na2)}xexp{-(x2+ y2)/(2a2)} ••• (1)
Como puede observarse a partir de la ecuación anterior, un grado de desenfoque aumenta a medida que aumenta un valor de a. Puesto que se reduce un componente de alta frecuencia a medida que el grado de desenfoque aumenta, se reduce la tasa de bits generada en el momento de codificación. Los detalles del filtro gaussiano se describen, por ejemplo, en el siguiente Documento de Referencia 1. [Documento de Referencia 1]: Okutomi, Ozawa, Shimizu y Hori, “Digital Image Processing", Corporation Picture Information Education Advancement Association, 2006, págs. 108-110.
Cuando a es igual a 0, no se aplica el filtro Gaussiano, y por ejemplo, un parámetro de codificación por defecto a o= 0 y el parámetro de codificación para recodificación ai > 0. Además, en la presente realización, un tipo de filtro de paso bajo no tiene importancia. Además, cómo se intensifica el grado de desenfoque en el momento de recodificación puede determinarse de manera arbitraria con antelación. Por ejemplo, el parámetro de codificación por defecto ao se cambia de acuerdo con el grado de complejidad de cada imagen y ai es un resultado de adición de un desplazamiento predeterminado a ao.
Se realiza la codificación de acuerdo con la norma de H.264. Además, en la presente realización, el grupo de imágenes en orden de codificación es un GOP, y se ilustra un diagrama conceptual del GOP cuando se codifica en la Figura 5. Un GOP incluye 10 imágenes, y las imágenes B y las imágenes P alinean de manera alterna en orden de visualización, siendo una imagen I una primera imagen.
Un ejemplo de una configuración del aparato de la primera realización se ilustra en la Figura 6. Una memoria intermedia de entrada 110 almacena una señal de vídeo de entrada y emite una señal de vídeo que es un objetivo de codificación a una unidad de codificación 120. Además, cuando la memoria intermedia de entrada 110 recibe información que indica que se ha de realizar recodificación debido a la aparición de infrautilización de la CPB (información de reintento), desde una unidad de gestión de CPB 140, que se describirá a continuación, la memoria intermedia de entrada 110 emite la señal de vídeo desde una primera imagen en el GOP que se está codificando a la unidad de codificación 120 de nuevo. Además, cuando la codificación de GOP está completada sin recepción de la información de reintento, la memoria intermedia de entrada 110 descarta la señal de vídeo almacenada del GOP.
La unidad de codificación 120 codifica la señal de vídeo introducida desde la memoria intermedia de entrada 110 y emite un flujo codificado a la memoria intermedia de salida 130. Además, la unidad de codificación 120 emite una tasa de bits (información de tasa de bits) generada cuando se ha codificado la señal de vídeo de entrada a la unidad de gestión de CPB 140. Además, cuando la unidad de codificación 120 recibe la información de reintento desde la unidad de gestión de CPB 140, la señal de vídeo desde la primera imagen en el GOP que se está codificando se introduce desde la memoria intermedia de entrada 110 de nuevo y un parámetro de codificación para recodificación se introduce desde una unidad de ajuste de parámetro 150. Por consiguiente, la unidad de codificación 120 realiza recodificación usando el parámetro de codificación de entrada para recodificación.
La memoria intermedia de salida 130 emite los flujos codificados del GOP en una etapa en la que los flujos codificados del GOP se han almacenado todos, y descarta los flujos codificados almacenados del GOP que se está codificando cuando la información de reintento se recibe desde la unidad de gestión de CPB 140.
La unidad de gestión de CPB 140 obtiene la tasa de bits residual de CPB cambiada con el tiempo usando la información de tasa de bits introducida desde la unidad de codificación 120. En otras palabras, la unidad de gestión de CPB 140 obtiene la tasa de bits residual de CPB ilustrada en el diagrama conceptual de la Figura 1. Cuando tiene lugar la infrautilización de la CPB, la unidad de gestión de CPB 140 emite la información de reintento a la memoria intermedia de entrada 110, la unidad de codificación 120, la unidad de ajuste de parámetro 150, y la memoria intermedia de salida 130 para señalizar que ha tenido lugar la infrautilización de la CPB.
Cuando la unidad de ajuste de parámetro 150 recibe la información de reintento desde la unidad de gestión de CPB 140, la unidad de ajuste de parámetro 150 introduce el parámetro de codificación para recodificación a la unidad de codificación 120 como se ha descrito anteriormente. Por consiguiente, la unidad de codificación 120 realiza la codificación del mismo GOP usando el parámetro de codificación con el que se reduce una tasa de bits generada, en el momento de recodificación.
Un flujo del proceso de codificación en la presente realización se describirá con referencia al diagrama de flujo de la Figura 3. En lo sucesivo, la correspondencia del diagrama de flujo de la Figura 3 se describe como S101, S102,..., y así sucesivamente.
Se describirán los siguientes tres casos de un proceso de codificación en un cierto GOP.
• [Caso 1]: La infrautilización de la CPB no ha tenido lugar en la codificación del GOP.
• [Caso 2]: La infrautilización de la CPB ha tenido lugar en la codificación del GOP y podría evitarse en la recodificación.
• [Caso 3]: Ha tenido lugar la infrautilización de la CPB en la codificación del GOP y no podría evitarse incluso en la recodificación.
[Ejemplo de proceso del caso 1]
En primer lugar, se describirá el caso 1 en el que la infrautilización de la CPB no ha tenido lugar en la codificación del GOP. Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 110, la memoria intermedia de entrada 110 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 120 (S101). También, la unidad de codificación 120 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 130 (la memoria intermedia de salida 130 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 140 (S102).
En este punto, se usa un parámetro de codificación por defecto para codificar, y se aplica un proceso de filtración en la unidad de pre-filtro 121 a la imagen objetivo de codificación con intensidad de pre-filtro que corresponde al parámetro de codificación por defecto, y un coeficiente de DCT (Transformada de Coseno Discreta) generado en la imagen actual se cuantifica por una unidad de cuantificación 122 usando el parámetro de cuantificación de acuerdo con el parámetro de codificación por defecto.
La unidad de gestión de CPB 140 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 120. En este ejemplo, puesto que no ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 140 no emite información de reintento (S103). Cuando la imagen objetivo de codificación es una última imagen de la señal de vídeo de entrada, la memoria intermedia de salida 130 emite el flujo codificado almacenado, y el proceso de codificación se completa (S104). Como alternativa, si la imagen objetivo de codificación es la última imagen del GOP, la memoria intermedia de salida 130 emite el flujo codificado almacenado, la memoria intermedia de entrada 110 descarta la imagen almacenada, y el proceso continúa al proceso de codificación de una primera imagen en un siguiente GOP (S105). En este punto, puesto que la recodificación no tiene lugar en el GOP, el parámetro de codificación no se cambia y el proceso continúa al proceso de codificación de la primera imagen en el siguiente GOP (S106).
[Ejemplo de proceso del caso 2]
A continuación, se describirá el caso 2 en el que ha tenido lugar la infrautilización de la CPB en la codificación del GOP y podría evitarse en la recodificación. Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 110, la memoria intermedia de entrada 110 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 120 (S101). También, la unidad de codificación 120 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 130 (la memoria intermedia de salida 130 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 140 (S102). En este punto, se usa un parámetro de codificación por defecto en la codificación.
La unidad de gestión de CPB 140 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 120. Como resultado, cuando la unidad de gestión de CPB 140 detecta la infrautilización de la CPB para la imagen, la unidad de gestión de CPB 140 emite información de reintento a la unidad de codificación 120, la unidad de ajuste de parámetro 150, la memoria intermedia de entrada 110, y la memoria intermedia de salida 130 (S103).
Cuando el reintento no ha tenido lugar aún para el GOP que se está codificando (S107), la memoria intermedia de entrada 110 emite una primera imagen del GOP almacenado que se está codificando a la unidad de codificación 120 (S108) y la unidad de ajuste de parámetro 150 emite el parámetro de codificación para recodificación a la unidad de codificación 120 (S109). Además, la memoria intermedia de salida 130 descarta el flujo codificado del GOP que se está codificando. También, la unidad de codificación 120 codifica la primera imagen en el GOP introducido usando el parámetro de codificación para recodificación.
En este punto, el parámetro de codificación para recodificación se usa en la codificación, se aplica un proceso de pre-filtración en la unidad de pre-filtro 121 a la imagen objetivo de codificación con intensidad de pre-filtro que corresponde al parámetro de codificación para recodificación (un grado de desenfoque es mayor que el parámetro de codificación por defecto), y un coeficiente de DCT generado en la imagen actual se cuantifica por la unidad de cuantificación 122 usando el parámetro de cuantificación de acuerdo con el parámetro de codificación para recodificación (el tamaño de paso de cuantificación es mayor que el parámetro de codificación por defecto).
Entonces, las imágenes del GOP se introducen secuencialmente desde la memoria intermedia de entrada 110 a la unidad de codificación 120 y el proceso de codificación se realiza por la unidad de codificación 120 únicamente cuando no tiene lugar la infrautilización de la CPB. También, cuando la codificación de la última imagen del GOP está completada (S105), se emite un flujo codificado del GOP desde la memoria intermedia de salida 130, la unidad de codificación 120 establece el parámetro de codificación al parámetro de codificación por defecto (S106), y el proceso continúa a la codificación de un siguiente proceso de GOP. Además, una operación cuando la codificación de la última imagen del vídeo de entrada está completada es similar a la de en el caso 1 anteriormente descrito. Un diagrama conceptual de un cambio en el parámetro de codificación cuando se realiza la recodificación se ilustra en la Figura 7. En el ejemplo de la Figura 7, puesto que la infrautilización de la CPB tiene lugar al codificar una sexta imagen del segundo GOP2, se establece el parámetro de codificación para la recodificación para suprimir una tasa de bits generada y GOP2 se recodifica desde su primera imagen I. A continuación, puesto que se inhibe la aparición de la infrautilización de la CPB debido a la recodificación, el parámetro de codificación para recodificación se restaura al parámetro de codificación por defecto al codificar el siguiente GOP3 y se continúa el proceso de codificación.
Un diagrama conceptual de la transición de la tasa de bits residual de CPB cuando se realiza la recodificación se ilustra en la Figura 8. Una línea indicada por una línea en negrita es una tasa de bits residual de CPB después de recodificar. En la recodificación, puesto que se intensifica un grado de desenfoque por un pre-filtro y el parámetro de cuantificación es mayor que el parámetro de codificación por defecto, se suprime una tasa de bits generada, y tiene lugar la transición como se ilustra, por ejemplo, en la Figura 8 y se suprime infrautilización de la CPB.
[Ejemplo de proceso del caso 3]
Finalmente, se describirá el caso 3 en el que la infrautilización de la CPB ha tenido lugar en la codificación del GOP y no podría evitarse incluso en la recodificación. En este caso, una operación en la que la unidad de gestión de CPB 140 detecta la infrautilización de la CPB y se realiza la recodificación del GOP es similar a la de en el caso 2. Cuando tiene lugar la infrautilización de la CPB durante la recodificación del GOP, se completa la recodificación (S107). Además, la codificación puede no completarse y puede permitirse descarte de fotogramas de modo que se descartan datos codificados de la imagen en la que ha tenido lugar la infrautilización de la CPB sin completar la codificación y se codifica una siguiente imagen.
<Segunda realización
En lo sucesivo, se describirá una segunda realización. La Figura 9 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con la segunda realización de la presente realización.
En primer lugar, una imagen siguiente a una imagen para la que ha finalizado la codificación en una señal de vídeo de entrada se establece como un objetivo de codificación (etapa S201). La imagen de entrada establecida como el objetivo de codificación se codifica usando H.264 o cualesquiera de otros esquemas de codificación predeterminados (etapa S202). Se realiza una determinación en cuanto a si tiene lugar infrautilización de la CPB debido a codificación de la imagen de entrada (etapa S203). Si tiene lugar la infrautilización de la CPB, el proceso continúa a la etapa S208. Además, puede realizarse una determinación en cuanto a si ha tenido lugar la infrautilización de la CPB, por ejemplo, usando un método usado en la norma H.264.
Cuando no tiene lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si está completada la codificación de una última imagen (etapa S204). Si está completada la codificación de la última imagen, el proceso de codificación finaliza.
De otra manera, se realiza una determinación en cuanto a si está completada la codificación del grupo de imágenes en orden de codificación (etapa S205). Si la codificación del grupo de imágenes en orden de codificación no está completada, el proceso vuelve a la etapa S201 en la que el proceso de codificación continúa para que se realice de manera similar en una siguiente imagen. Si la codificación del grupo de imágenes en orden de codificación está completada y si un contador de reintento es 1 o mayor, el contador de reintento se reduce en 1 (etapa S206). Además, el valor inicial del contador de reintento es 0. A continuación, el parámetro de codificación determinado de acuerdo con el contador de reintento con antelación se establece basándose en el contador de reintento (etapa S207), y el proceso vuelve a la etapa S201 en la que se realiza el proceso de codificación desde una primera imagen de un siguiente grupo de imágenes en orden de codificación.
Si se detecta en la etapa S203 que tiene lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si el valor del contador de reintento actual ha alcanzado un valor máximo predeterminado (etapa S208). Cuando el contador de reintento es el valor máximo, la infrautilización de la CPB no podría evitarse incluso cuando se recodifica el grupo de imágenes en orden de codificación. Por consiguiente, la codificación finaliza.
Cuando el contador de reintento no ha alcanzado el valor máximo, una primera imagen en el grupo de imágenes en orden de codificación actual se establece como el objetivo de codificación para recodificar el grupo de imágenes en orden de codificación actual (etapa S209). También, el contador de reintento se incrementa en 1 (etapa S210). A continuación, uno o ambos de los dos parámetros de codificación (el parámetro de cuantificación y la intensidad de pre-filtro) se cambian basándose en el contador de reintento (para el parámetro de cuantificación, se cambia un tamaño de paso para que sea mayor, y para la intensidad de filtro, se cambia un grado de desenfoque para que sea mayor) (etapa S211). El proceso vuelve a la etapa S202 en la que el grupo de imágenes en orden de codificación que se está codificando se recodifica.
En la presente invención, básicamente, se realiza un proceso de codificación, y el grupo de imágenes en orden de codificación (por ejemplo, el GOP) se codifica de manera repetitiva mientras se suprime una tasa de bits generada de una manera gradual hasta que no tenga lugar la infrautilización de la CPB únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la técnica relacionada b en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de la segunda y posterior codificación, se realiza la codificación con un parámetro de codificación para suprimir la infrautilización de la CPB, que se determina de acuerdo con el contador de reintento. Por consiguiente, puede reducirse la cantidad de cálculo y puede reducirse la degradación de la calidad de vídeo debido a la recodificación, en comparación con la técnica relacionada b en la que todas las imágenes del vídeo de entrada se codifican dos veces.
Como se ha descrito anteriormente, en la presente realización, los parámetros de codificación se cambian de acuerdo con el contador de reintento en el momento de recodificación. En este punto, se aplica un pre-filtro a un vídeo de entrada en el momento de codificación, y los parámetros de codificación a cambiarse son un parámetro de cuantificación e intensidad de pre-filtro. Ambos de los dos parámetros de codificación pueden cambiarse o únicamente uno cualquiera de ellos puede cambiarse.
Para el parámetro de cuantificación, un valor de desplazamiento predeterminado que aumenta de una manera gradual de acuerdo con el contador de reintento se añade al valor de parámetro de cuantificación determinado en el momento de codificación normal, y se realiza la recodificación usando un parámetro de cuantificación mayor de este tipo.
Para el pre-filtro, se usa un filtro gaussiano en la presente realización. El filtro gaussiano puede producirse muestreando una distribución gaussiana mostrada en la Ecuación (1) anteriormente descrita con respecto a x e y.
En la Ecuación (1), cuando a es igual a 0, no se aplica el filtro Gaussiano y, por ejemplo, un parámetro de codificación por defecto ao = 0, y el parámetro de codificación para recodificación es ac el valor del contador de reintento es c. ac tiene un gran valor ya que un valor de c es mayor. 0 < ai< a2<........Además, un tipo de filtro de paso bajo no tiene importancia en la presente realización. Además, por ejemplo, el parámetro de codificación por defecto ao puede cambiarse de acuerdo con el grado de complejidad de cada imagen, y ac puede obtenerse añadiendo un desplazamiento predeterminado a ac-i.
En una realización que se describirá a continuación, se realiza codificación de acuerdo con la norma de H.264 como un esquema de codificación. Además, el grupo de imágenes en orden de codificación es un GOP. Un diagrama conceptual del GOP cuando se codifica es como se ilustra en la Figura 5. Un GOP incluye 10 imágenes, y las imágenes B y las imágenes P se alinean de manera alterna en un orden de visualización, siendo una imagen I una primera imagen, como en la primera realización.
Un ejemplo de una configuración del aparato de la segunda realización se ilustra en la Figura 10. Una memoria intermedia de entrada 210 almacena una señal de vídeo de entrada y emite una señal de vídeo como un objetivo de codificación a una unidad de codificación 220. Además, cuando la memoria intermedia de entrada 210 recibe información que indica que se ha de realizar recodificación debido a la aparición de la infrautilización de la CPB (información de reintento) desde una unidad de gestión de CPB 240, que se describirá a continuación, la memoria intermedia de entrada 210 emite la señal de vídeo desde la primera imagen en el GOP que se está codificando, a la unidad de codificación 220 de nuevo. Además, cuando la codificación de GOP está completada sin recepción de la información de reintento, la memoria intermedia de entrada 210 descarta la señal de vídeo almacenada del GOP. La unidad de codificación 220 codifica la señal de vídeo introducida desde la memoria intermedia de entrada 210 y emite un flujo codificado a la memoria intermedia de salida 230. Además, la unidad de codificación 220 emite una tasa de bits (información de tasa de bits) de cada macro bloque generado cuando se ha codificado la señal de vídeo de entrada a la unidad de gestión de CPB 240. Además, cuando la unidad de codificación 220 recibe la información de reintento desde la unidad de gestión de CPB 240, la señal de vídeo desde la primera imagen en el GOP que se está codificando se introduce desde la memoria intermedia de entrada 210 a la unidad de codificación 220 de nuevo y el parámetro de codificación para recodificación se introduce desde la unidad de ajuste de parámetro 260 a la unidad de codificación 220. Por consiguiente, la unidad de codificación 220 realiza recodificación usando el parámetro de codificación de entrada para recodificación.
En una etapa en la que los flujos codificados del GOP se han almacenado todos, la memoria intermedia de salida 230 emite el flujo codificado del GOP, y cuando la información de reintento se recibe desde la unidad de gestión de CPB 240, la memoria intermedia de salida 230 descarta los flujos codificados almacenados del GOP que se está codificando.
La unidad de gestión de CPB 240 obtiene una tasa de bits residual de la CPB cambiada con el tiempo usando la información de tasa de bits introducida desde la unidad de codificación 220. En otras palabras, la unidad de gestión de CPB 240 obtiene la tasa de bits residual de la CPB ilustrada en el diagrama conceptual de la Figura 1. También, cuando tiene lugar la infrautilización de la CPB, la unidad de gestión de CPB 240 emite la información de reintento a la memoria intermedia de entrada 210, la unidad de codificación 220, la unidad de gestión de contador de reintento 250, y la memoria intermedia de salida 230 para señalizar que ha tenido lugar la infrautilización de la CPB.
Cuando la unidad de gestión de contador de reintento 250 recibe la información de reintento desde la unidad de gestión de CPB 240, la unidad de gestión de contador de reintento 250 añade 1 al valor del contador de reintento actual y notifica a la unidad de ajuste de parámetro 260 del contador de reintento actualizado. Además, cuando se completa la codificación del GOP que se está codificando actualmente sin recepción de la información de reintento desde la unidad de gestión de CPB 240 y el valor del contador de reintento es mayor o igual que 1, la unidad de gestión de contador de reintento 250 resta 1 del valor del contador de reintento y notifica a la unidad de ajuste de parámetro 260 del contador de reintento. Cuando la codificación del GOP está completada y el valor del contador de reintento es 0, la unidad de gestión de contador de reintento 250 notifica a la unidad de ajuste de parámetro 260 del contador de reintento de 0.
Cuando la unidad de ajuste de parámetro 260 recibe el contador de reintento desde la unidad de gestión de contador de reintento 250, la unidad de ajuste de parámetro 260 introduce el parámetro de codificación determinado de acuerdo con el contador de reintento a la unidad de codificación 220. Por consiguiente, la unidad de codificación 220 realiza codificación del mismo GOP usando el parámetro de codificación con el que una tasa de bits generada se reduce a medida que aumenta el número de repeticiones de recodificación.
Como se ha descrito anteriormente, en la presente realización, se introduce un concepto del contador de reintento cuyo valor aumenta cuando tiene lugar la recodificación y se reduce en un momento en el que se completa la codificación del GOP, y la unidad de gestión de contador de reintento 250 gestiona el contador de reintento. Este contador de reintento tiene un valor límite superior predeterminado tal como “3," y puede realizarse la recodificación del mismo GOP hasta que el contador de reintento alcanza el valor de límite superior. Un valor de compensación del parámetro de cuantificación y la intensidad de filtro del pre-filtro en el momento de codificación se cambia de acuerdo con el valor del contador de reintento.
Cuando el contador de reintento es 0, se usa un parámetro de codificación por defecto. Cuando el contador de reintento no es 0 y, por ejemplo, el valor de límite superior del contador de reintento es 3, los parámetros de codificación para recodificación que corresponden a los contadores de reintento 1, 2 y 3 pueden prepararse como una tabla de parámetros de codificación con antelación, y el parámetro de codificación obtenido desde la tabla de parámetros de codificación puede usarse para recodificación.
Un flujo de un proceso de codificación en la presente realización se describirá con referencia al diagrama de flujo en la Figura 9. En lo sucesivo, la correspondencia al diagrama de flujo de la Figura 9 se describe como S201, S202,..., y así sucesivamente.
Se describirán los siguientes tres casos de un proceso de codificación de un cierto GOP.
• [Caso 1]: La infrautilización de la CPB no ha tenido lugar en la codificación del GOP.
• [Caso 2]: Ha tenido lugar la infrautilización de la CPB múltiples veces en la codificación del GOP y podría evitarse en la recodificación.
• [Caso 3]: Ha tenido lugar la infrautilización de la CPB múltiples veces en la codificación del GOP y el contador de reintento ha alcanzado el valor de límite superior, y la infrautilización de la CPB no podría evitarse incluso en la recodificación.
[Ejemplo de proceso del caso 1]
En primer lugar, se describirá el caso 1 en el que la infrautilización de la CPB no ha tenido lugar en la codificación del GOP. Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 210, la memoria intermedia de entrada 210 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 220 (S201). También, la unidad de codificación 220 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 230 (la memoria intermedia de salida 230 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 240 (S202).
En este punto, por ejemplo, si el contador de reintento se supone que tiene un valor inicial de 0, se usa un parámetro de codificación por defecto para codificar, y un proceso de filtración de la unidad de pre-filtro 221 se aplica a la imagen objetivo de codificación con intensidad de pre-filtro que corresponde al parámetro de codificación por defecto. Un coeficiente de DCT generado en la imagen actual se cuantifica por la unidad de cuantificación 222 usando el parámetro de cuantificación de acuerdo con el parámetro de codificación por defecto. Cuando el contador de reintento es 1 o mayor, se realiza la codificación usando un proceso de pre-filtración y cuantificación basándose en la intensidad de filtro y el parámetro de cuantificación determinado de acuerdo con el contador de reintento. La unidad de gestión de CPB 240 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 220. En este ejemplo, puesto que no ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 240 no emite información de reintento (S203). Cuando la imagen objetivo de codificación es una última imagen en la señal de vídeo de entrada, la memoria intermedia de salida 230 emite flujos codificados almacenados, y el proceso de codificación se completa (S204). Como alternativa, si la imagen objetivo de codificación es la última imagen del GOP, la memoria intermedia de salida 230 emite los flujos codificados almacenados, la memoria intermedia de entrada 210 descarta la imagen almacenada, y el proceso continúa a un proceso de codificación de una primera imagen en un siguiente GOP (S205 a S207).
Cuando la codificación de GOP está completada sin aparición de la infrautilización de la CPB como en el caso 1, la unidad de gestión de contador de reintento 250 reduce el valor del contador de reintento actual en 1 excepto para un caso en el que el contador de reintento es 0 (S206). Cuando tiene lugar la recodificación en un GOP más anterior que un GOP para el que la codificación está actualmente completada, el contador de reintento puede no ser 0. La unidad de gestión de contador de reintento 250 notifica a la unidad de ajuste de parámetro 260 del contador de reintento cambiado, y la unidad de ajuste de parámetro 260 establece, en la unidad de codificación 220, el parámetro de codificación de acuerdo con el contador de reintento notificado. Se inicia la codificación de una primera imagen de un siguiente GOP.
[Ejemplo de proceso del caso 2]
A continuación, se describirá en el presente documento el caso 2 en el que ha tenido lugar la infrautilización de la CPB múltiples veces en la codificación del GOP y podría evitarse en la recodificación. Se describirá en el presente documento un caso en el que se inicia el contador de reintento en un momento en el que la codificación del GOP se supone que es 1 y se realiza la recodificación dos veces en el mismo GOP.
Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 210, la memoria intermedia de entrada 210 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 220 (S201). También, la unidad de codificación 220 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 230 (la memoria intermedia de salida 230 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 240 (S202). En este punto, se usa un parámetro de codificación que corresponde al contador de reintento de 1 para codificar.
La unidad de gestión de CPB 240 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 220. Como resultado, cuando la unidad de gestión de CPB 240 detecta la infrautilización de la CPB para la imagen, la unidad de gestión de CPB 240 emite la información de reintento a la unidad de codificación 220, la unidad de gestión de contador de reintento 250, la memoria intermedia de entrada 210, y la memoria intermedia de salida 230 (S203).
Puesto que el contador de reintento actual es 1 y no ha alcanzado 3 que es un valor de límite superior (S208), la memoria intermedia de entrada 210 emite una primera imagen del GOP almacenado que se está codificando a la unidad de codificación 220 (S209). Mientras tanto, el contador de reintento se incrementa en 1 por la unidad de gestión de contador de reintento 250 y el contador de reintento cuyo valor es 2 se emite a la unidad de ajuste de parámetro 260 (S210).
La unidad de ajuste de parámetro 260 lee el parámetro de codificación cuando el contador de reintento es 2 desde la tabla de parámetros de codificación y establece el parámetro de codificación en la unidad de codificación 220 (S211). La memoria intermedia de salida 230 descarta el flujo codificado del GOP que se está codificando.
En la unidad de codificación 220, las imágenes del GOP se introducen secuencialmente desde la memoria intermedia de entrada 210 y se lleva a cabo la codificación únicamente cuando no tiene lugar la infrautilización de la CPB. En esta codificación, cuando tiene lugar la infrautilización de la CPB de nuevo en el mismo GOP, el contador de reintento se incrementa en 1 para que sea 3 a través de un proceso similar al proceso anteriormente descrito. Por consiguiente, se cambia el parámetro de codificación en un parámetro de codificación que corresponde al contador de reintento de 3 y a continuación se realiza la codificación secuencialmente en el mismo GOP desde su primera imagen de nuevo. En la codificación de este GOP, cuando no ha tenido lugar la infrautilización de la CPB, el contador de reintento se reduce en 1 por la unidad de gestión de contador de reintento 250 para que sea 2 y se lleva a cabo la codificación de un siguiente GOP. En este caso, las operaciones de la memoria intermedia de entrada 210 y la memoria intermedia de salida 230 son similares a aquellas en el ejemplo anteriormente descrito.
Un diagrama conceptual de la transición del contador de reintento y el parámetro de codificación en el caso de ejemplo de 2 se ilustra en la Figura 11. En el ejemplo de la Figura 11, cuando se codifica el segundo GOP2 en un estado en el que el contador de reintento es 1, la infrautilización de la CPB tiene lugar al codificar una sexta imagen. Por consiguiente, el contador de reintento se establece a 2 y el GOP2 se recodifica desde su primera imagen I usando el parámetro de codificación que corresponde al contador de reintento de 2 de nuevo. Incluso en esta recodificación, la infrautilización de la CPB tiene lugar en una séptima imagen y se realiza la recodificación usando un parámetro de codificación que corresponde al contador de reintento de 3 con el que una tasa de bits generada es pequeña. En la recodificación realizada de nuevo, puesto que no ha tenido lugar la infrautilización de la CPB, el contador de reintento se reduce en 1 cuando se completa la codificación del GOP2, y el proceso continúa a la codificación del siguiente GOP3 usando el parámetro de codificación que corresponde al contador de reintento de 2. Un diagrama conceptual de la transición de una tasa de bits residual de CPB cuando se realiza la recodificación es como se ilustra en la Figura 8. Una línea indicada por una línea en negrita es una tasa de bits residual de CPB después de recodificar, como en la primera realización. En la recodificación, puesto que se intensifica un grado de desenfoque por un pre-filtro y el parámetro de cuantificación es mayor que el parámetro de codificación por defecto, se suprime una tasa de bits generada, tiene lugar la transición como se ilustra, por ejemplo, en la Figura 8, y se suprime la infrautilización de la CPB.
[Ejemplo de proceso del caso 3]
Finalmente, se describirá el caso 3 en el que infrautilización de la CPB ha tenido lugar múltiples veces al codificar el mismo GOP y no podría evitarse incluso en la recodificación. El contador de reintento se supone que alcanza 3 durante la codificación de un cierto GOP, similar al caso 2. Además, cuando la unidad de gestión de CPB 240 detecta que tiene lugar la infrautilización de la CPB en la codificación del mismo GOP (S203), la unidad de gestión de contador de reintento 250 detecta que el contador de reintento alcanza el valor de límite superior (S208), y la codificación se completa. En este caso, la codificación puede no completarse y puede permitirse descarte de fotogramas de modo que los datos codificados de la imagen en la que ha tenido lugar la infrautilización de la CPB se descartan sin completar la codificación y se codifica una siguiente imagen.
<Tercera realización
En lo sucesivo, se describirá una tercera realización de la presente invención. La Figura 12 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con la tercera realización de la presente invención.
En primer lugar, una imagen siguiente a una imagen para la que ha finalizado la codificación en una señal de vídeo de entrada se establece como un objetivo de codificación (etapa S301). La imagen de entrada establecida como el objetivo de codificación se codifica usando H.264 o cualesquiera de otros esquemas de codificación predeterminados (etapa 5302). Se realiza una determinación en cuanto a si ha tenido lugar la infrautilización de la CPB (etapa 5303). Cuando tiene lugar la infrautilización de la CPB, el proceso continúa a la etapa S308. Además, puede realizarse una determinación en cuanto a si ha tenido lugar la infrautilización de la CPB, por ejemplo, usando un método usado en la norma H.264.
Cuando no ha tenido lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si está completada la codificación de una última imagen (etapa S304). Si la codificación de la última imagen está completada, el proceso de codificación finaliza.
De otra manera, se realiza una determinación en cuanto a si está completada la codificación del grupo de imágenes en orden de codificación (etapa S305). Si la codificación del grupo de imágenes en orden de codificación no está completada, el proceso vuelve a la etapa S301 en la que el proceso de codificación continúa para que se realice de manera similar en una siguiente imagen.
Cuando se completa la codificación del grupo de imágenes en orden de codificación, se realiza una determinación en cuanto a si se satisfacen las siguientes condiciones, y el contador de reintento se reduce en 1 únicamente cuando se satisfacen las condiciones (etapa S306).
• Condición 1: El contador de reintento es 1 o mayor.
• Condición 2: La tasa de bits residual de CPB es mayor o igual que un valor umbral predeterminado.
Cuando el contador de reintento es 0 o cuando la tasa de bits residual de CPB es menor que el valor umbral predeterminado, no se reduce el contador de reintento y permanece como el valor original.
A continuación, basándose en el contador de reintento, se establece (etapa S307) el parámetro de codificación que puede determinarse de acuerdo con el contador de reintento con antelación, y el proceso vuelve a la etapa S301 en la que se realiza el proceso de codificación desde una primera imagen de un siguiente grupo de imágenes en orden de codificación.
Cuando se detecta en la etapa S303 que tiene lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si el valor del contador de reintento actual ha alcanzado un valor máximo predeterminado (etapa S308). Cuando el contador de reintento es el valor máximo, la infrautilización de la CPB no podría evitarse incluso cuando se recodifica el grupo de imágenes en orden de codificación. Por consiguiente, la codificación finaliza.
Cuando el contador de reintento no ha alcanzado el valor máximo, la primera imagen en el grupo de imágenes en orden de codificación actual se establece como un objetivo de codificación para recodificar el grupo de imágenes en orden de codificación actual (etapa S309). También, el contador de reintento se incrementa en 1 (etapa S310). A continuación, basándose en el contador de reintento, uno o ambos de los dos parámetros de codificación (el parámetro de cuantificación y la intensidad de pre-filtro) se cambian (para el parámetro de cuantificación, el tamaño de paso se cambia para que sea mayor, y para la intensidad de filtro, el grado de desenfoque se cambia para que sea mayor) (etapa S311), y el proceso vuelve a la etapa S302 en la que se recodifica el grupo de imágenes en orden de codificación que se está codificando.
En la presente invención, básicamente, se realiza un proceso de codificación, y el grupo de imágenes en orden de codificación (por ejemplo, el GOP) se codifica de manera repetitiva mientras se suprime una tasa de bits generada de una manera gradual hasta que no tiene lugar la infrautilización de la CPB únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la técnica relacionada b en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de la segunda y posterior codificación, se realiza la codificación con un parámetro de codificación para suprimir la infrautilización de la CPB, que se determina de acuerdo con el contador de reintento. Por consiguiente, puede reducirse una cantidad de cálculo y puede reducirse la degradación de la calidad de vídeo debido a la recodificación, en comparación con la técnica relacionada b en la que todas las imágenes del vídeo de entrada se codifican dos veces.
Como se ha descrito anteriormente, en la presente realización, un parámetro de codificación se cambia de acuerdo con el contador de reintento en el momento de recodificación. En este punto, en el momento de codificación, se aplica un pre-filtro al vídeo de entrada, y los parámetros de codificación a cambiarse son un parámetro de cuantificación e intensidad de pre-filtro. Ambos de los dos parámetros de codificación pueden cambiarse o únicamente uno cualquiera de ellos puede cambiarse.
Para el parámetro de cuantificación, un valor de desplazamiento predeterminado que aumenta de una manera gradual de acuerdo con el contador de reintento se añade al valor de parámetro de cuantificación determinado en el momento de codificación normal, y se realiza la recodificación usando un parámetro de cuantificación mayor de este tipo.
Para el pre-filtro, se usa un filtro gaussiano en la presente realización, como en la primera realización. El filtro gaussiano puede producirse muestreando una distribución gaussiana mostrada en la Ecuación (1) anteriormente descrita con respecto a x e y.
En la Ecuación (1), cuando a es igual a 0, no se aplica el filtro gaussiano y, por ejemplo, un parámetro de codificación por defecto ao = 0 y el parámetro de codificación para recodificación es ac si el valor del contador de reintento es c. ac tiene un gran valor ya que un valor de c es mayor. 0 < ai< a2< .... Además, un tipo de filtro de paso bajo no tiene importancia en la presente realización. Además, por ejemplo, el parámetro de codificación por defecto ao se cambia de acuerdo con el grado de complejidad de cada imagen, y ac puede obtenerse añadiendo un desplazamiento predeterminado a ac-i.
En una realización que se describirá a continuación, se realiza la codificación de acuerdo con la norma de H.264 como un esquema de codificación. Además, el grupo de imágenes en orden de codificación es un GOP. Un diagrama conceptual del GOP cuando se codifica es como se ilustra en la Figura 5. Un GOP incluye 10 imágenes, y las imágenes B y las imágenes P se alinean de manera alterna en un orden de visualización, siendo una imagen I una primera imagen, como en la primera realización.
Un ejemplo de una configuración del aparato de la tercera realización de la presente invención se ilustra en la Figura 13. Una memoria intermedia de entrada 310 almacena una señal de vídeo de entrada y emite una señal de vídeo como un objetivo de codificación a una unidad de codificación 320. Además, cuando la memoria intermedia de entrada 310 recibe información que indica que se ha de realizar recodificación debido a la aparición de la infrautilización de la CPB (información de reintento), desde una unidad de gestión de CPB 340, que se describirá a continuación, la memoria intermedia de entrada 310 emite la señal de vídeo desde una primera imagen en el GOP que se está codificando, a la unidad de codificación 320 de nuevo. Además, cuando la codificación de GOP está completada sin recepción de la información de reintento, la memoria intermedia de entrada 310 descarta la señal de vídeo almacenada del GOP.
La unidad de codificación 320 codifica la señal de vídeo introducida desde la memoria intermedia de entrada 310, y emite un flujo codificado a la memoria intermedia de salida 330. Además, la unidad de codificación 320 emite una tasa de bits (información de tasa de bits) generada cuando se ha codificado la señal de vídeo de entrada, a la unidad de gestión de CPB 340. Además, cuando la unidad de codificación 320 recibe la información de reintento desde la unidad de gestión de CPB 340, la señal de vídeo desde la primera imagen en el GOP que se está codificando se introduce desde la memoria intermedia de entrada 310 de nuevo y el parámetro de codificación para recodificación se introduce desde la unidad de ajuste de parámetro 370. Por consiguiente, la unidad de codificación 320 realiza recodificación usando el parámetro de codificación de entrada para recodificación.
La memoria intermedia de salida 330 emite el flujo codificado del GOP en una etapa en la que los flujos codificados del GOP se han almacenado todos. Mientras tanto, cuando la información de reintento se recibe desde la unidad de gestión de CPB 340, la memoria intermedia de salida 330 descarta el flujo codificado almacenado del GOP que se está codificando.
La unidad de gestión de CPB 340 obtiene una tasa de bits residual de la CPB cambiada con el tiempo usando la información de tasa de bits introducida desde la unidad de codificación 320. En otras palabras, la unidad de gestión de CPB 340 obtiene la tasa de bits residual de la CPB ilustrada en el diagrama conceptual de la Figura 1. También, cuando ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 340 emite la información de reintento a la memoria intermedia de entrada 310, la unidad de codificación 320, la unidad de gestión de contador de reintento 350, y la memoria intermedia de salida 330 para señalizar que ha tenido lugar la infrautilización de la CPB. Además, la unidad de gestión de CPB 340 notifica a la unidad de predicción de estado de CPB 360 de la tasa de bits residual de CPB.
Cuando la unidad de gestión de contador de reintento 350 recibe la información de reintento desde la unidad de gestión de CPB 340, la unidad de gestión de contador de reintento 350 añade 1 al valor del contador de reintento actual y notifica a la unidad de ajuste de parámetro 370 del contador de reintento actualizado.
Además, cuando se completa la codificación del GOP que se está codificando actualmente sin la información de reintento que se ha recibido desde la unidad de gestión de CPB 340 y si el valor del contador de reintento es mayor o igual que 1, la unidad de gestión de contador de reintento 350 resta 1 del valor del contador de reintento y notifica a la unidad de ajuste de parámetro 370 del contador de reintento. Sin embargo, cuando la información de cambio/no cambio de parámetro notificada desde la unidad de predicción de estado de CPB 360 indica “no cambio de parámetro", la unidad de gestión de contador de reintento 350 no resta 1 del contador de reintento incluso cuando el contador de reintento es mayor o igual que 1. Además, incluso cuando el contador de reintento es 0, la unidad de gestión de contador de reintento 350 no resta 1 del contador de reintento, y notifica a la unidad de ajuste de parámetro 370 del valor del contador de reintento actual.
Cuando la unidad de ajuste de parámetro 370 recibe el contador de reintento desde la unidad de gestión de contador de reintento 350, la unidad de ajuste de parámetro 370 introduce el parámetro de codificación determinado de acuerdo con el contador de reintento a la unidad de codificación 320. Por consiguiente, la unidad de codificación 320 realiza codificación del mismo GOP usando el parámetro de codificación con el que una tasa de bits generada se reduce a medida que el número de repeticiones de recodificación aumenta.
Como se ha descrito anteriormente, en la presente realización, se introduce un concepto del contador de reintento cuyo valor aumenta cuando tiene lugar la recodificación y se reduce en un momento en el que se completa la codificación del GOP, y se gestiona el contador de reintento por la unidad de gestión de contador de reintento 350. Este contador de reintento tiene un valor límite superior predeterminado, tal como “3", y se realiza la recodificación del mismo GOP hasta que el contador de reintento alcanza el valor de límite superior. El valor de desplazamiento del parámetro de cuantificación y la intensidad de filtro del pre-filtro en el momento de codificación se cambian de acuerdo con el valor del contador de reintento.
Cuando el contador de reintento es 0, se usa un parámetro de codificación por defecto. Cuando el contador de reintento no es 0 y, por ejemplo, el valor de límite superior del contador de reintento es 3, los parámetros de codificación para recodificación que corresponden a los contadores de reintento 1, 2, y 3 pueden prepararse como una tabla de parámetros de codificación con antelación y el parámetro de codificación obtenido desde la tabla de parámetros de codificación puede usarse para recodificación.
Un flujo de un proceso de codificación en la presente realización se describirá con referencia al diagrama de flujo de la Figura 12. En lo sucesivo, la correspondencia al diagrama de flujo de la Figura 12 se describe como S301, S302, ..., y así sucesivamente.
Se describirán los siguientes tres casos de un proceso de codificación de un cierto GOP.
• [Caso 1]: La infrautilización de la CPB no ha tenido lugar en la codificación del GOP.
• [Caso 2]: Ha tenido lugar la infrautilización de la CPB múltiples veces en la codificación del GOP y podría evitarse en la recodificación.
• [Caso 3]: Ha tenido lugar la infrautilización de la CPB múltiples veces en la codificación del GOP y el contador de reintento ha alcanzado el valor de límite superior, y la infrautilización de la CPB no podría evitarse incluso en la recodificación.
[Ejemplo de proceso del caso 1]
En primer lugar, se describirá el caso 1 en el que la infrautilización de la CPB no ha tenido lugar en la codificación del GOP. Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 310, la memoria intermedia de entrada 310 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 320 (S301). También, la unidad de codificación 320 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 330 (la memoria intermedia de salida 330 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 340 (S302).
En este punto, por ejemplo, si el contador de reintento se supone que tiene un valor inicial de 0, se usa un parámetro de codificación por defecto para codificar, y el proceso de filtración en la unidad de pre-filtro 321 se aplica a la imagen objetivo de codificación con intensidad de pre-filtro que corresponde al parámetro de codificación por defecto. Además, un coeficiente de DCT generado en la imagen actual se cuantifica por la unidad de cuantificación 322 usando el parámetro de cuantificación de acuerdo con el parámetro de codificación por defecto. Cuando el contador de reintento es 1 o mayor, se realiza la codificación usando un proceso de pre-filtración y cuantificación basándose en la intensidad de filtro y el parámetro de cuantificación determinado de acuerdo con el contador de reintento.
La unidad de gestión de CPB 340 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 320. En este ejemplo, puesto que no ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 340 no emite información de reintento (S303). Cuando la imagen objetivo de codificación es una última imagen en la señal de vídeo de entrada, la memoria intermedia de salida 330 emite el flujo codificado almacenado y el proceso de codificación se completa (S304). Como alternativa, si la imagen objetivo de codificación es la última imagen del GOP, la memoria intermedia de salida 330 emite el flujo codificado almacenado, la memoria intermedia de entrada 310 descarta la imagen almacenada, y el proceso continúa a un proceso de codificación de la primera imagen en el siguiente GOP (S305 a S307).
Como en el caso 1, cuando la codificación de GOP está completada sin provocar la aparición de la infrautilización de la CPB, la unidad de gestión de CPB 340 notifica a la unidad de predicción de estado de CPB 360 de la información de tasa de bits residual de CPB en un momento en el que la codificación del GOP está completada. La unidad de predicción de estado de CPB 360 determina si la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado. Cuando la tasa de bits residual de CPB es mayor o igual que el valor umbral, la unidad de predicción de estado de CPB 360 notifica a la unidad de gestión de contador de reintento 350 que el parámetro de codificación ha de cambiarse, como información de cambio/no cambio de parámetro. Por otra parte, cuando la tasa de bits residual de CPB es menor que un valor umbral, la unidad de predicción de estado de CPB 360 notifica a la unidad de gestión de contador de reintento 350 que el parámetro de codificación no va a cambiarse, como la información de cambio/no cambio de parámetro. La unidad de gestión de contador de reintento 350 reduce el valor del contador de reintento actual en 1 únicamente cuando la información de cambio/no cambio de parámetro indica que el parámetro de codificación ha de cambiarse (S306).
En otras palabras, cuando tiene lugar la recodificación en un GOP anterior que el GOP para el que la codificación está actualmente completada, el contador de reintento puede no ser 0. En este caso, la unidad de gestión de contador de reintento 350 cambia el contador de reintento de acuerdo con la notificación de la información de cambio/no cambio de parámetro desde la unidad de predicción de estado de CPB 360, y notifica a la unidad de ajuste de parámetro 370 del contador de reintento cambiado. La unidad de ajuste de parámetro 370 establece el parámetro de codificación en la unidad de codificación 320 de acuerdo con el contador de reintento notificado, y se inicia la codificación de una primera imagen de un siguiente GOP.
[Ejemplo de proceso del caso 2]
A continuación, se describirá el caso 2 en el que ha tenido lugar la infrautilización de la CPB múltiples veces en la codificación del GOP y podría evitarse en la recodificación. En este punto, se describirá un caso en el que el contador de reintento en un momento en el que se inicia la codificación del GOP es 1 y se realiza la recodificación dos veces en el mismo GOP.
Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 310, la memoria intermedia de entrada 310 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 320 (S301). También, la unidad de codificación 320 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 330 (la memoria intermedia de salida 330 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 340 (S302). En este punto, se usa un parámetro de codificación que corresponde al contador de reintento de 1 para codificar.
La unidad de gestión de CPB 340 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 320. Como resultado, cuando la unidad de gestión de CPB 340 detecta la infrautilización de la CPB para la imagen, la unidad de gestión de CPB 340 emite la información de reintento a la unidad de codificación 320, la unidad de gestión de contador de reintento 350, la memoria intermedia de entrada 310, y la memoria intermedia de salida 330 (S303).
Puesto que el contador de reintento actual es 1 y no ha alcanzado un valor de límite superior de 3 (S308), la memoria intermedia de entrada 310 emite la primera imagen del GOP almacenado que se está codificando a la unidad de codificación 320 (S309). Mientras tanto, el contador de reintento se incrementa en 1 por la unidad de gestión de contador de reintento 350, y el contador de reintento cuyo valor es 2 se emite a la unidad de ajuste de parámetro 370 (S310).
La unidad de ajuste de parámetro 370 lee el parámetro de codificación cuando el contador de reintento es 2 desde la tabla de parámetros de codificación, y establece el parámetro de codificación en la unidad de codificación 320 (S311). La memoria intermedia de salida 330 descarta el flujo codificado del GOP que se está codificando.
En la unidad de codificación 320, las imágenes del GOP se introducen secuencialmente desde la memoria intermedia de entrada 310 y la codificación se lleva a cabo únicamente cuando no tiene lugar la infrautilización de la CPB. En esta codificación, cuando tiene lugar la infrautilización de la CPB en el mismo GOP de nuevo, el contador de reintento se incrementa en 1 para que sea 3 a través de un proceso similar al proceso anteriormente descrito. Por consiguiente, se cambia el parámetro de codificación en un parámetro de codificación que corresponde al contador de reintento de 3 y a continuación se realiza la codificación secuencialmente en el mismo GOP desde su primera imagen de nuevo.
En la codificación del GOP, cuando ya no tiene lugar más la infrautilización de la CPB, la unidad de gestión de CPB 340 notifica a la unidad de predicción de estado de CPB 360 de la tasa de bits residual de información de CPB. Si la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado, la unidad de predicción de estado de CPB 360 establece la información de cambio/no cambio de parámetro como “cambio", y de otra manera, establece la información de cambio/no cambio de parámetro como “no cambio". La unidad de predicción de estado de CPB 360 notifica a la unidad de gestión de contador de reintento 350 de la información de cambio/no cambio de parámetro.
Cuando la información de cambio/no cambio de parámetro notificada es “cambio", el contador de reintento se reduce en 1 para que sea 2 por la unidad de gestión de contador de reintento 350, y se lleva a cabo la codificación de un siguiente GOP. En este caso, las operaciones de la memoria intermedia de entrada 310 y la memoria intermedia de salida 330 son similares a aquellas en el ejemplo anteriormente descrito. Cuando la información de cambio/no cambio de parámetro es “no cambio", el contador de reintento permanece como 3, y se lleva a cabo la codificación de un siguiente GOP.
Un diagrama conceptual de la transición del contador de reintento y el parámetro de codificación en el ejemplo de caso 2 se ilustra en la Figura 11. En el ejemplo de la Figura 11, cuando se codifica el segundo GOP2 en un estado en el que el contador de reintento es 1, la infrautilización de la CPB tiene lugar al codificar la sexta imagen, como en la segunda realización. Por consiguiente, el contador de reintento se establece a 2, y GOP2 se recodifica desde su primera imagen I usando el parámetro de codificación que corresponde al contador de reintento de 2 de nuevo. Incluso en esta recodificación, la infrautilización de la CPB tiene lugar en una séptima imagen y se realiza la recodificación usando un parámetro de codificación que corresponde al contador de reintento de 3 con el que una tasa de bits generada es pequeña.
Puesto que no tiene lugar la infrautilización de la CPB al realizar recodificación de nuevo, se realiza una determinación en cuanto a si la tasa de bits residual de CPB es mayor o igual que un valor umbral predeterminado. En este punto, puesto que la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado, el contador de reintento se reduce en 1 cuando se completa la codificación del GOP2, y el proceso continúa para codificar el siguiente GOP3 usando el parámetro de codificación que corresponde al contador de reintento de 2.
Un diagrama conceptual de la transición de la tasa de bits residual de CPB cuando se realiza la recodificación se ilustra en la Figura 8. Una línea indicada por una línea en negrita es una tasa de bits residual de CPB después de recodificar, como en la primera y segunda realizaciones. Puesto que el grado de desenfoque se intensifica por un pre-filtro y el parámetro de cuantificación es mayor que el parámetro de codificación por defecto en la recodificación, se suprime una tasa de bits generada y se realiza la transición como se ilustra, por ejemplo, en la Figura 8, de manera que se suprime la infrautilización de la CPB.
[Ejemplo de proceso del caso 3]
Finalmente, se describirá el caso 3 en el que ha tenido lugar la infrautilización de la CPB múltiples veces al codificar el mismo GOP y el contador de reintento alcanza el valor de límite superior, y la infrautilización de la CPB no podría evitarse incluso en la recodificación. El contador de reintento se supone que alcanza 3 durante la codificación de un cierto GOP, similar al caso 2. Además, cuando la unidad de gestión de CPB 340 detecta la infrautilización de la CPB al codificar el mismo GOP (S303), la unidad de gestión de contador de reintento 350 detecta que el contador de reintento alcanza el valor de límite superior (S308) y la recodificación se completa. Además, en este caso, la codificación puede no completarse y puede permitirse descarte de fotogramas de modo que se descartan datos codificados de la imagen en la que ha tenido lugar la infrautilización de la CPB sin completar la codificación y se codifica una siguiente imagen.
<Cuarta realización
A continuación, se describirá una cuarta realización. La Figura 14 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con la cuarta realización de la presente invención.
En primer lugar, una imagen siguiente a una imagen para la que ha finalizado la codificación en una señal de vídeo de entrada se establece como un objetivo de codificación (etapa S401). La imagen de entrada establecida como el objetivo de codificación se codifica usando H.264 o cualesquiera de otros esquemas de codificación predeterminados (etapa S402). Se realiza una determinación en cuanto a si infrautilización de la CPB ha tenido lugar debido a la codificación de la imagen de entrada (etapa S403). Si ha tenido lugar la infrautilización de la CPB, el proceso continúa a la etapa S411. Además, puede realizarse una determinación en cuanto a si ha tenido lugar la infrautilización de la CPB, por ejemplo, usando un método usado en la norma H.264.
Si no ha tenido lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si está completada la codificación de una última imagen (etapa S404). Si la codificación de la última imagen está completada, el proceso de codificación finaliza.
De otra manera, se realiza una determinación en cuanto a si la imagen codificada es una primera imagen I del grupo de imágenes en orden de codificación (etapa S405). Si la imagen actualmente codificada es la primera imagen I del grupo de imágenes en orden de codificación, la imagen I se establece como el punto de reintento (etapa S406). Este es un procedimiento para actualizar el punto de reintento después de que se ha confirmado que la infrautilización de la CPB no ha tenido lugar en una siguiente imagen I puesto que el punto de reintento se establece aún a una primera imagen de un grupo de imágenes en orden de codificación inmediatamente anterior cuando una tasa de bits residual de CPB es menor que un valor umbral predeterminado en la etapa S409, que se describirá a continuación. Además, cuando el punto de reintento se establece en la etapa S410, el punto de reintento se establece a la misma posición de nuevo, pero una desventaja no tiene lugar en el proceso. A continuación, el proceso vuelve a la etapa S401 en el que se lleva a cabo la codificación de una siguiente imagen.
Si la imagen codificada no es la primera imagen en el grupo de imágenes en orden de codificación, a continuación se realiza una determinación en cuanto a si está completada la codificación del grupo de imágenes en orden de codificación (etapa S407). Si la codificación del grupo de imágenes en orden de codificación no está completada, el proceso vuelve a la etapa S401 en la que el proceso de codificación continúa para que se realice de manera similar en una siguiente imagen. Si se completa la codificación del grupo de imágenes en orden de codificación y el parámetro de codificación se ha cambiado debido a la recodificación del grupo de imágenes en orden de codificación (reintento), el parámetro de codificación se restaura a un valor en el momento de codificación normal (etapa S408).
Además, se realiza una determinación en cuanto a si la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación (etapa S409). Cuando la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado, el punto de reintento se establece a una primera imagen I de un siguiente grupo de imágenes en orden de codificación (etapa S410). A continuación, el proceso vuelve a la etapa S401 en la que se lleva a cabo codificación del siguiente grupo de imágenes en orden de codificación desde su primera imagen.
Cuando la tasa de bits residual de CPB es menor que el valor umbral predeterminado, el punto de reintento no se actualiza y el proceso vuelve a la etapa S401 en la que se lleva a cabo codificación del siguiente grupo de imágenes en orden de codificación.
Cuando se determina en la etapa S403 que ha tenido lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si el grupo de imágenes en orden de codificación actual se ha recodificado (el reintento se ha completado) (etapa S411). Si el reintento se ha completado, la infrautilización de la CPB no podría evitarse incluso cuando se recodifica el grupo de imágenes en orden de codificación. Por consiguiente, la codificación finaliza. Si el reintento no se ha completado, la imagen del punto de reintento se establece como un objetivo de codificación para recodificar el grupo de imágenes en orden de codificación actual (etapa S412). También, uno o ambos de los dos parámetros de codificación (el parámetro de cuantificación y la intensidad de pre-filtro) se cambian (para el parámetro de cuantificación, el tamaño de paso se cambia para que sea mayor, y para la intensidad de filtro, el grado de desenfoque se cambia para que sea mayor) (etapa S413), y el proceso vuelve a la etapa S402 en el que el grupo de imágenes en orden de codificación que se está codificando se recodifica.
En otras palabras, el grupo de imágenes en orden de codificación (por ejemplo, el GOP) se codifica dos veces únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la técnica relacionada b en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de la segunda codificación, se realiza la codificación con un parámetro de codificación para suprimir la infrautilización de la CPB. Únicamente se recodifica un correspondiente grupo de imágenes en orden de codificación (de manera excepcional, la recodificación puede realizarse a partir de un grupo de imágenes en orden de codificación inmediatamente anterior) únicamente cuando ha tenido lugar la infrautilización de la CPB, suprimiendo de esta manera la infrautilización de la CPB. Por consiguiente, puede reducirse una cantidad de cálculo en comparación con la técnica relacionada b en la que todas las imágenes del vídeo de entrada se codifican dos veces.
La Figura 15 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con una variante de la cuarta realización. La presente invención puede implementarse sustituyendo el proceso de la etapa S408 ilustrado en la Figura 14 por un proceso de las etapas S481 a S483 ilustradas en la Figura 15. Los procesos distintos de la etapa S408 son sustancialmente similares a aquellos en la Figura 14.
Después del proceso de la etapa S407 de la Figura 14, se realiza una determinación en cuanto a si el parámetro de codificación se ha cambiado debido al reintento (etapa S481). Si el parámetro de codificación no se ha cambiado debido al reintento, el proceso continúa a la etapa S409. Si el parámetro de codificación se ha cambiado debido al reintento, a continuación se realiza una determinación en cuanto a si la tasa de bits residual de CPB es mayor o igual que un primer valor umbral predeterminado (etapa S482). Si la tasa de bits residual de CPB es menor que el valor umbral predeterminado, el parámetro de codificación permanece como el parámetro de codificación usado en la recodificación, y el parámetro de codificación se restaura al parámetro de codificación por defecto original únicamente cuando la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado, (etapa S483). A continuación, el proceso continúa a la etapa S409 en la que se realiza una determinación en cuanto a si la tasa de bits residual de CPB es mayor o igual que un segundo valor umbral predeterminado, pero este proceso y el proceso de la etapa S410 son similares al proceso de las etapas S409 y S410 ilustrado en la Figura 14. Además, el primer valor umbral y el segundo valor umbral pueden ser los mismos valores o diferentes valores.
En la variante ilustrada en la Figura 15, el parámetro de codificación se restaura al valor en el momento de codificación normal únicamente cuando la tasa de bits residual de CPB supera la cantidad predeterminada en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación, como se ha descrito anteriormente. Esto es por la siguiente razón. Incluso cuando se completa la codificación del grupo de imágenes en orden de codificación, si la tasa de bits residual de CPB es pequeña, la restauración del parámetro de codificación al valor en el momento de codificación normal aumenta la tasa de bits generada, de manera que la infrautilización de la CPB es altamente probable que tenga lugar en la codificación imágenes en un siguiente grupo de imágenes en orden de codificación. En el proceso de la Figura 15, si la tasa de bits residual de CPB es pequeña, el parámetro de codificación no se cambia. Por consiguiente, la aparición de la recodificación se suprime en la codificación del siguiente grupo de imágenes en orden de codificación y la cantidad de cálculo se reduce adicionalmente, en comparación con el proceso de la Figura 14.
Como se ha descrito anteriormente, en la presente realización, se cambia el parámetro de codificación en el momento de recodificación. En este punto, en el momento de codificación, se aplica un pre-filtro al vídeo de entrada, y los parámetros de codificación a cambiarse son un parámetro de cuantificación e intensidad de pre-filtro. Ambos de los parámetros de codificación pueden cambiarse o únicamente uno cualquiera de ellos puede cambiarse.
Para el parámetro de cuantificación, se añade un valor de desplazamiento predeterminado al valor de parámetro de cuantificación en el momento de codificación normal, y se realiza la recodificación usando un parámetro de cuantificación mayor de este tipo.
Para el pre-filtro, se usa un filtro gaussiano, como en la primera realización. El filtro gaussiano puede producirse muestreando una distribución gaussiana mostrada en la Ecuación (1) anteriormente descrita con respecto a x e y.
En la Ecuación (1), cuando o es igual a 0, no se aplica el filtro gaussiano y, por ejemplo, el parámetro de codificación por defecto ao = 0 y el parámetro de codificación para recodificar ai > 0. Además, un tipo de filtro de paso bajo no tiene importancia en la presente invención. Además, cómo se intensifica el grado de desenfoque en el momento de recodificación puede determinarse de manera arbitraria con antelación. Por ejemplo, el parámetro de codificación por defecto ao se cambia de acuerdo con el grado de complejidad de cada imagen, y ai puede obtenerse añadiendo un desplazamiento predeterminado a ao.
Para codificación, se realiza codificación de acuerdo con la norma de H.264. Además, en la presente realización, el grupo de imágenes en orden de codificación es un GOP. Un diagrama conceptual del GOP cuando se codifica es como se ilustra en la Figura 5. Un GOP incluye 10 imágenes, y las imágenes B y las imágenes P se alinean de manera alterna en un orden de visualización, siendo una imagen I una primera imagen, como en la primera realización.
Un ejemplo de una configuración del aparato de la cuarta realización se ilustra en la Figura 16. Una memoria intermedia de entrada 410 almacena una señal de vídeo de entrada y emite una señal de vídeo como un objetivo de codificación a una unidad de codificación 420. Además, cuando la memoria intermedia de entrada 410 recibe información que indica que se ha de realizar recodificación (información de reintento) debido a la aparición de la infrautilización de la CPB desde una unidad de gestión de c Pb 440, que se describirá a continuación, la memoria intermedia de entrada 410 emite la señal de vídeo desde una primera imagen del GOP establecida como el punto de reintento a la unidad de codificación 420 de nuevo. Además, cuando la información de punto de reintento se introduce desde la unidad de gestión de punto de reintento 460, la memoria intermedia de entrada 410 descarta la señal de vídeo almacenada del GOP más anterior que el punto de reintento.
La unidad de codificación 420 codifica la señal de vídeo introducida desde la memoria intermedia de entrada 410, y emite un flujo codificado a una memoria intermedia de salida 430. Además, la unidad de codificación 420 emite una tasa de bits (información de tasa de bits) generada cuando se codifica la señal de vídeo de entrada a la unidad de gestión de CPB 440. Además, cuando la unidad de codificación 420 recibe la información de reintento desde la unidad de gestión de CPB 440, una señal de vídeo desde la primera imagen del GOP indicada por el punto de reintento se introduce desde la memoria intermedia de entrada 410 de nuevo y el parámetro de codificación para recodificación se introduce desde la unidad de ajuste de parámetro 470. Por consiguiente, se realiza la recodificación usando el parámetro de codificación de entrada para recodificación.
La memoria intermedia de salida 430 emite un flujo codificado determinado para emitirse, es decir, un flujo codificado como un resultado de la codificación determinado que no requiere recodificación basándose en información de punto de reintento desde una unidad de gestión de punto de reintento 460. Mientras tanto, cuando la memoria intermedia de salida 430 recibe la información de reintento desde la unidad de gestión de CPB 440, la memoria intermedia de salida 430 descarta los flujos codificados almacenados del GOP que se está codificando.
La unidad de gestión de CPB 440 obtiene una tasa de bits residual de la CPB cambiada con el tiempo usando la información de tasa de bits introducida desde la unidad de codificación 420. También, cuando ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 440 emite la información de reintento a la memoria intermedia de entrada 410, la unidad de codificación 420, la unidad de ajuste de parámetro 470, y la memoria intermedia de salida 430 para señalizar que ha tenido lugar la infrautilización de la CPB.
La unidad de predicción de estado de CPB 450 determina si la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado. Si la tasa de bits residual de CPB es mayor o igual que el valor umbral, la unidad de predicción de estado de CPB 450 notifica a la unidad de gestión de punto de reintento 460 de información que indica que el punto de reintento de un siguiente GOP es su primera imagen I, como la información de cambio/no cambio de punto de reintento. A la inversa, cuando la tasa de bits residual de CPB es menor que el valor umbral, la unidad de predicción de estado de CPB 450 notifica a la unidad de gestión de punto de reintento 460 de información que indica que el punto de reintento de la primera imagen del siguiente GOP es una primera imagen (una imagen I) de un GOP inmediatamente antes de un g Op de este tipo, como la información de cambio/no cambio de punto de reintento.
Cuando la información de cambio/no cambio de reintento indica que el punto de reintento de la primera imagen del GOP a codificarse ahora es una primera imagen de un GOP inmediatamente anterior, la unidad de gestión de punto de reintento 460 notifica a la memoria intermedia de entrada 410 del punto de reintento y notifica a la memoria intermedia de entrada 410 que el punto de reintento es la primera imagen del GOP actualmente codificado a partir de la codificación de la siguiente imagen cuando la recodificación no tiene lugar en la codificación de la primera imagen. Además, cuando la información de cambio/no cambio de reintento indica que el punto de reintento es la primera imagen del GOP a codificarse ahora, la unidad de gestión de punto de reintento 460 notifica a la memoria intermedia de entrada 410 y la memoria intermedia de salida 430 del punto de reintento. En este punto, la información de notificación se denomina como información de punto de reintento. Como se ha descrito anteriormente, la memoria intermedia de entrada 410 introduce una señal de vídeo desde la imagen basándose en la información de punto de reintento en el momento de recodificación a la unidad de codificación 420, y la memoria intermedia de salida 430 emite únicamente un flujo codificado determinado para que se emita basándose en la información de punto de reintento.
Cuando una unidad de ajuste de parámetro 470 recibe la información de reintento desde la unidad de gestión de CPB 440, la unidad de ajuste de parámetro 470 introduce el parámetro de codificación para recodificación a la unidad de codificación 420, como se ha descrito anteriormente. Por consiguiente, la unidad de codificación 420 realiza codificación del mismo GOP usando un parámetro de codificación con el que se reduce una tasa de bits generada en el momento de recodificación.
Un flujo de un proceso de codificación en la presente realización se describirá con referencia a un diagrama de flujo de la Figura 14. En lo sucesivo, la correspondencia al diagrama de flujo de la Figura 14 se describe como S401, S402,..., y así sucesivamente.
Se describirán los siguientes cuatro casos de un proceso de codificación de ciertos GOP en el que un primer GOP es el GOP1 y un siguiente GOP es el GOP2.
• [Caso 1]: se ha completado la codificación del GOP1 sin aparición de la infrautilización de la CPB al codificar el GOP1, y la infrautilización de la CPB no ha tenido lugar incluso al codificar una primera imagen del siguiente GOP2.
• [Caso 2]: se ha completado la codificación del GOP1, y ha tenido lugar la infrautilización de la CPB en la codificación de una primera imagen del siguiente GOP2, de manera que es necesaria recodificación.
• [Caso 3]: Ha tenido lugar la infrautilización de la CPB al codificar una imagen intermedia del GOP2, de manera que es necesaria recodificación.
• [Caso 4]: Ha tenido lugar la infrautilización de la CPB al codificar el GOP2 y no podría evitarse incluso en la recodificación.
[Ejemplo de proceso del caso 1]
En primer lugar, se describirá el Caso 1 en el que la infrautilización de la CPB no ha tenido lugar en la codificación GOP1. Cuando se introduce una imagen del GOP1 a la memoria intermedia de entrada 410, la memoria intermedia de entrada 410 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 420 (S401). También, la unidad de codificación 420 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 430 (la memoria intermedia de salida 430 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 440 (S402).
En este punto, se usa un parámetro de codificación por defecto para codificar, y un proceso de filtración en la unidad de pre-filtro 421 se aplica a la imagen objetivo de codificación con intensidad de pre-filtro que corresponde al parámetro de codificación por defecto. Además, un coeficiente de DCT generado en la imagen actual se cuantifica por la unidad de cuantificación 422 usando el parámetro de cuantificación de acuerdo con el parámetro de codificación por defecto.
La unidad de gestión de CPB 440 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 420. En este ejemplo, puesto que no ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 440 no emite información de reintento (S403). Cuando la imagen objetivo de codificación es una última imagen en la señal de vídeo de entrada, la memoria intermedia de salida 430 emite flujos codificados almacenados y el proceso de codificación se completa (S404). Cuando la imagen objetivo de codificación es una primera imagen en el GOP1 (S405), la unidad de gestión de punto de reintento 460 establece la primera imagen en el GOP1 (imagen I) como un punto de reintento (S406) y a continuación la unidad de codificación 420 realiza codificación de una siguiente imagen.
Como alternativa, si la imagen objetivo de codificación es una última imagen del GOP, la unidad de ajuste de parámetro 470 cambia el parámetro de codificación en el parámetro de codificación por defecto cuando el parámetro de codificación para recodificación se ha usado en la recodificación (S408).
Mientras tanto, la unidad de gestión de CPB 440 emite información de tasa de bits residual de CPB a la unidad de predicción de estado de CPB 450, y la unidad de predicción de estado de CPB 450 determina si la tasa de bits residual de CPB es mayor o igual que un valor umbral predeterminado (S409). La unidad de predicción de estado de CPB 450 notifica a la unidad de gestión de punto de reintento 460 de un resultado de determinación como la información de cambio/no cambio de punto de reintento anteriormente descrita. Cuando la información de cambio/no cambio de punto de reintento indica que el punto de reintento no ha de cambiarse (la tasa de bits residual de CPB es menor que el valor umbral), la unidad de gestión de punto de reintento 460 notifica a la memoria intermedia de entrada 410 del punto de reintento que es la primera imagen en el GOP1 como información de punto de reintento. A continuación, el proceso continúa a un proceso de codificación de una primera imagen I en el GOP2 (S402). Cuando no tiene lugar la infrautilización de la CPB al codificar la imagen I (403), la unidad de gestión de punto de reintento 460 notifica a la memoria intermedia de entrada 410 y la memoria intermedia de salida 430 del punto de reintento que es la primera imagen en el GOP2 (S406). En otras palabras, cuando tiene lugar la recodificación en una imagen posterior del GOP2, se realiza la recodificación desde la primera imagen en GOP2.
Cuando la tasa de bits residual de CPB es suficiente en un momento en el que la codificación anteriormente descrita del GOP1 está completada, la información de cambio/no cambio de punto de reintento que indica que el punto de reintento ha de cambiarse se emite desde la unidad de predicción de estado de CPB 450 a la unidad de gestión de punto de reintento 460, y la unidad de gestión de punto de reintento 460 notifica a la memoria intermedia de entrada 410 del punto de reintento que es la primera imagen en el GOP2 como la información de punto de reintento (S410). En este caso, incluso cuando tiene lugar la infrautilización de la CPB en cualquier imagen del último GOP2, se realiza la recodificación desde la primera imagen en el GOP2.
[Ejemplo de proceso del caso 2]
A continuación, se describirá el caso 2 en el que ha tenido lugar la infrautilización de la CPB en la codificación de la primera imagen en el GOP2 y podría evitarse en la recodificación. Cuando la información de cambio/no cambio de punto de reintento en un momento en el que la codificación del GOP1 está completada indica que el punto de reintento no ha de cambiarse debido a que la tasa de bits residual de CPB es pequeña como en el caso 1, la unidad de gestión de punto de reintento 460 notifica a la memoria intermedia de entrada 410 del punto de reintento que es la primera imagen I del GOP1.
El proceso continúa a un proceso de codificación de una primera imagen I en el GOP2. Cuando la unidad de gestión de CPB 440 detecta que ha tenido lugar la infrautilización de la CPB en la imagen (S403), la memoria intermedia de entrada 410 introduce imágenes de manera secuencial desde la primera imagen del GOP1 a la unidad de codificación 420 basándose en la información de reintento desde la unidad de gestión de CPB 440, y la unidad de codificación 420 realiza la recodificación. En este caso, como el parámetro de codificación, se usa (S413) el parámetro de codificación para recodificación establecido desde la unidad de ajuste de parámetro 470. En esta recodificación, se aplica el proceso de pre-filtración a la imagen objetivo de codificación con la intensidad de pre-filtro que corresponde al parámetro de codificación para recodificación (el grado de desenfoque es mayor que el parámetro de codificación por defecto) por la unidad de pre-filtro 421. Además, un coeficiente de DCT generado en la imagen actual se cuantifica por la unidad de cuantificación 422 con un parámetro de cuantificación de acuerdo con el parámetro de codificación para recodificación (el tamaño de paso de cuantificación es mayor que el parámetro de codificación por defecto).
Cuando la codificación está completada hasta la última imagen de GOP1 mediante la recodificación del GOP1, el punto de reintento se establece a la primera imagen en el GOP1 o la primera imagen en el GOP2 por la tasa de bits residual de CPB en este momento y a continuación se lleva a cabo un proceso de codificación de la primera imagen en el GOP2.
[Ejemplo de proceso del caso 3]
En el caso 2 anteriormente descrito, se ha descrito el ejemplo en el que es necesaria la recodificación puesto que la infrautilización de la CPB tiene lugar al codificar la primera imagen del GOP2. Mientras tanto, cuando ha tenido lugar la infrautilización de la CPB en una imagen distinta de la primera imagen en el GOP2, se realiza de manera similar recodificación desde la primera imagen en el GOP2 usando el parámetro de codificación para recodificación.
Un diagrama conceptual de un cambio en el parámetro de codificación cuando se realiza la recodificación en una imagen intermedia en el GOP2 es como se ilustra en la Figura 7. En el ejemplo de la Figura 7, como en la primera realización, puesto que la infrautilización de la CPB tiene lugar al codificar la sexta imagen en el GOP2, se establece el parámetro de codificación para recodificación para suprimir una tasa de bits generada y el GOP2 se recodifica desde su primera imagen I. Puesto que se suprime la aparición de la infrautilización de la CPB debido a la recodificación, el parámetro de codificación para recodificación se restaura al parámetro de codificación por defecto en la codificación del siguiente GOP3, y se continúa el proceso de codificación.
Un diagrama conceptual de la transición de la tasa de bits residual de CPB cuando se realiza la recodificación es como se ilustra en la Figura 8. Una línea indicada por una línea en negrita es una tasa de bits residual de CPB después de recodificar, como en la primera a la tercera realizaciones. Puesto que se intensifica un grado de desenfoque por un pre-filtro y el parámetro de cuantificación es mayor que el parámetro de codificación por defecto en la recodificación, se suprime una tasa de bits generada y se realiza la transición como se ilustra, por ejemplo, en la Figura 8, de manera que se suprime la infrautilización de la CPB.
[Ejemplo de proceso del caso 4]
Finalmente, se describirá el caso 4 en el que ha tenido lugar la infrautilización de la CPB en la codificación del GOP2 y no podría evitarse incluso en la recodificación. En este caso, una operación en la que la unidad de gestión de CPB 440 detecta la infrautilización de la CPB y se realiza la recodificación del GOP2 es similar al de en el caso 3 anterior. Cuando ha tenido lugar la infrautilización de la CPB durante la recodificación del GOP2, la codificación se completa (S411). Además, la codificación puede no completarse y puede permitirse descarte de fotogramas de modo que se descartan datos codificados de la imagen en la que ha tenido lugar la infrautilización de la CPB sin completar la codificación y se codifica una siguiente imagen.
<Quinta realización
A continuación, se describirá una quinta realización. La Figura 17 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con la quinta realización.
Para una imagen de orden M y una imagen de orden N (N > M) en un orden de codificación, N-M se denomina como una distancia inter-imagen. En primer lugar, se obtiene una distancia inter-imagen máxima que es una distancia inter-imagen que puede trazarse de nuevo hasta la máxima dentro de un límite de memoria en el momento de recodificación basándose en información de una cantidad de memoria disponible dada desde el exterior, y se almacena (S500).
A continuación, una imagen siguiente a la imagen para la que ha finalizado la codificación en la señal de vídeo de entrada (la primera imagen de la señal de vídeo de entrada cuando se inicia la codificación) se establece como un objetivo de codificación (etapa S501). La imagen de entrada establecida como el objetivo de codificación se codifica usando H.264 o cualesquiera de otros esquemas de codificación predeterminados (etapa S502). Se realiza una determinación en cuanto a si ha tenido lugar la infrautilización de la CPB debido a la codificación de la imagen de entrada (etapa S503). Si ha tenido lugar la infrautilización de la CPB, el proceso continúa a la etapa S507. Además, puede realizarse una determinación en cuanto a si ha tenido lugar la infrautilización de la CPB, por ejemplo, usando un método usado en la norma H.264.
Si no ha tenido lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si está completada la codificación de una última imagen (etapa S504). Si se completa la codificación de la última imagen, el proceso de codificación finaliza.
De otra manera, se realiza una determinación en cuanto a si está completada la codificación del grupo de imágenes en orden de codificación (etapa S505). Si la codificación del grupo de imágenes en orden de codificación no está completada, el proceso vuelve a la etapa S501 en la que el proceso de codificación continúa para que se realice de manera similar en la siguiente imagen. Si la codificación del grupo de imágenes en orden de codificación está completada y el parámetro de codificación se ha cambiado debido a la recodificación del grupo de imágenes en orden de codificación (reintento), el parámetro de codificación se restaura al valor en el momento de codificación normal (etapa S506), y el proceso vuelve a la etapa S501 en la que se realiza el proceso de codificación desde una primera imagen de un siguiente grupo de imágenes en orden de codificación.
Si se detecta en la etapa S503 que ha tenido lugar la infrautilización de la CPB, se realiza una determinación en cuanto a si el grupo de imágenes en orden de codificación actual se ha recodificado (el reintento se ha completado) (etapa S507). Si el reintento se ha completado, la infrautilización de la CPB no podría evitarse incluso cuando se recodifican imágenes en el grupo de imágenes en orden de codificación. Por consiguiente, la codificación finaliza. Si el reintento no se ha completado, se establece un punto de reintento para recodificación de la imagen en el grupo de imágenes en orden de codificación actual. En otras palabras, se establece una imagen más alejada incluida en el grupo de imágenes en orden de codificación que se está codificando dentro de un intervalo de la distancia inter­ imagen máxima calculado en la etapa S500 como el objetivo de codificación (etapa S508). También, uno o ambos de los dos parámetros de codificación (el parámetro de cuantificación y la intensidad de pre-filtro) se cambian (para el parámetro de cuantificación, el tamaño de paso se cambia para que sea mayor, y para la intensidad de filtro, el grado de desenfoque se cambia para que sea mayor) (etapa S509), y el proceso vuelve a la etapa S502 en el que se realiza la recodificación desde la imagen en el grupo de imágenes en orden de codificación establecido como el punto de reintento.
De acuerdo con el proceso de recodificación anteriormente descrito, una pluralidad de imágenes en el grupo de imágenes en orden de codificación (por ejemplo, el GOP) se codifican dos veces únicamente cuando ha tenido lugar la infrautilización de la CPB, a diferencia de la técnica relacionada b en la que todos los fotogramas del vídeo de entrada se codifican dos veces. En el momento de la segunda codificación, se realiza la codificación usando un parámetro de codificación para suprimir la infrautilización de la CPB. Únicamente se recodifica una pluralidad de imágenes en un correspondiente grupo de imágenes en orden de codificación para suprimir la infrautilización de la CPB únicamente cuando ha tenido lugar la infrautilización de la CPB. Por consiguiente, puede reducirse una cantidad de cálculo en comparación con la técnica relacionada b en la que todas las imágenes del vídeo de entrada se codifican dos veces. Además, una memoria requerida como la memoria intermedia de entrada y la memoria intermedia de salida pueden tener únicamente un tamaño que corresponde a un número predeterminado de imágenes, de manera que puede conseguirse reducción de memoria.
La Figura 18 es un diagrama de flujo de proceso que ilustra un método de control de codificación de vídeo de acuerdo con una variante de la quinta realización. La presente invención puede implementarse sustituyendo el proceso de la etapa S506 ilustrado en la Figura 17 por un proceso de las etapas S561 a S563 ilustradas en la Figura 18. Los procesos distintos de la etapa S506 son similares a aquellos ilustrados en la Figura 17.
Después del proceso de la etapa S505 de la Figura 17, se realiza una determinación en cuanto a si el parámetro de codificación se ha cambiado debido al reintento (etapa S561). Si el parámetro de codificación no se ha cambiado debido al reintento, el proceso continúa a la etapa S501 de la Figura 17. Si el parámetro de codificación se ha cambiado debido al reintento, entonces se realiza una determinación en cuanto a si la tasa de bits residual de CPB es mayor o igual que un valor umbral predeterminado (etapa S562). Si la tasa de bits residual de CPB es menor que el valor umbral predeterminado, el parámetro de codificación permanece como el parámetro de codificación usado en la recodificación. El parámetro de codificación se restaura a un parámetro de codificación por defecto original únicamente cuando la tasa de bits residual de CPB es mayor o igual que el valor umbral predeterminado, (etapa S563). A continuación, el proceso vuelve a la etapa S501 de la Figura 17 en la que se lleva a cabo codificación de un siguiente grupo de imágenes en orden de codificación.
En la variante ilustrada en la Figura 18, el parámetro de codificación se restaura al valor en el momento de codificación normal únicamente cuando la tasa de bits residual de CPB supera la cantidad predeterminada en un momento en el que se completa la codificación del grupo de imágenes en orden de codificación. Esto es por la siguiente razón. Si la tasa de bits residual de CPB es pequeña incluso cuando se completa la codificación del grupo de imágenes en orden de codificación, la restauración del parámetro de codificación al valor en el momento de codificación normal aumenta una tasa de bits generada, y por consiguiente, la infrautilización de la CPB es altamente probable que tenga lugar en la codificación del siguiente grupo de imágenes en orden de codificación. En el proceso de la Figura 18, si la tasa de bits residual de CPB es pequeña, el parámetro de codificación no se cambia de manera que se suprime la aparición de la recodificación en la codificación del siguiente grupo de imágenes en orden de codificación y una cantidad de cálculo se reduce adicionalmente, en comparación con el proceso de la Figura 17.
En la presente realización, se cambia el parámetro de codificación en el momento de la recodificación, como se ha descrito anteriormente. En este punto, se aplica un pre-filtro al vídeo de entrada en el momento de codificación, y los parámetros de codificación a cambiarse son un parámetro de cuantificación e intensidad de pre-filtro. Ambos de los dos parámetros de codificación pueden cambiarse o uno cualquiera de ellos puede cambiarse.
Para el parámetro de cuantificación, un valor de desplazamiento predeterminado se añade al valor de parámetro de cuantificación en el momento de codificación normal y se realiza la recodificación usando un parámetro de cuantificación mayor.
Para el pre-filtro, se usa un filtro gaussiano en la presente realización, como en la primera realización. El filtro gaussiano puede producirse muestreando una distribución gaussiana mostrada en la Ecuación (1) anteriormente descrita con respecto a x e y.
En la Ecuación (1), cuando a es igual a 0, no se aplica el filtro Gaussiano, y por ejemplo, un parámetro de codificación por defecto a0 = 0 y el parámetro de codificación para recodificación ai > 0. Además, un tipo de filtro de paso bajo no tiene importancia en la presente invención. Además, cómo se intensifica el grado de desenfoque en el momento de recodificación puede determinarse de manera arbitraria con antelación. Por ejemplo, el parámetro de codificación por defecto ao puede cambiarse de acuerdo con el grado de complejidad de cada imagen y a i puede obtenerse añadiendo un desplazamiento predeterminado a ao.
Para codificar, se realiza codificación de acuerdo con la norma de H.264. Además, en la presente realización, el grupo de imágenes en orden de codificación es un GOP, y un diagrama conceptual del GOP cuando se codifica es como se ilustra en la Figura 5. Un GOP incluye 10 imágenes, y las imágenes B y las imágenes P se alinean de manera alterna en un orden de visualización, siendo una imagen I una primera imagen, como en la primera realización.
Un ejemplo de una configuración del aparato de la quinta realización se ilustra en la Figura 19. Se notifica a una unidad de determinación de distancia inter-imagen máxima 600 de una cantidad de memoria disponible (información de cantidad de memoria disponible) a partir del exterior, y obtiene una distancia inter-imagen máxima que puede trazarse de nuevo hasta el máximo en el momento de recodificación basándose en la cantidad de información de memoria disponible. En la presente realización, una señal de vídeo de entrada del GOP que se está codificando se almacena en una memoria intermedia de entrada 510 y un flujo codificado del GOP que se está codificando se almacena en una memoria intermedia de salida 530 en orden para hacer frente a la recodificación. La unidad de determinación de distancia inter-imagen máxima 600 obtiene una distancia inter-imagen en la que una suma de una cantidad de memoria requerida en el peor caso de la memoria intermedia de entrada 510 y la memoria intermedia de salida 530 y otra cantidad de memoria usada es menor que o igual a la cantidad de memoria disponible, mientras se reduce un valor de la distancia inter-imagen máxima empezando desde una longitud de GOP que es la distancia inter-imagen máxima, para determinar la distancia inter-imagen máxima.
En este punto, se ilustra un ejemplo en el que se obtiene la cantidad de memoria requerida cuando se calcula la distancia inter-imagen máxima. En primer lugar, una cantidad de memoria requerida de la memoria intermedia de entrada 510 es como sigue.
Cantidad de memoria requerida de memoria intermedia de entrada = (distancia inter-imagen máxima 1) x (cantidad de datos de una imagen)
Mientras tanto, la cantidad de memoria requerida de la memoria intermedia de salida 530 es una tasa de bits máxima que puede generarse sin provocar la infrautilización de la CPB bajo limitaciones de un tamaño de la CPB y de una tasa de bits. En concreto, la cantidad de memoria requerida es una tasa de bits máxima en la que se han usado todos los datos introducidos a la CPB de acuerdo con la tasa de bits (la tasa de bits residual de CPB es 0 después de codificación de GOP) en un estado en el que la tasa de bits residual de CPB inmediatamente antes de que se inicie la codificación del GOP es igual a un tamaño que pueda tener lugar de la CPB. Como una ecuación de cálculo usando el número de bits, la cantidad de memoria requerida de la memoria intermedia de salida se representa como la siguiente ecuación.
Cantidad de memoria requerida de la memoria intermedia de salida = (tasa de bits/número de imágenes por segundo) x (distancia inter-imagen máxima 1) (tamaño de CPB en número de bits)
Además, puede ser necesario que se calcule una cantidad de datos de los siguientes datos. En el caso de H.264, una imagen decodificada producida durante la codificación de GOP debería mantenerse como una imagen de referencia (si la imagen decodificada no se mantiene, no hay imagen de referencia cuando se realiza la codificación desde el punto de reintento en el momento de recodificación) para hacer frente a la recodificación. La imagen en el GOP no hace referencia a una imagen más anterior que el GOP. Por consiguiente, cuando una imagen de referencia se almacena en una DPB (Memoria Intermedia de Imagen Decodificada), una memoria se hace suficiente para imágenes I y P en todas las situaciones cuando la memoria se asegura como sigue.
Cuando tiene lugar la recodificación en la última imagen en el GOP, puede prepararse una memoria que corresponde al número de imágenes I y P en el grupo de imágenes en orden de codificación más anterior que una imagen desde la que se inicia la recodificación (una imagen en la distancia inter-imagen máxima) en el orden de codificación.
En la Figura 20, se ilustra un diagrama conceptual para explicar esta cantidad de memoria requerida. Por ejemplo, el GOP incluye 10 imágenes, y una distancia inter-imagen máxima es 6, como se ilustra en la Figura 20. El número de imágenes para mantenerse en la memoria intermedia de entrada 510 es un máximo de 7. Mientras tanto, en el ejemplo de la Figura 20, las imágenes decodificadas de una primera imagen I y una siguiente imagen P deberían también mantenerse como imágenes de referencia en la memoria, para recodificación. Cuando se compara este caso con un caso en el que la distancia inter-imagen máxima es igual a la longitud del GOP, una DPB para dos imágenes de la primera imagen I y la segunda imagen P debería mantenerse adicionalmente en el caso como se ilustra en la Figura 20, pero el número de imágenes a mantenerse en la memoria intermedia de entrada 510 se reduce en 3. En otras palabras, a medida que la distancia inter-imagen máxima es menor, una cantidad de memoria para imágenes de referencia aumenta, pero el número de imágenes a almacenarse en la memoria intermedia de entrada 510 es más reducido. Por consiguiente, puede observarse que una pequeña distancia inter-imagen máxima reduce la cantidad de memoria requerida.
Además, en H.264, un vector de movimiento de la imagen de referencia puede referenciarse, y por consiguiente, puede ser necesaria una memoria para el vector de movimiento. Además, el cálculo de la memoria requerida depende de, por ejemplo, una configuración de un codificador. Se obtiene una distancia inter-imagen en la que una suma de estas cantidades de memoria es menor o igual que la cantidad de memoria disponible para determinar la distancia inter-imagen máxima.
Además, al implementar la presente invención, la distancia inter-imagen máxima puede calcularse externamente y proporcionarse a la unidad de determinación de distancia inter-imagen máxima 600, en lugar de señalizar a la unidad de determinación de distancia inter-imagen máxima 600 de la cantidad de memoria disponible externamente y calcular la distancia inter-imagen máxima.
La unidad de determinación de distancia inter-imagen máxima 600 notifica a una unidad de gestión de punto de reintento 560 de la información de distancia inter-imagen máxima determinada.
Una memoria intermedia de entrada 510 almacena una señal de vídeo de entrada y emite la señal de vídeo como un objetivo de codificación a una unidad de codificación 520. Además, cuando la memoria intermedia de entrada 510 recibe información que indica que se ha de realizar recodificación (información de reintento) debido a la aparición de la infrautilización de la CPB, desde una unidad de gestión de CPB 540, que se describirá a continuación, la memoria intermedia de entrada 510 emite una señal de vídeo a la unidad de codificación 520 desde una imagen del punto de reintento notificado desde la unidad de gestión de punto de reintento 560 de nuevo. Además, cuando se notifica a la memoria intermedia de entrada 510 de la información de punto de reintento desde la unidad de gestión de punto de reintento 560, la memoria intermedia de entrada 510 descarta los datos de una señal de vídeo que corresponden a imágenes almacenadas antes del punto de reintento.
La unidad de codificación 520 codifica la señal de vídeo introducida desde la memoria intermedia de entrada 510, y emite un flujo codificado a la memoria intermedia de salida 530. Además, cuando la codificación de la imagen está completada, la unidad de codificación 520 emite una tasa de bits (información de tasa de bits) generada cuando se codifica la señal de vídeo de entrada, a una unidad de gestión de CPB 540, y emite información que indica que la codificación de imagen está completada (información de imagen de finalización de codificación) a la unidad de gestión de punto de reintento 560. Además, cuando la unidad de codificación 520 recibe la información de reintento desde la unidad de gestión de CPB 540, se introduce una señal de vídeo desde la imagen del punto de reintento en el GOP que se está codificando desde la memoria intermedia de entrada 510 de nuevo, y se introduce el parámetro de codificación para recodificación desde la unidad de ajuste de parámetro 550. Por consiguiente, la unidad de codificación 520 realiza recodificación usando el parámetro de codificación de entrada para recodificación.
La memoria intermedia de salida 530 almacena el flujo codificado que es un resultado de codificación de GOP. Cuando se notifica a la memoria intermedia de salida 530 de la información de punto de reintento desde la unidad de gestión de punto de reintento 560, la memoria intermedia de salida 530 emite los flujos codificados almacenados que corresponden a las imágenes antes del punto de reintento y elimina los datos desde la memoria intermedia de salida 530. Además, cuando se recibe la información de reintento desde la unidad de gestión de CPB 540, la memoria intermedia de salida 530 descarta los flujos codificados almacenados del GOP que se está codificando.
La unidad de gestión de CPB 540 obtiene una tasa de bits residual de la CPB cambiada con el tiempo usando la información de tasa de bits introducida desde la unidad de codificación 520. Es decir, la unidad de gestión de CPB 540 obtiene la tasa de bits residual de la CPB ilustrada en el diagrama conceptual de la Figura 1. También, cuando ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 540 emite la información de reintento a la memoria intermedia de entrada 510, la unidad de codificación 520, la unidad de ajuste de parámetro 550, y la memoria intermedia de salida 530 para señalizar que tiene lugar la infrautilización de la CPB.
Cuando la unidad de ajuste de parámetro 550 recibe la información de reintento desde la unidad de gestión de CPB 540, la unidad de ajuste de parámetro 550 introduce el parámetro de codificación para recodificación a la unidad de codificación 520 como se ha descrito anteriormente. Por consiguiente, la unidad de codificación 520 realiza codificación del mismo GOP usando un parámetro de codificación con el que se reduce una tasa de bits generada en el momento de recodificación.
La unidad de gestión de punto de reintento 560 notifica a la memoria intermedia de entrada 510 y a la memoria intermedia de salida 530 de información de punto de reintento que indica cuál imagen es un punto de reintento cuando ha tenido lugar la infrautilización de la CPB debido a la codificación de la siguiente imagen basándose en la información de imagen de finalización de codificación y la información de la distancia inter-imagen máxima.
Un flujo de un proceso de codificación en la presente realización se describirá con referencia al diagrama de flujo de la Figura 17. En lo sucesivo, la correspondencia al diagrama de flujo de la Figura 17 se describe como S501, S502, ..., y así sucesivamente.
Se describirán los siguientes tres casos de un proceso de codificación de un cierto GOP.
• [Caso 1]: La infrautilización de la CPB no ha tenido lugar en la codificación del GOP.
• [Caso 2]: Ha tenido lugar la infrautilización de la CPB en la codificación del GOP y podría evitarse en la recodificación.
• [Caso 3]: Ha tenido lugar la infrautilización de la CPB en la codificación del GOP y no podría evitarse incluso en la recodificación.
[Ejemplo de proceso del caso 1]
En primer lugar, se describirá el caso 1 en el que la infrautilización de la CPB no ha tenido lugar en la codificación del GOP. Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 510, la memoria intermedia de entrada 510 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 520 (S501). También, la unidad de codificación 520 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 530 (la memoria intermedia de salida 530 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 540. Además, la unidad de codificación 520 emite información de imagen de finalización de codificación a la unidad de gestión de punto de reintento 560 (S502).
En este punto, se usa un parámetro de codificación por defecto para codificar, y se aplica un proceso de filtración en la unidad de pre-filtro 521 a la imagen objetivo de codificación con intensidad de pre-filtro que corresponde al parámetro de codificación por defecto. Además, un coeficiente de DCT generado en la imagen actual se cuantifica por la unidad de cuantificación 522 usando el parámetro de cuantificación de acuerdo con el parámetro de codificación por defecto.
La unidad de gestión de CPB 540 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 520. En este ejemplo, puesto que no ha tenido lugar la infrautilización de la CPB, la unidad de gestión de CPB 540 no emite información de reintento (S503). Cuando la imagen objetivo de codificación es una última imagen en la señal de vídeo de entrada, la memoria intermedia de salida 530 emite flujos codificados almacenados, y el proceso de codificación se completa (S504). Como alternativa, cuando la imagen objetivo de codificación es una última imagen en el GOP, la memoria intermedia de salida 530 emite el flujo codificado almacenado, la memoria intermedia de entrada 510 descarta la imagen almacenada, y se lleva a cabo (S505) un proceso de codificación de una primera imagen en un siguiente GOP. En este punto, puesto que no ha tenido lugar la recodificación en el GOP, el parámetro de codificación no se cambia y se lleva a cabo (S506) el proceso de codificación de la primera imagen en el siguiente GOP.
[Ejemplo de proceso del caso 2]
A continuación, se describirá el caso 2 en el que ha tenido lugar la infrautilización de la CPB en la codificación del GOP y podría evitarse en la recodificación. Cuando la imagen del GOP se introduce a la memoria intermedia de entrada 510, la memoria intermedia de entrada 510 almacena la imagen e introduce la imagen como una imagen objetivo de codificación a la unidad de codificación 520 (S501). También, la unidad de codificación 520 codifica la imagen, emite un flujo codificado a la memoria intermedia de salida 530 (la memoria intermedia de salida 530 almacena el flujo codificado en lugar de emitir el flujo codificado), y emite la información de tasa de bits acerca de la imagen a la unidad de gestión de CPB 540 (S502). En este punto, se usa un parámetro de codificación por defecto para codificar.
La unidad de gestión de CPB 540 calcula una tasa de bits residual de CPB para la imagen basándose en la información de tasa de bits introducida desde la unidad de codificación 520. Como resultado, cuando la unidad de gestión de CPB 540 detecta la infrautilización de la CPB para la imagen, la unidad de gestión de CPB 540 emite la información de reintento a la unidad de codificación 520, la unidad de ajuste de parámetro 550, la memoria intermedia de entrada 510, y la memoria intermedia de salida 530 (S503).
Cuando el reintento no ha tenido lugar aún para el GOP que se está codificando (S507), la memoria intermedia de entrada 510 emite la imagen almacenada en una posición indicada por el punto de reintento, del GOP que se está codificando, a la unidad de codificación 520 (S508), y la unidad de ajuste de parámetro 550 emite el parámetro de codificación para recodificación a la unidad de codificación 520 (S509). Además, la memoria intermedia de salida 530 descarta el flujo codificado del GOP que se está codificando. También, la unidad de codificación 520 codifica imágenes posteriores al punto de reintento de entrada usando el parámetro de codificación para recodificación. En este punto, el parámetro de codificación para recodificación se usa para codificar, y se aplica un proceso de pre­ filtración en la unidad de pre-filtro 521 a la imagen objetivo de codificación con intensidad de pre-filtro que corresponde al parámetro de codificación para recodificación (un grado de desenfoque es mayor que el parámetro de codificación por defecto). Además, un coeficiente de DCT generado en la imagen actual se cuantifica por la unidad de cuantificación 522 usando el parámetro de cuantificación de acuerdo con el parámetro de codificación para recodificación (el tamaño de paso de cuantificación es mayor que el parámetro de codificación por defecto). A continuación, las imágenes del GOP se introducen secuencialmente desde la memoria intermedia de entrada 510 a la unidad de codificación 520 y se someten al proceso de codificación por la unidad de codificación 520 únicamente cuando no tiene lugar la infrautilización de la CPB. También, cuando la codificación de la última imagen del GOP está completada (S505), el flujo codificado del GOP se emite desde la memoria intermedia de salida 530 y la unidad de codificación 520 establece el parámetro de codificación al parámetro de codificación por defecto (S506). El proceso continúa a un proceso de codificación de un siguiente GOP. Además, se realiza una operación cuando la codificación de la última imagen del vídeo de entrada está completada similar a la de en el caso 1 anteriormente descrito.
Un diagrama conceptual de un cambio en el parámetro de codificación cuando se ha realizado recodificación se ilustra en la Figura 7. Como en la primera realización, en el ejemplo de la Figura 7, puesto que ha tenido lugar la infrautilización de la CPB en la codificación de la sexta imagen en el segundo GOP2, se establece el parámetro de codificación para recodificación para suprimir una tasa de bits generada y el GOP2 se recodifica desde su primera imagen I dentro de un intervalo de la distancia inter-imagen máxima. Puesto que se suprime la aparición de la infrautilización de la CPB debido a la recodificación, el parámetro de codificación para recodificación se restaura al parámetro de codificación por defecto en la codificación del siguiente GOP3 y se continúa el proceso de codificación. Un diagrama conceptual de la transición de la tasa de bits residual de CPB cuando se realiza la recodificación se ilustra en la Figura 8. Una línea indicada por una línea en negrita es una tasa de bits residual de CPB después de recodificar, como en la primera a cuarta realizaciones. En la recodificación, puesto que se intensifica un grado de desenfoque por un pre-filtro y el parámetro de cuantificación es mayor que el parámetro de codificación por defecto, la tasa de bits generada se suprime y se realiza la transición como se ilustra, por ejemplo, en la Figura 8 de manera que se suprime la infrautilización de la CPB.
La Figura 21 es un diagrama que ilustra una reducción de memoria de la memoria intermedia de entrada y la memoria intermedia de salida a través de la limitación del punto de reintento a una distancia inter-imagen máxima. Un caso en el que el punto de reintento se establece de acuerdo con la presente realización se describirá como el “caso A". Por ejemplo, una imagen a partir de la cual se inicia la recodificación cuando ha tenido lugar la infrautilización de la CPB también se considera siempre como la primera imagen del grupo de imágenes en orden de codificación (por ejemplo, el GOP), a diferencia de la presente realización. Esto se denomina como “caso B”. El caso A se comparará con el caso B. Por ejemplo, en el caso A, si la imagen actualmente codificada es una novena imagen P del GOP2' como se ilustra en la Figura 21 y la distancia inter-imagen máxima es “5,” el punto de reintento es una cuarta imagen (imagen P) del GOP2', y no se usan tres imágenes A21 desde la primera imagen del GOP2' más anterior que el punto de reintento para recodificación. Por esta razón, los datos en la memoria intermedia de entrada 510 y la memoria intermedia de salida 530 que corresponden a estas imágenes no necesitan mantenerse (pueden descartarse). Por otra parte, en un caso tal como el caso B, puesto que es necesario que se mantengan datos que corresponden a las imágenes en la memoria intermedia de entrada 510 y la memoria intermedia de salida 530 hasta que se complete la codificación del GOP2 desde la primera imagen en el GOP2', una cantidad de memoria requerida aumenta. En la presente realización (Caso A), puesto que la distancia inter-imagen máxima se calcula para establecer el punto de reintento, es posible reducir la cantidad de memoria, en comparación con el caso B.
[Ejemplo de proceso del caso 3]
Finalmente, se describirá el caso 3 en el que ha tenido lugar la infrautilización de la CPB en la codificación del GOP y no podría evitarse incluso en la recodificación. En este caso, una operación en la que la unidad de gestión de CPB 540 detecta la infrautilización de la CPB y la recodificación del GOP se realiza es similar a la de en el caso 2. Cuando tiene lugar la infrautilización de la CPB durante la recodificación del GOP, la codificación se completa (S507). Además, la codificación puede no completarse y puede permitirse descarte de fotogramas de modo que se descartan datos codificados de la imagen en la que ha tenido lugar la infrautilización de la CPB sin completar la codificación y se codifica una siguiente imagen.
El proceso de control de codificación de vídeo de acuerdo con la primera a quinta realizaciones anteriormente descritas puede realizarse por un ordenador y un programa de software, y el programa puede grabarse en un medio de grabación legible por ordenador o proporcionarse mediante una red.
Aplicabilidad industrial
La presente invención puede aplicarse a tecnología de codificación de vídeo para codificación de una señal de vídeo, de modo que no tiene lugar la infrautilización de una memoria intermedia hipotética tal como una memoria intermedia de imagen codificada en un decodificador hipotético y puede mejorarse la calidad de vídeo de un vídeo codificado.
Símbolos de referencia
110, 210, 310, 410, 510 memoria intermedia de entrada
120, 220, 320, 420, 520 unidad de codificación
121,221, 321,421, 521 unidad de pre-filtro
122, 222, 322, 422, 522 unidad de cuantificación
130, 230, 330, 430, 530 memoria intermedia de salida
140, 240, 340, 440, 540 unidad de gestión de CPB
150, 260, 370, 470, 550 unidad de ajuste de parámetro
250, 350 unidad de gestión de contador de reintento
360, 450 unidad de predicción de estado de CPB
460, 560 unidad de gestión de punto de reintento
600 unidad de determinación de distancia inter-imagen máxima

Claims (3)

REIVINDICACIONES
1. Un método de control de codificación de vídeo en el que se controla una tasa de bits generada de modo que una memoria intermedia hipotética en un decodificador no se colapsa y se codifica una señal de vídeo de entrada, suministrándose la memoria intermedia hipotética con un flujo codificado de la señal de vídeo de entrada a una tasa de bits predeterminada y leyendo el flujo codificado que corresponde a cada imagen, comprendiendo el método las etapas de:
codificar de manera secuencial cada imagen en un grupo de imágenes en orden de codificación de acuerdo con un parámetro de codificación actual que incluye al menos uno de un parámetro de cuantificación e intensidad de filtro de un pre-filtro para la señal de vídeo de entrada, incluyendo el grupo de imágenes en orden de codificación un número predeterminado de imágenes y que es una colección de imágenes sucesivas en un orden de codificación, estableciéndose el parámetro de codificación actual de acuerdo con un valor de un contador de reintento;
comprobar si ha tenido lugar la infrautilización en la memoria intermedia hipotética en cada momento cuando se extrae el flujo codificado basándose en información de tasa de bits generada en la codificación de cada imagen; y
cuando ha tenido lugar la infrautilización en la memoria intermedia hipotética, incrementar el contador de reintento para cambiar el parámetro de codificación actual a un parámetro de codificación cambiado establecido de acuerdo con el valor del contador de reintento, y recodificar el grupo de imágenes en orden de codificación que se está codificando desde su primera imagen usando el parámetro de codificación cambiado, indicando el valor del contador de reintento el número de veces de recodificación, en donde
el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del pre­ filtro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro se aumentan a medida que se aumenta el valor del contador de reintento, y se reducen el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del pre­ filtro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro a medida que se reduce el valor del contador de reintento,
caracterizado por comprender adicionalmente una etapa de comprobación de una tasa de bits residual de la memoria intermedia hipotética cuando no ha tenido lugar la infrautilización en la memoria intermedia hipotética hasta que no se completa la codificación de una última imagen en el grupo de imágenes en orden de codificación, no cambiar el valor del contador de reintento para no cambiar el parámetro de codificación cambiado cuando la tasa de bits residual es menor que un valor umbral de tasa de bits residual predeterminado o el contador de reintento es 0, y reducir el valor del contador de reintento en 1 para reducir el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del pre-filtro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro que han de usarse para codificar un siguiente grupo de imágenes en orden de codificación siguientes al grupo de imágenes en orden de codificación cuando la tasa de bits residual es mayor o igual al valor umbral de la tasa de bits residual y el contador de reintento no es 0.
2. Un aparato de codificación de vídeo en el que se controla una tasa de bits generada de modo que una memoria intermedia hipotética en un decodificador no se colapsa y se codifica una señal de vídeo de entrada, suministrándose la memoria intermedia hipotética con un flujo codificado de la señal de vídeo de entrada a una tasa de bits predeterminada y leyendo el flujo codificado que corresponde a cada imagen, comprendiendo el aparato:
una unidad de codificación configurada para codificar de manera secuencial cada imagen de un grupo de imágenes en orden de codificación de acuerdo con un parámetro de codificación actual que incluye al menos uno de un parámetro de cuantificación e intensidad de filtro de un pre-filtro para la señal de vídeo de entrada, incluyendo el grupo de imágenes en orden de codificación un número predeterminado de imágenes y que es una colección de imágenes sucesivas en un orden de codificación, estableciéndose el parámetro de codificación actual de acuerdo con un valor de un contador de reintento;
una unidad de gestión de memoria configurada para comprobar si ha tenido lugar una infrautilización en la memoria intermedia hipotética en cada momento cuando se extrae el flujo codificado basándose en información de tasa de bits generada en la codificación de cada imagen e información de reintento emitida cuando se detecta que ha tenido lugar la infrautilización en la memoria intermedia hipotética;
una unidad de gestión de contador de reintento configurada para incrementar el valor del contador de reintento cuando se emite la información de reintento y reducir el valor del contador de reintento cuando no se emite la información de reintento hasta que no está completa la codificación de una última imagen en el grupo de imágenes en orden de codificación, y
una unidad de ajuste de parámetro configurada para cambiar el parámetro de codificación actual a un parámetro de codificación cambiado de acuerdo con el valor del contador de reintento cuando se emite la información de reintento y para señalizar la unidad de codificación del parámetro de codificación cambiado, en donde:
la unidad de ajuste de parámetro aumenta el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del pre-filtro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro a medida que se aumenta el valor del contador de reintento, reduce el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del pre-filtro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro a medida que se reduce el valor del contador de reintento, y notifica a la unidad de codificación del parámetro de codificación establecido; y
cuando se emite la información de reintento, la unidad de codificación re-codifica la señal de vídeo de entrada desde una primera imagen en el grupo de imágenes en orden de codificación que se está codificando, usando el parámetro de codificación cambiado, cambiado por la unidad de ajuste de parámetro, indicando el contador de reintento el número de veces de recodificación;
caracterizado por que comprende además una unidad de predicción de estado de memoria intermedia configurada para comprobar una tasa de bits residual de la memoria intermedia hipotética cuando la codificación de una última imagen en el grupo de imágenes en orden de codificación está completada sin aparición de la infrautilización en la memoria intermedia hipotética, y emitir información de cambio/no cambio de parámetro que indica que se requiere o no un cambio de parámetro de acuerdo con si la tasa de bits residual es mayor o igual a un valor umbral de tasa de bits residual predeterminado, en el que se requiere el cambio de parámetro cuando la tasa de bits residual es may,or o igual al valor umbral de tasa de bits residual predeterminado mientras que no se requiere el cambio de parámetro cuando la tasa de bits residual no es mayor o igual al valor umbral de tasa de bits residual predeterminado
en donde, cuando la unidad de gestión de contador de reintento recibe la información de cambio/no cambio de parámetro desde la unidad de predicción de estado de memoria intermedia, la unidad de gestión de contador de reintento no cambia el valor del contador de reintento para no cambiar el parámetro de codificación cambiado cuando la información de cambio/no cambio de parámetro indica que no se requiere el cambio de parámetro o el contador de reintento es 0, y reduce el contador de reintento en 1 para reducir el tamaño de paso del parámetro de cuantificación, el grado de desenfoque por un proceso de filtración del pre­ filtro, o tanto el tamaño de paso del parámetro de cuantificación como el grado de desenfoque por el proceso de filtración del pre-filtro que han de usarse para codificar un siguiente grupo de imágenes en orden de codificación siguiente al grupo de imágenes en orden de codificación cuando la información de cambio/no cambio de parámetro indica que se requiere el cambio de parámetro y el contador de reintento no es 0.
3. Un programa informático que comprende instrucciones que, cuando se ejecutan por un ordenador, provocan que el ordenador realice el método de control de codificación de vídeo de acuerdo con la reivindicación 1.
ES11777442T 2010-05-07 2011-04-28 Método de control de codificación de imágenes animadas, aparato de codificación de imágenes animadas y programa de codificación de imágenes animadas Active ES2703005T3 (es)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2010106855 2010-05-07
JP2010106851 2010-05-07
JP2010106854 2010-05-07
JP2010106853 2010-05-07
JP2010106852 2010-05-07
PCT/JP2011/060364 WO2011138923A1 (ja) 2010-05-07 2011-04-28 動画像符号化制御方法,動画像符号化装置および動画像符号化プログラム

Publications (1)

Publication Number Publication Date
ES2703005T3 true ES2703005T3 (es) 2019-03-06

Family

ID=44903775

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11777442T Active ES2703005T3 (es) 2010-05-07 2011-04-28 Método de control de codificación de imágenes animadas, aparato de codificación de imágenes animadas y programa de codificación de imágenes animadas

Country Status (11)

Country Link
US (1) US9179165B2 (es)
EP (1) EP2568705B1 (es)
JP (1) JP5295429B2 (es)
KR (1) KR101389919B1 (es)
CN (1) CN102986212B (es)
BR (1) BR112012028184A2 (es)
CA (1) CA2798012A1 (es)
ES (1) ES2703005T3 (es)
RU (1) RU2530313C2 (es)
TW (1) TWI483617B (es)
WO (1) WO2011138923A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100303155A1 (en) * 2008-01-29 2010-12-02 Yuki Maruyama Image coding device, image coding method, image coding integrated circuit and image coding program
US20140037005A1 (en) * 2012-08-02 2014-02-06 Penne Y. LEE Transcoding video data
US9374585B2 (en) * 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
CN104243984B (zh) * 2013-06-19 2017-09-19 晨星半导体股份有限公司 应用于数字音视频编解码技术标准系统的解码方法及解码装置
US9524249B2 (en) * 2014-12-23 2016-12-20 Intel Corporation Memory encryption engine integration
CN112738509B (zh) * 2021-03-30 2021-07-09 浙江华创视讯科技有限公司 视频编码方法、视频解码方法、存储介质以及电子设备
CN115103190A (zh) * 2022-06-14 2022-09-23 晶晨芯半导体(成都)有限公司 编码器码率控制方法及模块、芯片、电子设备和存储介质
CN117979062B (zh) * 2024-03-05 2024-07-12 北京瑞祺皓迪技术股份有限公司 一种基于编码流引用计数的实时视频流传输方法及装置

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136371A (en) 1990-03-15 1992-08-04 Thomson Consumer Electronics, Inc. Digital image coding using random scanning
US5134476A (en) 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
US5461420A (en) * 1992-09-18 1995-10-24 Sony Corporation Apparatus for coding and decoding a digital video signal derived from a motion picture film source
US5786858A (en) * 1993-01-19 1998-07-28 Sony Corporation Method of encoding image signal, apparatus for encoding image signal, method of decoding image signal, apparatus for decoding image signal, and image signal recording medium
AU676581B2 (en) 1993-04-09 1997-03-13 Sony Corporation Method and apparatus for coding image, and image recording medium
US5589884A (en) 1993-10-01 1996-12-31 Toko Kabushiki Kaisha Adaptive quantization controlled by scene change detection
JP3224465B2 (ja) 1993-12-22 2001-10-29 シャープ株式会社 画像符号化装置
KR950030491A (ko) * 1994-04-30 1995-11-24 배순훈 부호화기
JP3911035B2 (ja) * 1994-08-31 2007-05-09 ソニー株式会社 動画像符号化方法及び動画像符号化装置
KR100407085B1 (ko) * 1994-12-28 2004-03-20 코닌클리케 필립스 일렉트로닉스 엔.브이. 가변비트-레이트압축방법및비디오신호인코딩장치
US5606369A (en) * 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
KR100203637B1 (ko) 1995-09-29 1999-06-15 전주범 동영상을 부호화하는 장치
KR0181067B1 (ko) 1995-10-31 1999-05-01 배순훈 호환성을 갖는 동영상 부호화기
WO1997039588A1 (fr) 1996-04-12 1997-10-23 Sony Corporation Procede et dispositif de codage d'image et support d'enregistrement du programme de codage d'image
JP4345024B2 (ja) 1996-04-12 2009-10-14 ソニー株式会社 画像符号化装置、画像符号化方法及び画像符号化プログラムを記録した記録媒体
US5831678A (en) 1996-08-09 1998-11-03 U.S. Robotics Access Corp. Video encoder/decoder system
US6072830A (en) 1996-08-09 2000-06-06 U.S. Robotics Access Corp. Method for generating a compressed video signal
US5805228A (en) 1996-08-09 1998-09-08 U.S. Robotics Access Corp. Video encoder/decoder system
US5864681A (en) 1996-08-09 1999-01-26 U.S. Robotics Access Corp. Video encoder/decoder system
JPH10210475A (ja) 1997-01-22 1998-08-07 Matsushita Electric Ind Co Ltd 画像符号化装置
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
JPH10304311A (ja) 1997-04-23 1998-11-13 Matsushita Electric Ind Co Ltd 映像符号化装置及び映像復号化装置
US6101195A (en) 1997-05-28 2000-08-08 Sarnoff Corporation Timing correction method and apparatus
JPH1118083A (ja) 1997-06-25 1999-01-22 Sony Corp ディジタル信号符号化方法及び装置、信号記録媒体並びに信号伝送方法
JPH11112601A (ja) 1997-10-07 1999-04-23 Oki Electric Ind Co Ltd 伝送品質の制御方法
US6301428B1 (en) 1997-12-09 2001-10-09 Lsi Logic Corporation Compressed video editor with transition buffer matcher
US6167088A (en) 1998-04-03 2000-12-26 Sarnoff Corporation Method and apparatus for performing adaptive encoding rate control of a video information stream including 3:2 pull-down video information
US6563549B1 (en) 1998-04-03 2003-05-13 Sarnoff Corporation Method and apparatus for adaptively encoding an information stream
US6859496B1 (en) * 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
JP2000209584A (ja) 1999-01-13 2000-07-28 Nec Eng Ltd こま落とし制御回路
US6493402B1 (en) * 1999-05-27 2002-12-10 Zenith Electronics Corporation Mode control for trellis decoder
US6529558B1 (en) * 1999-05-27 2003-03-04 Zenith Electronics Corporation Coding and decoding a signal modified in accordance with the feedback states of an encoder
KR100634660B1 (ko) * 1999-09-13 2006-10-16 마츠시타 덴끼 산교 가부시키가이샤 부호화장치 및 부호화방법
GB2356998A (en) * 1999-12-02 2001-06-06 Sony Uk Ltd Video signal processing
US6829016B2 (en) 1999-12-20 2004-12-07 Texas Instruments Incorporated Digital still camera system and method
US6754279B2 (en) 1999-12-20 2004-06-22 Texas Instruments Incorporated Digital still camera system and method
US20020135683A1 (en) 1999-12-20 2002-09-26 Hideo Tamama Digital still camera system and method
US6791609B2 (en) 1999-12-20 2004-09-14 Texas Instruments Incorporated Digital still camera system and method
US7330209B2 (en) 1999-12-20 2008-02-12 Texas Instruments Incorporated Digital still camera system and complementary-color-filtered array interpolation method
US6933970B2 (en) 1999-12-20 2005-08-23 Texas Instruments Incorporated Digital still camera system and method
US6873658B2 (en) 1999-12-20 2005-03-29 Texas Instruments Incorporated Digital still camera system and method
US6792047B1 (en) 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio
US6678332B1 (en) 2000-01-04 2004-01-13 Emc Corporation Seamless splicing of encoded MPEG video and audio
US6300973B1 (en) * 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
US6522693B1 (en) * 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6674797B1 (en) 2000-03-30 2004-01-06 Lucent Technologies Inc. Ensuring video buffer verifer integrity in MPEG-like encoding
US6553150B1 (en) 2000-04-25 2003-04-22 Hewlett-Packard Development Co., Lp Image sequence compression featuring independently coded regions
JP3889552B2 (ja) 2000-06-09 2007-03-07 パイオニア株式会社 符号量割り当て装置および方法
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
JP2002010261A (ja) 2000-06-16 2002-01-11 Nec Corp 画像符号化方式変換装置
US20050193408A1 (en) * 2000-07-24 2005-09-01 Vivcom, Inc. Generating, transporting, processing, storing and presenting segmentation information for audio-visual programs
US20050210145A1 (en) * 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
JP4428680B2 (ja) 2000-11-06 2010-03-10 パナソニック株式会社 映像信号符号化方法および映像信号符号化装置
US6990144B2 (en) 2000-12-11 2006-01-24 Sony Corporation System and method for overrun catch-up in a real-time software
US20030222998A1 (en) 2000-12-20 2003-12-04 Satoru Yamauchi Digital still camera system and method
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
EP1231793A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the syntax, resolution and bitrate of MPEG bitstreams, a system and a computer program product therefor
EP1231794A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the resolution of MPEG bitstreams, a system and a computer program product therefor
US8107524B2 (en) 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
WO2002096120A1 (en) 2001-05-25 2002-11-28 Centre For Signal Processing, Nanyang Technological University Bit rate control for video compression
JP3866538B2 (ja) 2001-06-29 2007-01-10 株式会社東芝 動画像符号化方法及び装置
US6804301B2 (en) * 2001-08-15 2004-10-12 General Instrument Corporation First pass encoding of I and P-frame complexity for compressed digital video
JP4718736B2 (ja) 2001-09-17 2011-07-06 株式会社東芝 動画像符号化装置
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
JP3836701B2 (ja) 2001-10-10 2006-10-25 株式会社東芝 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
AU2002349783A1 (en) 2001-11-30 2003-06-10 Koninklijke Philips Electronics N.V. A method and an apparatus for stream conversion, a method and an apparatus for data recording, and data recording medium
WO2004004359A1 (en) * 2002-07-01 2004-01-08 E G Technology Inc. Efficient compression and transport of video over a network
US20040252758A1 (en) 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
TWI249356B (en) 2002-11-06 2006-02-11 Nokia Corp Picture buffering for prediction references and display
US7099389B1 (en) 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
WO2004105253A1 (ja) * 2003-05-21 2004-12-02 Sony Corporation データ処理装置、符号化装置および符号化方法、復号装置および復号方法、並びにプログラム
JP2005072742A (ja) 2003-08-21 2005-03-17 Sony Corp 符号化装置及び符号化方法
JP2005080004A (ja) 2003-09-01 2005-03-24 Sony Corp 動画像符号化装置
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8345754B2 (en) 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US7346106B1 (en) * 2003-12-30 2008-03-18 Apple Inc. Robust multi-pass variable bit rate encoding
US7453938B2 (en) 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
KR20050090841A (ko) 2004-03-10 2005-09-14 엘지전자 주식회사 비트율 제어 방법
JP4418762B2 (ja) 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP3846488B2 (ja) 2004-05-10 2006-11-15 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
US8005139B2 (en) * 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
EP1762093A4 (en) 2004-06-27 2011-06-29 Apple Inc MULTIPASS VIDEO CODING
EP1786209B1 (en) 2004-09-02 2019-11-20 Sony Corporation Content receiver, video-audio output timing control method, and content providing system
CN100579223C (zh) 2004-12-02 2010-01-06 索尼株式会社 编码装置和方法
US7543073B2 (en) 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
JP2006180036A (ja) 2004-12-21 2006-07-06 Matsushita Electric Ind Co Ltd 動画符号化伝送制御装置および動画符号化伝送制御方法
US7983341B2 (en) 2005-02-24 2011-07-19 Ericsson Television Inc. Statistical content block matching scheme for pre-processing in encoding and transcoding
JP2006295535A (ja) 2005-04-11 2006-10-26 Toshiba Corp 動画像符号化装置および方法
US20060256868A1 (en) * 2005-05-16 2006-11-16 Ensequence, Inc. Methods and systems for repositioning mpeg image content without recoding
JP4040052B2 (ja) 2005-05-24 2008-01-30 株式会社日立国際電気 画像データ圧縮装置
WO2007005750A2 (en) 2005-07-01 2007-01-11 Sonic Solutions Method, apparatus and system for use in multimedia signal encoding
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
JP4492484B2 (ja) 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US8218655B2 (en) 2005-09-19 2012-07-10 Maxim Integrated Products, Inc. Method, system and device for improving video quality through in-loop temporal pre-filtering
US8879856B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US8406309B2 (en) 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
US8548048B2 (en) 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US9071844B2 (en) 2005-12-16 2015-06-30 Texas Instruments Incorporated Motion estimation with motion vector penalty
US7826536B2 (en) * 2005-12-29 2010-11-02 Nokia Corporation Tune in time reduction
JP4795223B2 (ja) * 2006-01-31 2011-10-19 キヤノン株式会社 画像処理装置
JP4254784B2 (ja) 2006-01-31 2009-04-15 Kddi株式会社 動画像符号化装置、方法及びプログラム
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
US9582060B2 (en) 2006-08-31 2017-02-28 Advanced Silicon Technologies Llc Battery-powered device with reduced power consumption based on an application profile data
US7804435B2 (en) 2006-08-31 2010-09-28 Ati Technologies Ulc Video decoder with reduced power consumption and method thereof
WO2008039857A2 (en) * 2006-09-26 2008-04-03 Dilithium Networks Pty Ltd. Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay
JP4609411B2 (ja) 2006-10-24 2011-01-12 日本ビクター株式会社 動画像符号化装置及び動画像符号化プログラム
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US20080120676A1 (en) 2006-11-22 2008-05-22 Horizon Semiconductors Ltd. Integrated circuit, an encoder/decoder architecture, and a method for processing a media stream
KR100846512B1 (ko) * 2006-12-28 2008-07-17 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP5197574B2 (ja) 2007-03-14 2013-05-15 日本電信電話株式会社 量子化制御方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
JP2008252562A (ja) 2007-03-30 2008-10-16 Renesas Technology Corp 動画像符号化制御方法および動画像符号化装置
JP2008258858A (ja) * 2007-04-04 2008-10-23 Victor Co Of Japan Ltd 動画像符号化装置
US20090161766A1 (en) * 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values
JP4577357B2 (ja) * 2007-12-27 2010-11-10 ソニー株式会社 符号化装置及び方法、並びにプログラム
JP4676508B2 (ja) 2008-04-16 2011-04-27 日本電信電話株式会社 量子化マトリクス切り換え方法,映像符号化装置および映像符号化プログラム
JP5081306B2 (ja) 2008-09-16 2012-11-28 パナソニック株式会社 撮像装置および動画データ作成方法
EP2403248B1 (en) * 2009-02-27 2018-07-04 Fujitsu Limited Moving picture encoding device, moving picture encoding method, and moving picture encoding computer program
TWI387314B (zh) 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
US8879623B2 (en) 2009-09-02 2014-11-04 Sony Computer Entertainment Inc. Picture-level rate control for video encoding a scene-change I picture

Also Published As

Publication number Publication date
EP2568705B1 (en) 2018-09-26
KR101389919B1 (ko) 2014-04-30
KR20130028093A (ko) 2013-03-18
WO2011138923A1 (ja) 2011-11-10
TWI483617B (zh) 2015-05-01
US20130051456A1 (en) 2013-02-28
RU2012146537A (ru) 2014-06-20
CN102986212A (zh) 2013-03-20
CN102986212B (zh) 2015-11-25
BR112012028184A2 (pt) 2016-08-02
EP2568705A4 (en) 2014-04-09
RU2530313C2 (ru) 2014-10-10
JPWO2011138923A1 (ja) 2013-07-22
TW201210347A (en) 2012-03-01
JP5295429B2 (ja) 2013-09-18
CA2798012A1 (en) 2011-11-10
EP2568705A1 (en) 2013-03-13
US9179165B2 (en) 2015-11-03

Similar Documents

Publication Publication Date Title
ES2773329T3 (es) Método de control de codificación de vídeo, dispositivo de codificación de vídeo y programa de codificación de vídeo
CN110933424B (zh) 一个帧内编码块的多个预测块
KR100545145B1 (ko) 압축된 비디오 정보에서 브리딩 결함을 감소시키기 위한 방법 및 장치
CN102217314B (zh) 用于视频图像删减的方法和装置
EP2568705B1 (en) Moving image encoding control method, moving image encoding apparatus and moving image encoding program
JP2018532318A (ja) ビデオ符号化における進化型デブロッキングフィルターの方法およびその装置
CN111131837B (zh) 运动补偿修正方法、编码方法、编码器及存储介质
US20130128952A1 (en) Method and Apparatus for SSIM-Based Bit Allocation
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
ES2847856T3 (es) Procedimientos y dispositivos para codificar y decodificar al menos una imagen implementando una estimación en el campo transformado y programa informático correspondiente
KR20100136391A (ko) 다수의 필터를 이용한 복원영상 필터링 방법 및 이를 적용한 부호화/복호화 장치 및 방법
US20210067773A1 (en) Video encoder, video decoder, and video system
CN118525512A (zh) 用于图像编码和解码的滤波
CN116248895B (zh) 虚拟现实全景漫游的视频云转码方法及系统
US20090003433A1 (en) Transcoder and transcoding method
CN119096538A (zh) 应用刷新方案的视频编码
WO2023059235A1 (en) Combining deblock filtering and another filtering for video encoding and/or decoding
JP2012004794A (ja) 符号化装置、及び符号化方法