O que você calculou é a taxa de bits de um vídeo não compactado não processado. Você normalmente não os encontrará, exceto em pesquisas ou outros aplicativos especializados. Até mesmo as emissoras usam vídeo compactado, embora com uma taxa de bits muito maior do que o seu vídeo típico do YouTube.
Portanto, a qualidade do vídeo tem muito a ver com a forma como o vídeo foi compactado. Quanto mais você compactar, menos bits serão necessários por quadro. Além disso, quanto mais você comprimir, pior a qualidade. Agora, alguns vídeos são muito mais fáceis de compactar do que outros - em essência, é por isso que eles têm uma taxa de bits menor, apesar de terem a mesma resolução e framerate.
Para entender por que isso acontece, você precisa estar ciente dos dois principais usos de compactação de vídeo dos princípios. Estes são chamados de "redundância espacial" e "temporal".
Redundância espacial
Existe redundância espacial em imagens que mostram conteúdo natural. Esta é a razão pela qual o JPEG funciona tão bem - ele comprime os dados da imagem porque os blocos de pixels podem ser codificados juntos. Estes são 8 × 8 pixels, por exemplo. Estes são chamados de "macroblocos".
Os codecs de vídeo modernos fazem o mesmo: eles basicamente usam algoritmos semelhantes ao JPEG para compactar um quadro, bloco por bloco. Portanto, você não armazena mais bits por pixel, mas bits por macrobloco, porque você "resume" os pixels em grupos maiores. Ao resumi-los, o algoritmo também descartará informações que não são visíveis ao olho humano - é onde você pode reduzir a maior parte da taxa de bits. Ele funciona quantizando os dados. Isso reterá freqüências que são mais perceptíveis e "jogam fora" aquelas que não podemos ver. O fator de quantização é expresso como "QP" na maioria dos codecs, e é o principal controle de qualidade.
Agora você pode ir em frente e prever macroblocos de macroblocos previamente codificados na mesma imagem. Isso é chamado de previsão intra . Por exemplo, uma parte de uma parede cinza já estava codificada no canto superior esquerdo do quadro, então podemos usar esse macrobloco no mesmo quadro novamente, por exemplo, para o macrobloco bem próximo a ele. Vamos apenas armazenar a diferença que tinha para o anterior e salvar os dados. Dessa forma, não precisamos codificar dois macroblocos muito semelhantes entre si.
Por que a taxa de bits é alterada para o mesmo tamanho de imagem? Bem, algumas imagens são mais fáceis de codificar do que outras. Quanto maior a atividade espacial, mais você terá que codificar. Texturas suaves ocupam menos bits do que as detalhadas. O mesmo vale para a previsão interna: um quadro de uma parede cinza permitirá que você use um macrobloco para prever todos os outros, enquanto um quadro de água corrente pode não funcionar tão bem.
Redundância temporal
Isso existe porque um quadro após outro quadro é provavelmente muito semelhante ao seu predecessor. Principalmente, apenas um pouquinho muda, e não faria sentido codificá-lo completamente. O que os codificadores de vídeo fazem é apenas codificar a diferença entre dois quadros subseqüentes, assim como eles podem fazer para macroblocos.
Tomando um exemplo do artigo da Wikipedia sobre compensação por movimento , digamos que este seja o seu quadro original:
Emseguida,adiferençaparaopróximoquadroéexatamenteisso:
O codificador agora armazena apenas as diferenças reais , não os valores pixel a pixel. É por isso que os bits usados em cada quadro não são os mesmos todas as vezes. Esses quadros de "diferença" dependem de um quadro totalmente codificado, e é por isso que existem pelo menos dois tipos de quadros para codecs modernos:
- I-frames (keyframes aka) - estes são os totalmente codificados
- P-frames - estes são os únicos que apenas armazenam a diferença
Você ocasionalmente precisa inserir quadros em um vídeo. A taxa de bits real também depende do número de quadros em I usados. Além disso, quanto mais diferença de movimento houver entre dois quadros subseqüentes, mais o codificador precisará armazenar. Um vídeo de "nada" em movimento será mais fácil de codificar do que um vídeo de esportes e usará menos bits por quadro.