O Kvazaar é o único programa até hoje (além do software de referência) que codifica os tiles com restrição do vetor de movimento. Essa opção é importante para quem deseja segmentar um vídeo em blocos (tiles) de forma que durante a decodificação esses blocos possam ser reproduzidos separadamente. Normalmente isso não é possível porque o compensador de movimento do codificador cria dependências espaciais para a decodificação.
Fonte: Concolato, Cyril et al. “Adaptive Streaming of HEVC Tiled Videos Using MPEG-DASH.” IEEE Transactions on Circuits and Systems for Video Technology 28 (2018): 1981-1992. |
Características do Kvazaar:
Funções
|
Versão atual
|
Profiles
|
Main, Main 10
|
Formato de entrada
|
YUV
(dimensões divisíveis por 2)
|
Formato de saída
|
NAL (suportado checksum)
|
Bits de profundidade
|
8,
10
|
Subamostragem
|
4.2:0
|
PCM
|
Yes,
|
Configurações de codificação
|
AI, LP, RA, LB
|
Tipos de quadros
|
I,
P, B
|
Tipos de paralelismo
|
Tiles, Wavefront
|
Tamanhos dos CUs
|
64,
32, 16, 8
|
Tamanhos dos TUs
|
32, 16, 8, 4
|
Tamanhos dos PUs, Intra
|
32,
16, 8, 4
|
Tamanhos dos PUs, Inter
|
64, 32, 16, 8 (SMP+AMP)
|
Modos de predição Intra
|
All
luma (DC, planar, 33 angular), Chroma usa mesmo da luminância
|
Precisão do MV da Luminância
|
1/4 pel
|
Precisão do MV da Crominância
|
1/8
pel
|
Modos de codificação
|
Intra, Inter, Skip, Merge
|
Algoritmos IME
|
HEXB,
FS, TZ
|
Numero de imagens de referência
|
até 15
|
Métricas dos modos de decisão
|
SATD,
SAD, and SSD
|
Otimização da taxa-distorção
|
Partial (inclui RDOQ)
|
Codificação entrópica
|
CABAC
|
Filtro de Loop
|
Deblocking Filter, Sample-adaptive offset (Edge+Band
mode)
|
Codificação residual
|
Coefficients,4x4
transform skip,Trans/quant Bypass
|
Controle de taxa
|
ABR 1-pass
|
*OBS.: É difícil traduzir algumas coisas.
Instalação em Ubuntu 18.04
Passo 1: Dependências.
Instale as dependências para compilar o Kvazaar. São elas: automake, autoconf, libtool, m4, build-essential e yasm. O Yasm não é obrigatório, mas algumas otimizações dependem dele. O Git é necessário se você quiser clonar o repositório em sua versão mais atual.sudo apt-get install automake autoconf libtool m4 build-essential yasm git
Passo 2: Baixando o código
Baixe o último lançamento em https://github.com/ultravideo/kvazaar/releases e descompacte seus arquivos ou clone o repositório em https://github.com/ultravideo/kvazaar. No momento de escrita desse artigo a versão mais recente é a v1.2.0. e os procedimentos podem mudar em versões futuras.Clonando repositório com git:
git clone https://github.com/ultravideo/kvazaar.git
Passo 3: Compilando
Entre no diretório principal do código e execute os seguintes comandos:*OBS.: Pode ser necessário atualizar o cache de bibliotecas dinâmicas.
sudo ldconfig