Passa ai contenuti principali

chroma subsampling

http://en.wikipedia.org/wiki/Chroma_subsampling:

Sampling systems and ratios

The subsampling scheme is commonly expressed as a three part ratio (e.g. 4:2:2), although sometimes expressed as four parts (e.g. 4:2:2:4). The parts are (in their respective order):

  • Luma horizontal sampling reference (originally, as a multiple of 3.579 MHz in the NTSC television system)
  • Cr horizontal factor (relative to first digit)
  • Cb horizontal factor (relative to first digit), except when zero. Zero indicates that Cb horizontal factor is equal to second digit, and, in addition, both Cr and Cb are subsampled 2:1 vertically. Zero is chosen for the bandwidth calculation formula (see below) to remain correct.
  • Alpha horizontal factor (relative to first digit). May be omitted if alpha component is not present.

To calculate required bandwidth factor relative to 4:4:4 (or 4:4:4:4), one needs to sum all the factors and divide the result by 12 (or 16, if alpha is present).

From Microsoft Help

  • 4:4:4 means no downsampling of the chroma channels.
  • 4:2:2 means 2:1 horizontal downsampling, with no vertical downsampling. Every scan line contains four Y samples for every two U or V samples.
  • 4:2:0 means 2:1 horizontal downsampling, with 2:1 vertical downsampling.
  • 4:1:1 means 4:1 horizontal downsampling, with no vertical downsampling. Every scan line contains four Y samples for every U or V sample. 4:1:1 sampling is less common than other formats, and is not discussed in detail in this article.
esempio di visualizzazione: http://msdn2.microsoft.com/en-us/library/ms867704.aspx

Video subtype (i codici four cc più famosi per il video non compresso):
AYUV 4:4:4
YUY2 4:2:2
UYVY 4:2:2
YV12 4:2:0

Video di esempio

http://trace.eas.asu.edu/yuv/index.html

RGB formats

rgb24 un byte per colore (8bit*3 per ogni pixel)
rgb555 5 bit per ogni colore (5bit*3 per ogni pixel messi su due byte) 32K colori
rgb565 6 bit solo per il verde (5bit*2 + 6, messi su due byte) 65K colori

Commenti

Post popolari in questo blog

Log.Net: Conflitto Con CrystalReport per Visual Studio 2010

Situazione: Web Application Asp.Net 4.0, Utilizzo delle librerie di Crystal Report per VS2010. Il progetto web utilizza Log.Net, scaricato dal sito ufficiale. Un problema simile si verifica con applicazioni Windows Form. Problema: Le due librerie vanno in conflitto sia in fase di compilazione ( 1550854 - "Could not load file or assembly 'log4net' or one of its dependencies" Error when building Visual Studio 2010 solution utilizing the Crystal Reports .NET Runtime ), sia una volta installata sulla macchiana target (L'inizializzatore di tipo di 'CrystalDecisions.Shared.SharedUtils' ha generato un'eccezione. Impossibile caricare il file o l'assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' o una delle relative dipendenze. La definizione di manifesto dell'assembly specificato non corrisponde al riferimento all'assembly.). Soluzione Spiegata: Il thread in cui ne parlano. A quanto ho ca

Richiesta di conferma Javascript sul Submit di una Form

Senza ricorrere ai plugin per visualizzare messageBox in jQuery. Il linguaggio Javascript già permette di usare la funzione confirm(), un analogo dell'alert che presenta all'utente la possibilità di scegliere fra Ok e cancel e ritorna il valore true/false di conseguenza. La funzione si può usare direttamente nell'html. input type="image" src="delete_16x16.gif" onclick="return confirm('Procedere con la cancellazione?');" title='Elimina'

SqlServer di Aruba - Entity Framework 4.0 - Problema dello Schema

Lo schema in MsSql è un elemento intermedio fra il database e le tabelle, lo schema predefinito è dbo e compare nel nome tabella come [dbo].[NomeTabella] .  In fase di generazione di un modello .edmx Entity Framework permette di impostare lo schema tramite la proprietà "Database Schema Name" dell'edmx.  Questo valore però non sarà modificabile a Runtime perchè cablato nei metadati. Il servizio SqlServer di aruba purtroopo crea le tabelle in uno schema che ha lo stesso nome dell'utente (per esempio MSSql123).  Quindi un edmx generato in locale a partire da tabelle definite nello schema dbo non fuzionerà. Vi sono due possibili Soluzioni: In locale definisco le tabelle di sviluppo nello stesso schema in cui saranno sul Sql di Aruba. CREATE SCHEMA  MSSql123 GO CREATE TABLE [MSSql123].NomeTabella] ( ... ......); Impongo che i metadati non vengano inseriti nella dll, ed edito a mano i tre file xml di metadati sostituendo dbo con lo schema in uso su aruba og