El YCoCg modelo de color, también conocido como el YCgCo modelo de color, es el espacio de color formado a partir de una simple transformación de un asociado RGB espacio de color en una luma valor (indicada como Y) y dos croma valores llamado crominancia verde (Cg) y naranja de crominancia (Co). Es compatible con diseños de compresión de video e imágenes como H.264 / MPEG-4 AVC , HEVC , VVC , JPEG XR y Dirac . [1] Es simple de calcular, tiene una buena ganancia de codificación de transformación.y se puede convertir sin pérdidas ay desde RGB con menos bits de los que se necesitan con otros modelos de color. Una versión escalada reversible con una profundidad de bits aún menor , YCoCg-R , también es compatible con la mayoría de estos diseños y también se usa en Display Stream Compression . La definición más completa con profundidades de bits variables de Y y valores de crominancia se da en UIT-T H.273 .
Historia y naming
Los documentos más antiguos (alrededor de 2003) se referían a este modelo de color como YCoCg. Fue adoptado en un estándar internacional por primera vez en H.264 / AVC (en su proyecto de extensiones profesionales de la segunda edición), que había sido diseñado principalmente para usar el modelo de color YCbCr . Cuando se adoptó, se observó que el componente Co llevaba la desviación hacia el rojo y, por lo tanto, era más similar a Cr que Cb, por lo que la asignación de señal y el nombre se cambiaron en el estándar, lo que resultó en el nombre alternativo YCgCo (YCgCo se usa en UIT-T H.273).
Propiedades
Las ventajas que tiene el modelo de color YCoCg sobre el modelo de color YCbCr son un cálculo más sencillo y rápido, una mejor descorrelación de los planos de color para mejorar el rendimiento de la compresión y una invertibilidad exactamente sin pérdidas. [2] [3]
Conversión con el modelo de color RGB
Los tres valores del modelo de color YCoCg se calculan de la siguiente manera a partir de los tres valores de color del modelo de color RGB:
Los valores de Y están en el rango de 0 a 1, mientras que Co y Cg están en el rango de −0,5 a 0,5, como es típico con los modelos de color "YCC" como YCbCr . Por ejemplo, el rojo puro se expresa en el sistema RGB como (1, 0, 0) y en el sistema YCoCg como (1/4, 1/2, - 1/4). [2] [3] Sin embargo, dado que los coeficientes de la matriz de transformación son fracciones binarias simples, es más fácil de calcular que otras transformaciones YCC. Para señales RGB con profundidad de bits n , las señales resultantes se redondearían a n bits o normalmente serían n +2 bits cuando se procesan datos en esta forma (aunque n +1 bits serían suficientes para Co).
La matriz inversa se convierte del modelo de color YCoCg al modelo de color RGB:
Para realizar la conversión inversa, solo son necesarias dos sumas y dos restas, sin coeficientes de valor real, implementándola como:
tmp = Y - Cg ; R = tmp + Co ; G = Y + Cg ; B = tmp - Co ;
La variación YCoCg-R basada en levantamiento
Una versión escalada de la transformación, a veces denominada YCoCg-R (donde "-R" se refiere a la reversibilidad), se puede implementar de manera eficiente con una profundidad de bits reducida. La versión escalada utiliza un esquema de elevación para hacerla exactamente invertible mientras se minimiza la profundidad de bits de los tres componentes de color. Para señales RGB con profundidad de bits n , la profundidad de bits de la señal Y cuando se usa YCoCg-R será n y la profundidad de bits de Co y Cg será n +1, en contraste con YCoCg ordinario que necesitaría n +2 bits para Y y Cg y n +1 bits para Co.
Aquí, los valores posibles para Y todavía están en [0, 1], mientras que los valores posibles para Co y Cg están ahora en [-1, 1].
La conversión de RGB a YCoCg-R es:
Co = R - B ; tmp = B + Co / 2 ; Cg = G - tmp ; Y = tmp + Cg / 2 ;
La conversión de YCoCg-R a RGB es entonces:
tmp = Y - Cg / 2 ; G = Cg + tmp ; B = tmp - Co / 2 ; R = B + Co ;
Ganancias de eficiencia
Las extensiones de codificación de contenido de pantalla del estándar HEVC y el estándar VVC incluyen una transformación de color adaptativa dentro del proceso de codificación residual que se corresponde con la conmutación de la codificación de video RGB al dominio YCoCg-R.
El uso del espacio de color YCoCg para codificar video RGB en la codificación de contenido de pantalla HEVC encontró grandes ganancias de codificación para video con pérdida, pero ganancias mínimas cuando se usa YCoCg-R para codificar video sin pérdida. [4]
Literatura
- Henrique Malvar y Gary Sullivan , " Transformación, escala y impacto del espacio de color de las extensiones profesionales ". Moving Picture Experts Group y Video Coding Experts Group document JVT-H031, JVT 8th meeting, Ginebra, mayo de 2003.
- Henrique Malvar y Gary Sullivan , " YCoCg-R: Un espacio de color con reversibilidad RGB y rango dinámico bajo ". Moving Picture Experts Group y Video Coding Experts Group document JVT-I014, JVT PExt Ad Hoc Group Meeting: Trondheim, Noruega, julio de 2003.
- Shijun Sun, " Transformación de color residual usando YCoCg-R ". Moving Picture Experts Group y Video Coding Experts Group document JVT-L014, 12a reunión de JVT: Redmond, Washington, Estados Unidos, julio de 2004.
- Woo-Shik Kim, Dmitry Birinov y Dae-Sung Cho, Hyun Mun Kim (Laboratorio multimedia, Samsung AIT), " Mejoras en la codificación RGB en H.264 / MPEG-4 AVC FRExt ". Video Coding Experts Group document VCEG-Z16, 26th VCEG meeting: Busan, Korea, April 2005.
- Henrique S. Malvar, Gary J. Sullivan y Sridhar Srinivasan, " Transformaciones de color reversibles basadas en levantamiento para la compresión de imágenes ", Aplicaciones SPIE de procesamiento de imágenes digitales XXXI, Proc. SPIE , San Diego, California, vol. 7073, documento 7073-07, agosto de 2008.
- P. Agawane y KR Rao (Laboratorio de procesamiento multimedia, Universidad de Texas en Arlington ), " Implementación y evaluación de la transformación de color residual para codificación RGB sin pérdidas 4: 4: 4 ". Conferencia internacional sobre avances recientes en ingeniería de comunicaciones, Hyderabad, India, diciembre de 2008.
- Tilo Strutz, " Transformaciones de color reversibles sin multiplicador y su selección automática para la compresión de datos de imagen ". Transacciones IEEE sobre circuitos y sistemas para tecnología de video , vol. 23, núm. 7, págs. 1249-1259, julio de 2013.
- Tilo Strutz y Alexander Leipnitz, " Espacios de color reversibles sin mayor profundidad de bits y su selección adaptable ". Cartas de procesamiento de señales IEEE , vol. 22, núm. 9, págs. 1269-1273, septiembre de 2015.
Referencias
- ^ "Especificación de Dirac" (PDF) . BBC . pag. 136. Archivado desde el original (pdf) el 3 de mayo de 2015 . Consultado el 4 de mayo de 2010 .
- ^ a b "YCoCg: un espacio de color con reversibilidad RGB" (ppt) . Universidad de Texas en Arlington . Consultado el 2 de mayo de 2010 .
- ^ a b Yair Moshe. "Enmienda H.264: extensiones de rango de fidelidad" (PDF) . Laboratorio de procesamiento de señales e imágenes (SIPL), Technion Israel Institute of Technology . pag. 15. Archivado desde el original (pdf) el 6 de octubre de 2014 . Consultado el 2 de mayo de 2010 .
- ^ Shan Liu; Xiaozhong Xu; Shawmin Lei; Kevin Jou (septiembre de 2015). "Descripción general de las extensiones HEVC en la codificación del contenido de la pantalla" . pag. 8.