algoritmo para codificação em bitrate constante vinicius kursancew

19
Algoritmo para codificação em bitrate constante Vinicius Kursancew

Upload: internet

Post on 16-Apr-2015

112 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Algoritmo para codificação em bitrate constante

Vinicius Kursancew

Page 2: Algoritmo para codificação em bitrate constante Vinicius Kursancew

INTRODUÇÃO AO MPEG VIDEO

● Padrão de codificação perceptivo

● Usado em transmissão de TV digital

● A ISO especifica o comportamento do decoder

● Elimina redundancia espacial

● Utiliza quantização para reduzir número de bits necessários para representar um dado

Page 3: Algoritmo para codificação em bitrate constante Vinicius Kursancew

INTRODUÇÃO AO MPEG VIDEO

DCT Quantização VLC1011010

Page 4: Algoritmo para codificação em bitrate constante Vinicius Kursancew

DCT

● Representa o sinal em termos de cossenos apenas

● No MPEG é feita em em blocos 8x8

● Quatro blocos adjacentes formam um macrobloco

Page 5: Algoritmo para codificação em bitrate constante Vinicius Kursancew

DCT

● Expressão

Page 6: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização

● Processo de reduzir o número de bits necessários para representar os coeficientes

● Divide os coeficientes por um valor predefinido

● Componentes mais altas de freqüencia são divididos por valores maiores

Page 7: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização

Coeficiente DC(F(0,0)) = 73

O coeficiente DC é dividido por 8:

floor[73(100'1001b)/8(1000b)] = 9(1001b) 3 bits a menos

Coeficiente AC (F(6,5)) = 189

O Coeficiente AC(F(6,5)) é dividido por 48

floor[189(8bits)/48] = 3 (2 bits, 6 a menos)

Page 8: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização adaptiva

● Aumentar os fatores de quantização para manter a taxa de bits

● Diminui a qualidade

● Necessário pois a largura de banda de transmissões é limitada

● Útil apenas para visialização em tempo real

Page 9: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização adaptiva

● Leva em conta dois fatores principais– O quanto ja foi gasto da banda

– Atividade espacial da imagem

● Método consiste de 3 passos:– Alocar quantidade de bits para frame

– Calcular fator adaptivo base

– Calcular fator adaptivo para o macrobloco

Page 10: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização adaptiva - PASSO1

● Calcula quantos bits existem disponíveis para este frame, parametro rc_T

BITRATE/FRAMERATE

● Porém... se faltaram ou sobraram bits para codificação do frame anterior estes devem ser considerados

BITRATE/FRAMERATE + BITS_FRAME_ANTERIOR

Page 11: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização adaptiva - PASSO1

● Depois de codificar a imagem um ”parâmetro de compexidade global” (rc_X) é calculado:

Bits Usados na Imagem * média dos fatores

● A média dos fatores é obtida somando cada um dos fatores de quantização adaptiva calculados para cada macrobloco no frame anterior e dividindo-se pelo total de macroblocos

Page 12: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização Adaptiva PASSO2

● Antes de codificar um macrobloco o algoritmo estima quanto falta para encher o ”buffer virtual”. O algoritmo determina como achar este valor (dj).

dj = rc_d + Bj-1 (rc_T*j)/TOTAL MACROBLOCOS

● Bj é o número de bits gerados para codificar o frame até o presente macrobloco

● rc_d é o indicador de quanto sobrou o faltou de bits estão sobrando ou faltando até o momento

rc_d = rc_d + BitsAlocados - BitsUsados

Page 13: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização Adaptiva PASSO2

● A partir de dj calcula-se o valor base da quantização

Page 14: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Quantização Adaptiva PASSO3

● Por último se calcula o valor de quantização adaptiva para o macrobloco j

● actj é o mínimo das varianças entre os blocos(vblk) do macrobloco e avgactj é a média das varianças do frame anterior:

Page 15: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Resultados

● Imagens

500kbps500kbps 750kbps

Page 16: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Resultados

● Imagens

1000kbps Sem quantização adaptiva

Page 17: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Resultados

● Valores de mquantj para os 10 primeiros macroblocos

500kbps 750kbps 1000kbps

13121313111312111312

8888798788

6666565566

Page 18: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Resultados

● Tamanho da stream (12 frames)– 500kbps: 37452 bytes

– 750kbps: 55175 bytes

– 1000kbps: 73467 bytes

– Sem bitrate constante: 238412 bytes

Page 19: Algoritmo para codificação em bitrate constante Vinicius Kursancew

Resultados

● Implementação em hardware:– Área anterior: 918374.8 sq um

– Área atual: 1703531.0 sq um