Você está na página 1de 112

Universidade Federal de Campina Grande

Centro de Engenharia Eltrica e Informtica


Departamento de Engenharia Eltrica
Programa de Ps Graduao em Engenharia Eltrica

Tese de Doutorado

Tcnica de Aprendizagem Automtica


Aplicada a um Codificador HEVC em Tempo
Real

Jean Felipe Fonseca de Oliveira

Campina Grande PB
Fevereiro de 2016
Universidade Federal de Campina Grande
Centro de Engenharia Eltrica e Informtica
Departamento de Engenharia Eltrica
Programa de Ps Graduao em Engenharia Eltrica

Tcnica de Aprendizagem Automtica Aplicada a um


Codificador HEVC em Tempo Real

Jean Felipe Fonseca de Oliveira

Tese de Doutorado apresentada Coordenao do Programa de Ps


Graduao em Engenharia Eltrica do Departamento de Engenharia
Eltrica da Universidade Federal de Campina Grande como requisito
necessrio para obteno do grau de Doutor em Cincias no Domnio da
Engenharia Eltrica.

rea de Concentrao: Comunicaes.

Marcelo Sampaio de Alencar


Orientador

Campina Grande PB, Fevereiro de 2016


Jean Felipe Fonseca de Oliveira jeanfelipefonseca@gmail.com
FICHA CATALOGRFICA ELABORADA PELA BIBLIOTECA CENTRAL DA UFCG

O48t Oliveira, Jean Felipe Fonseca de.


Tcnica de aprendizagem automtica aplicada a um codificador HEVC
em tempo real / Jean Felipe Fonseca de Oliveira. Campina Grande, 2016.
94f. : il. color.

Tese (Doutorado em Engenharia Eltrica) Universidade Federal de


Campina Grande, Centro de Engenharia Eltrica e Informtica.
"Orientao: Prof. Marcelo Sampaio de Alencar".

1. Engenharia Eltrica. 2. Aprendizado Automtico. 3. Codificador


HEVC. 4. Aprendizado Online. I. Alencar, Marcelo Sampaio de. II. Ttulo.

CDU 621.3(043)
Aos meus pais, Joo Batista e Maria Gorette, que
ladrilharam todo esse meu caminho.
minha esposa, Danielle e minhas filhas, Marina e
Letcia, que so as luzes dos meus olhos.
No necessrio que um homem seja ativamente mau, a
fim de fazer fracassos na vida; a simples inao ir
realiz-los. A natureza tem em todos os lugares por escrito
o seu protesto contra a ociosidade; tudo o que deixa de
lutar, que permanece inativo, se deteriora rapidamente.
a luta em direo a um ideal, o esforo constante para
crescer sempre, que desenvolve maturidade e carter.
James Terry White
Agradecimentos

Deus.
minha amada esposa Danielle Menezes Dantas de Oliveira, principal apoio dessa
jornada. Seu apoio, pacincia e amor foram imprescindveis para finalizar esse trabalho. Voc e
nossas pequenas, Marina e Letcia, foram sempre a minha motivao. Nada mais importante
que seus sorrisos.
Aos meus pais, Joo Batista e Maria Gorette, meus maiores mestres, por seu amor in-
condicional e suporte em todas as etapas da minha vida. Seus conselhos foram sempre palavras
de Deus para mim. Honrarei vocs por toda minha vida. Seus exemplos de vida foram minha
maior inspirao.
s minhas irms Jeanne e Jeanine, que sempre me apoiaram em tudo que fiz. Amo
vocs duas.
toda minha famlia pelo apoio e confiana que sempre me dedicaram. Em especial
os meus avs, Ana Nin(in memoriam), Domerina e Severino(in memoriam). H muito deles
nessa histria.
Aos meus sogros Wellington e ngela, meu agradecimento vai muito alm do que pa-
lavras. Ser uma atitude constante. Extendo esse sentimento toda famlia, em especial s
pequenas Sofia e Ceclia, que alegram nossos dias.
Ao professor Marcelo Sampaio de Alencar, pela confiana, conhecimentos cedidos e
pela amizade. Meus mais profundos agradecimentos. Foi um prazer e uma honra conviver com
um verdadeiro cientista durante esses ltimos dez anos.
TPV Technology Limited, que entendendo a importncia deste trabalho para minha
formao, forneceu o apoio necessrio. Registro meus agradecimentos toda equipe, em espe-
cial para os amigos Denis Hiplito de Arajo e Rmulo Fabrcio.
Aos amigos que contriburam de alguma forma, meus sinceros agradecimentos. Em
especial aos Professores Paulo Ribeiro Lins Jr. e Carlos Danilo Miranda Rgis.
Resumo

O padro HEVC (High Efficiency Video Coding) o mais recente padro para codifica-
o de vdeos e tem uma complexidade computacional muito maior do que seu antecessor, o
padro H.264. A grande eficincia de codificao atingida pelo codificador HEVC obtida com
um custo computacional bastante elevado. Esta tese aborda oportunidades de reduzir essa carga
computacional. Dessa forma, um algoritmo de deciso prematura de diviso de uma unidade
de codificao proposto para o codificador HEVC, terminando prematuramente o processo de
busca pelo melhor particionamento baseado em um modelo de classificao adaptativo, criado
em tempo de execuo. Esse modelo gerado por um processo de aprendizado online baseado
no algoritmo Pegasos, que uma implementao que aplica a resoluo do gradiente estocs-
tico ao algoritmo SVM (Support Vector Machine). O mtodo proposto foi implementado e
integrado ao codificador de referncia HM 16.7. Os resultados experimentais mostraram que o
codificador modificado reduziu o custo computacional do processo de codificao em at 50%,
em alguns casos, e aproximadamente 30% em mdia, com perdas de qualidade desprezveis
para os usurios. De modo geral, esse processo resulta em reduzidas perdas de qualidade, no
entanto, alguns resultados mostraram pequenos ganhos em eficincia de compresso quando
comparados com os resultados do codificador HM 16.7.

Palavras-chave: HEVC, Aprendizado Automtico, Mquina de Vetores Suportes, Seleo de


Atributos, Aprendizado Online, Otimizao
Abstract

The most recent video coding standard, the High Efficiency Video Coding (HEVC), has
a higher encoding complexity when compared with H.264/AVC, which means a higher compu-
tational cost. This thesis presents a review of the recent literature and proposes an algorithm that
reduces such complexity. Therefore, a fast CU (Coding Unit) splitting algorithm is proposed
for the HEVC encoder, which terminates the CU partitioning process at an early phase, based
on an adaptive classification model. This model is generated by an online learning method ba-
sed on the Primal Estimated sub-GrAdient SOlver for SVM (Pegasos) algorithm. The proposed
method is implemented and integrated in the HEVC reference source code on its version 16.7.
Experimental results show that the proposed method reduces the computational complexity of
the HEVC encoder, up to 50% in some cases, with negligible losses, and shows an average com-
putational reduction of 30%. This process results in reduced coding efficiency losses, however,
some results showed a nearby 1% of BD-Rate (Bjontegaard Delta) gains in the Low Delay B
configuration, without using an offline training phase.

Keywords: HEVC, Machine Learning, SVM, Feature Selection, Online Learning, Video co-
ding optimization
Sumrio

1 Introduo 1

2 Reviso Bibliogrfica 7

3 Tecnologias e Padres de Vdeo Digital 14


3.1 O Padro ITU-T H.264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Tipos de Slices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.2 Perfis e Nveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.3 Extenses ao Padro Original . . . . . . . . . . . . . . . . . . . . . . 16
3.1.4 Codificao Intra-quadros . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.5 Codificao Inter-quadros . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 O Padro HEVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 O Processo de Padronizao do HEVC . . . . . . . . . . . . . . . . . 19
3.2.3 A Nova Estrutura de Particionamento de Blocos do Padro HEVC . . . 21
3.2.4 O Algoritmo de Fuso de Blocos . . . . . . . . . . . . . . . . . . . . . 23
3.2.5 A Nova Estrutura de Blocos . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.6 Unidades de Codificao e Blocos de Codificao . . . . . . . . . . . . 24
3.2.7 Unidades de Predio e Blocos de Predio . . . . . . . . . . . . . . . 24
3.2.8 Unidades de Transformao e Blocos de Transformao . . . . . . . . 24
3.2.9 A Estimao de Movimento . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.10 Predio dos Vetores de Movimento . . . . . . . . . . . . . . . . . . . 25
3.2.11 Predio Intra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.12 Controle de Quantizao . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.13 Codificao de Entropia . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.14 Filtro de Desblocagem . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.15 Deslocamento Adaptativo de Amostras . . . . . . . . . . . . . . . . . 27
3.3 O Codificador de Referncia HM . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4 O Decodificador de Referncia HM . . . . . . . . . . . . . . . . . . . . . . . 30
3.5 Oportunidades de Paralelizao Aplicadas pelo Padro HEVC . . . . . . . . . 31
ix

3.5.1 A Ferramenta Entropy Slices . . . . . . . . . . . . . . . . . . . . . . . 32


3.5.2 A Ferramenta Tiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5.3 Processamento Paralelo em Frentes de Onda . . . . . . . . . . . . . . 33
3.6 Estimao de Movimento com o Algoritmo TZSearch . . . . . . . . . . . . . . 33
3.6.1 Mtricas de Distoro de Blocos . . . . . . . . . . . . . . . . . . . . . 34
3.7 Avaliao de Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7.1 A Mtrica Bjntegaard . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.7.2 Outras Mtricas Objetivas de Qualidade . . . . . . . . . . . . . . . . . 38
3.8 A Estimao de Movimento Baseada em Blocos . . . . . . . . . . . . . . . . . 40

4 Aprendizagem Automtica 42
4.1 Terminologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.2 Atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Aprendizado Supervisionado . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 Aprendizado No-Supervisionado . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Aprendizagem em Larga Escala . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5 O Mtodo do Gradiente Descendente . . . . . . . . . . . . . . . . . . . . . . . 47
4.6 Gradiente Estocstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7 Mquinas de Vetores Suporte . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.7.1 As Funes Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.8 Aprendizagem Automtica em Tempo Real . . . . . . . . . . . . . . . . . . . 51
4.9 O Algoritmo Pegasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.10 Seleo Automtica de Atributos . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.10.1 A Tcnica de Seleo de Atributos IGAE . . . . . . . . . . . . . . . 53

5 Metodologia 55
5.1 O Documento JCTVC-L1100 . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 A Biblioteca Dlib-ml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3 Indicadores de Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4 O Algoritmo Proposto O Codificador . . . . . . . . . . . . . . . . . . . . 58

6 Simulaes e Resultados 62
6.1 Sequncias de Vdeo Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.2 A Parametrizao dos Codificadores . . . . . . . . . . . . . . . . . . . . . . . 65
6.3 Descrio dos Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.4 Simulaes com a Parametrizao Low Delay B . . . . . . . . . . . . . . . . . 66
6.5 Simulaes com a Parametrizao Random Access . . . . . . . . . . . . . . . 69
6.6 Simulaes com Vdeos Concatenados . . . . . . . . . . . . . . . . . . . . . . 75
6.7 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
x

7 Concluso 83
7.1 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.2 Propostas de Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.3 Produo Bibliogrfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Lista de Figuras

1.1 Arquitetura de blocos do codificador HEVC. . . . . . . . . . . . . . . . . . . . 2


1.2 Dados de vdeo em redes mveis representaram trs quartos do total de dados
mveis (CISCO, 2015). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.1 Exemplos do algoritmo de segmentao de quadro. . . . . . . . . . . . . . . . 22


3.2 Modos de predio direcional/espacial na predio intra. . . . . . . . . . . . . 26
3.3 Alinhamento para o filtro de desblocagem. . . . . . . . . . . . . . . . . . . . . 29
3.4 Padres usados no modo EO do SAO. . . . . . . . . . . . . . . . . . . . . . . 29
3.5 Ganho de taxa de bits em relao a codificadores anteriores. . . . . . . . . . . 29
3.6 Tcnicas de paralelizao de processamento. . . . . . . . . . . . . . . . . . . 31

4.1 Relao grfica entre as principais resolues usadas em sistemas de TVD. . . 46


4.2 Hiperplano e margens encontrados pelo algoritmo SVM. . . . . . . . . . . . . 49
4.3 Transformao de um problema no-linearmente separvel em um problema
linearmente separvel usando uma funo kernel. . . . . . . . . . . . . . . . . 50

5.1 Comportamento do erro de classificao com a reduo do nmero de atributos 60


5.2 Fluxograma do algoritmo proposto. . . . . . . . . . . . . . . . . . . . . . . . 61

6.1 Exemplos de quadros dos vdeos utilizados nos testes. . . . . . . . . . . . . . . 64


6.2 Simulao para o vdeo Campfire Party usando a parametrizao Low Delay B. 66
6.3 Simulao para o vdeo Construction Field usando a parametrizao Low Delay
B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.4 Simulao para o vdeo Tree Shade usando a parametrizao Low Delay B. . . 67
6.5 Simulao para o vdeo Wood usando a parametrizao Low Delay B. . . . . . 68
6.6 Simulao para o vdeo Fountains usando a parametrizao Low Delay B. . . . 68
6.7 Mdia dos valores dos erros de classificao obtidos nas simulaes com a pa-
rametrizao Low Delay B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.8 Simulao para o vdeo BasketBall Drive usando a parametrizao Random
Access para 10 quadros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
xii

6.9 Simulao para o vdeo Campfire Party Drive usando a parametrizao Random
Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.10 Simulao para o vdeo Construction Field usando a parametrizao Random
Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.11 Simulao para o vdeo Fountains usando a parametrizao Random Access. . . 71
6.12 Simulao para o vdeo Library usando a parametrizao Random Access. . . . 72
6.13 Grficos para o vdeo Library usando a parametrizao Random Access em ei-
xos independentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.14 Simulao para o vdeo Rush Hour usando a parametrizao Random Access. . 73
6.15 Simulao para o vdeo Tree Shade usando a parametrizao Random Access. . 73
6.16 Simulao para o vdeo Wood usando a parametrizao Random Access. . . . . 74
6.17 Mdia dos valores dos erros de classificao obtidos nas simulaes com a pa-
rametrizao Random Access. . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.18 Simulao do vdeo resultante da concatenao dos vdeos Residential Building,
Runners e Rush Hour. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.19 Simulao do vdeo resultante da concatenao dos vdeos Wood, Tree Shade e
Fountains. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.20 Comparativo da reduo de complexidade computacional para as parametriza-
es Random Access e Low Delay B. . . . . . . . . . . . . . . . . . . . . . . . 77
6.21 Comparativo da degradao do vdeo, medida pela YPSNR, para as parametri-
zaes Random Access Low Delay B. . . . . . . . . . . . . . . . . . . . . . . . 77
Lista de Tabelas

3.1 Tabela de nveis do padro H.264. . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1 Tipos de funes kernel mais utilizadas. . . . . . . . . . . . . . . . . . . . . . 51

5.1 Descrio dos atributos analisados no processo de seleo automtica. . . . . . 59


5.2 Atributos elencados em ordem de relevncia segundo o algoritmo IGAE. . . . . 60

6.1 Descrio do conjunto de vdeos utilizados. . . . . . . . . . . . . . . . . . . . 63


6.2 Configuraes das principais ferramentas do codificador HEVC. . . . . . . . . 65
6.3 Tempo gasto em cada passo do codificador de referncia. . . . . . . . . . . . . 65
6.4 Resultados da comparao com o HM 16.7 em termos de eficincia de com-
presso - Primeira parte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.5 Resultados da comparao com o HM 16.7 em termos de eficincia de com-
presso - Segunda parte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.6 Diminuio da complexidade computacional em comparao com o codificador
HM. Primeira Parte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.7 Diminuio da complexidade computacional em comparao com o codificador
HM. Segunda Parte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.8 Resultados das mtricas BD-Rate e BR-PSNR para a parametrizao Random
Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.9 Resultados das mtricas BD-Rate e BD-PSNR para a parametrizao Low De-
lay B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

7.1 Comparaes com os principais resultados da literatura revisada. . . . . . . . . 84


Lista de Siglas

ABNT Associao Brasileira de Normas Tcnicas


AMVP Advanced motion vector prediction
AVC Advanced Video Coding
CABAC Context-Based Arithmetic Coding
CAVLC Context-Adaptive Variable-Length Codes
CTB Coding Tree Block
CTU Coding Tree Unit
CU Coding Unit
DCT Discrete Cosine Transform
DVB-T Digital Video Broadcasting - Terrestrial
EO Edge Offset
EPZS Enhanced Predictive Zonal Search
FRExt Fidelity Range Extensions
HEVC High Efficiency Video Coding
IDFT Inverse Discrete Fourier Transform
IGAE Information Gain Attribute Evaluation
JCT-VC Joint Collaborative Team on Video Coding
ISDB-T Integrated Services Digital Broadcasting Terrestrial
ISO International Organization for Standardization
IEC International Electrotechnical Commission
ITU-T International Telecommunication Union - Telecommunication Standardization Sector
MPEG Motion Picture Experts Group
NAL Network Abstraction Layer
PSNR Peak Signal-to-Noite Ratio
PU Prediction Block
PU Prediction Unit
SAO Sample Adaptative Offset
SI Spatial Information
SVM Support Vector Machine
xv

TI Temporal Information
TMuC Test Model under Consideration
TB Transforming Block
TU Transforming Unit
UHD Ultra High Definition
VCEG Video Coding Experts Group
Lista de Smbolos

Fator que otimiza a relao taxa para distoro.


Identificao do codificador proposto nesta tese.
C APTULO 1

Introduo

Durante a dcada passada houve um significativo aumento da demanda por servios de


vdeo digital, como por exemplo, transmisses de televiso em alta definio, canais de televi-
so transmitidos pela Internet, vdeo-conferncias e vdeo sob-demanda. Para viabilizar esses
servios, significativos avanos no campo de compresso de sinais de vdeo foram alcanados
para permitir a reduo do espao de armazenameto e atender s limitaes da largura de banda
disponvel. Dessa forma, gerou-se um apelo por novas tcnicas de codificao mais poderosas
do que as especificadas pelo H.264 (WANG et al., 2013).
A resoluo e os recursos de exibio de uma ampla gama de produtos eletrnicos, desde
televisores a celulares, tm melhorado nos ltimos tempos. Isso deve fomentar o desenvolvi-
mento de tecnologias relacionadas com a televiso em ultra-alta definio (UHDTV Ultra
High Definition Television), com resolues de at 7680 4320 pixels e o crescente aumento
no tamanho e resoluo das telas de dispositivos mveis, como smartphones e tablets (NIGH-
TINGALE et al., 2012).
O fluxo contnuo de vdeo (streaming) uma aplicao que requer uso intensivo da taxa
disponvel para transmisso e atualmente responde por um percentual significativo do trfego
de Internet. Em 2012, a Cisco relatou que o streaming de vdeo para dispositivos utilizados por
usurios comuns transferiram 56 exabytes pela Internet em 2010 e que haveria um crescimento
para 403 exabytes em 2015 (NIGHTINGALE et al., 2012). Com a adoo de dispositivos de alta
resoluo, tanto com fio (por exemplo, televisores UHD) como sem fio (smartphones e tablets),
os operadores de rede tero que enfrentar novos desafios na oferta de servios com largura de
banda suficiente para satisfazer a demanda do consumidor.
Estes novos desafios podem ser satisfeitos pela melhoria da taxa de compresso, redu-
zindo assim a exigncia de largura de banda do padro de codificao corrente, o H.264/AVC
(Advanced Video Coding). O novo padro, o High Efficiency Video Coding (HEVC), tem como
objetivo resolver este problema, fornecendo um aumento de 50% na eficincia de compres-
so sobre o padro H.264/AVC, mantendo o mesmo nvel de qualidade visual percebida pelos
usurios (SULLIVAN et al., 2012).
Introduo 2

O padro de codificao de vdeo HEVC o mais recente esforo conjunto entre as


organizaes de padronizao ITU-T VCEG (Video Coding Experts Group) e a ISO/IEC MPEG
(Moving Picture Experts Group) em uma parceria conhecida como JCT-VC (Joint Collaborative
Team on Video Coding). A primeira edio do padro HEVC foi publicada em janeiro de 2013,
em duas normas com mesmo contedo divulgadas pelos orgos envolvidos.
O HEVC foi projetado para atender a todas as aplicaes existentes do H.264/MPEG-4
AVC e, principalmente, dois requisitos especficos: codificao de vdeos com alta resoluo
e o uso de arquiteturas de processamento parelelo (VANNE et al., 2012). A sintaxe do HEVC
genrica ao ponto de possibilitar uma adequao satisfatria a outras aplicaes alm das duas
citadas (SULLIVAN et al., 2012). A Figura 1.1 ilustra a nova arquitetura desenvolvida para o
codificador HEVC. O aprofundamento das novas ferramentas de codificao e novos elementos
da sintaxe foram estudados nesta tese.

Figura 1.1 Arquitetura de blocos do codificador HEVC.

As aplicaes multimdia tm se tornado mais flexveis e mais poderosas com a evoluo


da microeletrnica e o desenvolvimento de novos mtodos de processamento de sinais digitais.
A limitao da largura de banda do canal e os rigorosos requisitos de reproduo de vdeo em
tempo real implicam que a codificao seja um processo indispensvel para muitas aplicaes
de comunicao visual que requerem taxas de compresso muito alta. A elevada correlao
temporal entre quadros adjacentes em uma sequncia de vdeo, tambm chamada redundn-
cia temporal, deve ser identificada e, posteriormente explorada, com o intuito de eliminar a
informao reduntante (KAMOLRAT et al., 2009).
Introduo 3

Com o aumento na popularidade das comunicaes de vdeo, a experincia do usu-


rio passa a ser uma das preocupaes mais importantes na concepo e avaliao de sistemas
multimdia (LIU et al., ). Em uma cadeia de transmisso de vdeo, vrios fatores influenciam a
qualidade da imagem exibida. Um desses fatores o prprio algoritmo de codificao de fonte.
Como consequncia da codificao com perdas, uma degradao de qualidade do vdeo pode
ser observada (WOLFF et al., 2006).
Recentes avanos nas tecnologias de captura e exibio de contedos de vdeo de alta
resoluo tm levado a um interesse crescente em servios que proporcionam uma experincia
de usurio ampliada. Para prestar tais servios, o novo formato de vdeo de Ultra Alta Definio
(UHD) foi definido, como um sucessor para o formato de alta definio (HD). As especificaes
do formato de vdeo em ultra alta definio esto especificadas como o padro UHDTV, que foi
ratificado pelo grupo de trabalho do padro DVB (Digital Video Broadcasting) e pela Unio Eu-
ropeia de Radiodifuso (UER), conforme especificado na Recomendao BT.2020 (SUGAWARA
et al., 2014), e compreendem resolues espaciais de 38402160 e 76804320 amostras de
luminncia por quadro, resoluo temporal de at 120 quadros por segundo e profundidade de
at 12 bits por banda de informao.
As resolues citadas so mltiplas do padro HDTV. O espao de cores definido para
o padro UHD composto pela luminncia (Y), crominncia vermelha (Cr) e crominncia
azul (Cb). Tal quantidade de dados aumenta a necessidade de uma tecnologia de compresso
eficiente, pois uma transmisso UHDTV gera um volume de dados at oito vezes maior do que
os dados transmitidos em um canal HDTV padro.
Estatsticas das previses da Cisco sobre o trafgo de dados (CISCO, 2015) mostram que,
em 2020, 76% do total de informaes trafegando na Internet sero dados de vdeo e, principal-
mente, vdeo em altas resolues, como mostrado na Figura 1.2. Para responder necessidade,
o padro H.265/High Efficiency Video Coding (HEVC) foi desenvolvido em parceria pelo grupo
de especialistas em codificao de vdeo da ITU (ITU/VCEG Video Coding Experts Group)
e pelo grup de especialistas da ISO Moving Picture Experts Group. O padro HEVC supera
seu antecessor, o padro H.264/Advanced Video Coding (AVC) com redues mdias de 50%
na taxa de bits para a mesma qualidade percebida. Foi medida uma ainda maior eficincia de
compresso quando comparada compresso de contedo UHD, principalmente devido ao uso
de grandes blocos de at 6464 amostras de luminncia. No entanto, a codificao HEVC de
um sinal com resoluo UHD representa uma tarefa de elevada complexidade computacional.
Por esta razo, mtodos para diminuir a complexidade do esquema de codificao HEVC so
cruciais, especialmente quando se codifica o contedo UHD.
Nesta tese, o desempenho da implemenitao de referncia do codificador HEVC foi
analisado em termos de tempo gasto durante a realizao de diferentes tarefas de codificao de
contedos de vdeo em UHD. Com base nesta anlise, um novo algoritmo apresentado para
reduzir a complexidade do mdulo de predio inter-quadros, que o processo de estimao da
redundncia temporal.
Introduo 4

Figura 1.2 Dados de vdeo em redes mveis representaram trs quartos do total de dados mveis (CISCO,
2015).

A complexidade do HEVC torna-se um problema ainda mais crtico quando aplicado


para compresso de contedo em ultra-alta definio (UHD). Como resultado, o contedo tpico
UHD disponvel hoje caracterizado por uma falta inerente de detalhes finos e outras caracte-
rsticas peculiares. razovel supor que essas caractersticas podem influenciar o desempenho
da codificao, devido ao seu impacto sobre a qualidade dos blocos de referncia utilizados
para a etapas da predio inter e tambm da quantidade de resduos no nulos resultantes aps a
quantizao. Esses fatores podem aumentar a complexidade e prejudicar a eficincia do HEVC
e, embora tenha sido projetado para lidar com compresso de sinais de grandes resolues,
existem poucos trabalhos para tratar especificamente de codificao UHD.
Vdeos em ultra-alta definio esto se tornando mais populares por proporcionarem
maior qualidade percebida e por criar uma experincia de visualizao mais realista, gerando
um mercado de vdeo promissor. No entanto, o volume de dados desses vdeos em UHD au-
menta significantemente com o aumento da resoluo e da taxa de quadros. Por exemplo, um
vdeo 7680 4320 a 120 quadros por segundo com 24 bits por pixel, representa um fluxo de
11, 1 gigabytes por segundo de dados de vdeo bruto, o que requer um esquema de compresso
altamente eficiente.
O HEVC adota avanadas tcnicas de codificao, incluindo um novo algoritmo de par-
tio do bloco de codificao, 35 modos de previso intra, a transformada discreta de senos,
sofisticados algoritmos de interpolao e filtragem, entre outros. Estas tcnicas melhoraram
significativamente a eficincia de compresso. No entanto, elas implicam em alto custo de
complexidade computacional e, consequentemente, alto custo de hardware, por demandar muita
capacidade de processamento, acesso memria, espao de armazenamento e consumo de ener-
gia, que dificultam o uso de vdeos UHD em aplicaes de tempo real, tais como transmisso
de TV ao vivo, vdeo para dispositivos embarcados e aplicaes de vigilncia.
Introduo 5

O ncleo do processo de codificao do HEVC a unidade de codificao em rvore


(Coding Tree Unit CTU), conceitualmente semelhante ao macrobloco usado em padres de
codificao de vdeo anteriores. Uma CTU pode conter apenas uma unidade de codificao, ou
ser dividida em mltiplas unidades com dimenses de 8 8, 16 16, 32 32 e 64 64. Cada
unidade de codificao pode ser dividida em unidades de predio menores de vrios modos, in-
clusive nos modos SKIP e MERGE. Nesse processo, o codificador verifica 4i parties,i [0, 3].
Com isso uma CTU pode ter (24 +1)4 +1 = 83522 diferentes combinaes de tamanhos de uni-
dades de codificao. Os resduos resultantes das etapas de explorao da redundncia temporal
so processados com unidades de transformada (TU Transform Unit). A configurao tima
de cada unidade de codificao, de predio e de transformada so determinadas baseado em
comparaes recursivas da relao taxa/distoro para cada possibilidade, em uma estratgias
que todas as configuraes so avaliadas para a escolha da melhor, caracterizando um processo
de complexidade elevada.
O objeto de estudo dessa tese abordar o problema de reduo da complexidade com-
putacional de um codificador de vdeo HEVC para vdeo em UHD sem implicar em perdas
significativas na eficincia de compresso final em termos de distoro e taxa de bits resultante.
A complexidade computacional medida pelo tempo de execuo do processo de codificao.
Considerando que, por exemplo, algumas vezes a qualidade do vdeo limitada pelo tempo
de processamento disponvel, essa reduo proposta pode melhorar a qualidade da experincia
dos usurios finais. Em geral, a maioria dos algoritmos de aprimoramento do processo de co-
dificao HEVC encontrados na literatura recente, e que sero descritos no prximo captulo,
so baseados na relao taxa/distoro e nas informaes espao-temporais. Correlaes dessas
variveis so utilizadas para tentar abreviar o dispendioso processo de particionamento das uni-
dades de codificao, predio e transformao. Essa abordagem tende a limitar a generalizao
dessas tcnicas, dificultando sua execuo em situaes com outros contedos, parmetros ou
estruturas de codificao mais complexas.
Considerando o cenrio apresentado, essa tese utiliza tcnicas de aprendizagem de m-
quina, ou aprendizagem automtica, usando uma abordagem que diminui a necessidade de co-
nhecimentos profundos das correlaes dos diversos parmetros do processo de codificao
HEVC. A aprendizagem automtica tem sido aplicada com sucesso em problemas de intelign-
cia artificial, reconhecimento de padres e processamento de sinais devido a sua capacidade
de aprender a partir de grandes conjuntos de dados em situaes complexas e atingir resulta-
dos aprimorados. A modificao proposta foi implementada na verso 16.7 do codificador de
referncia do padro HEVC. A possibilidade de executar um algoritmo de aprendizagem auto-
mtica em tempo de execuo uma das principais contribuies deste trabalho. As simulaes
mostraram que o classificador utilizado estabiliza a taxa de erro antes dos primeiros 130 qua-
dros, o que representa um perdo de 4, 33 segundos para uma taxa de 30 quadros por segundo
e 2, 16 segundos para uma taxa de 60 quadros por segundo, que a tendncia para vdeos de
alta resoluo em telas de grandes dimenses. Os resultados mostraram que o algoritmo pro-
Introduo 6

posto reduz a complexidade computacional, ou seja, o tempo de processamento do processo


em 30% em mdia em relao ao codificador de referncia. Alm as perdas de qualidade obje-
tiva e a eficincia de compresso medidas pelas mtricas de Bjntegaard apresentaram valores
desprezveis em relao aos resultados da implementao de referncia e est alinhada com os
resultados mais atuais da literatura revisada.
No Captulo 2 feita uma reviso bibliogrfica da literatura referente a propostas de
otimizao de processos de codificao de vdeo digital. Essa reviso mostrou que a abordagem
est bem alinhada com o andamento das pesquisas recentes da comunidade cientfica especia-
lizada nesse tema. No Captulo 3 descrito o processo de padronizao e, detalhadamente, o
funcionamento do codificador HEVC. O Captulo 4 apresenta o conceito de aprendizagem de
mquina e explica as tcnicas usadas com enfoque para a mquina de vetores suporte e uma de
suas principais otimizaes, o algoritmo Pegasos, que configurado para execuo em tempo
de execuo. No Captulo 5 apresentado o algoritmo proposto, que ser chamado de Codi-
ficador no andamento desse trabalho. O Captulo 6 descreve a metodologia utilizada, que
fortemente baseada no documento (BOSSEN, February, 2012), e as ferramentas aplicadas nas
anlises e implementaes. Aps isso, as simulaes e anlises esto descritas no Captulo 7
e, finalmente, os resultados, concluses e propostas de trabalhos futuros so apresentados no
Captulo 8.
C APTULO 2

Reviso Bibliogrfica

A maioria dos trabalhos revisados sobre o HEVC utiliza o codificador de referncia


do ITU (International Telecommunication Union), chamado HM (HEVC Test Model), como
base para aplicar as mudanas necessrias analisada por cada estudo. Poucos estudos (HU et
al., 2014) utilizam o codificador x265. O x265 codificador de cdigo aberto desenvolvido e
mantido pelo FFmpeg (FFMPEG. . . , ) e apesar de apresentar um desempenho melhor, em termos
do tempo de execuo, implementa apenas um conjunto restrito das especificaes do HEVC,
o que inviabilizaria a anlise comparativa da influncia dos mdulos definidos na especificao
no desempenho geral do codificador (ZUPANCIC et al., 2015a).
Uma soluo para a reduo da quantidade de esforo computacional usar os dados
da sequncia de vdeo em tempo de codificao. Abordagens de processamento das informa-
es do sinal de vdeo geradas em tempo de codificao so recentes e menos exploradas em
comparao com o processamento no domnio espacial antes ou depois do processo da codi-
ficao (KIM et al., 2015). Um exemplo de um algoritmo simples e rpido para a deteco de
alteraes em tempo de codificao apresentado em (BRACAMONTE et al., 2005) e (SZCZERBA
et al., 2009).
A aprendizagem de mquina um conjunto de tcnicas e algoritmos aplicados em inte-
ligncia artificial, reconhecimento de padres e processamento de sinal, uma vez que aprende
a partir de grandes volumes de dados em situaes complexas e tem a capacidade de poder
chegar soluo ideal em algumas situaes.. Com esta propriedade, os pesquisadores ten-
tam aplicar algoritmos de aprendizagem automtica na codificao de vdeo para atingir uma
melhor eficincia de compresso. O artigo (LAMPERT, 2006), publicado em 2006, um dos
primeiros trabalhos que descreve de forma mais clara o uso de tcnicas de aprendizado de m-
quina para otimizar o processo de codificao de vdeo. Nesse trabalho ainda ainda abordado
o codificador H.264. Em (VAN et al., 2013), feito uso de tcnicas de classificao, mais especi-
ficadamente o algoritmo de classificao estatstica por rvore de deciso, chamado C4.5, para
aplicaes de transcodificao de taxa para codificadores HEVC.
Reviso Bibliogrfica 8

Mtodos de aprendizagem automtica em tempo real (Online Learning) so bem cor-


relacionados com mtodos de gradiente estocstico por operaram em apenas uma amostra do
conjunto de treinamento, em cada iterao. Essa abordagem altamente recomendada quando
o problema aborda grandes volumes de dados. Essa argumentao foi fundamental para o pro-
blema abordado nesta tese, dado que a quantidade de amostras treinadas ultrapassa a ordem
dos milhes em menos de trs segundos. O armazenamento de tais valores para treinamento
seria invivel, por exemplo, para dispositivos embarcados, nos quais a capacidade de armazena-
mento baixa. O algoritmo Pegasos (Primal Estimated sub-GrAdient SOlver for SVM (SHALEV-
SHWARTZ et al., 2007) compartilha a simplicidade e a velocidade que so caractersticas de al-
goritmos de aprendizagem automtica em tempo real e ainda garante a convergncia para a
soluo tima, baseando-se no algoritmo SVM (Support Vector Machine). O algoritmo Pe-
gasos uma aplicao de um mtodo de gradiente estocstico. No contexto de problemas de
aprendizagem automtica, a eficincia da abordagem do uso de gradiente estocstico foi ob-
servada experimentalmente que, algoritmos estocsticos produzem o melhor desempenho de
generalizao (SHALEV-SHWARTZ et al., 2007). Os trabalho publicado por (TOHIDYPOUR et al.,
2015) mostra uma aplicao de tcnica de aprendizagem automtica em tempo real para codi-
ficao HEVC de vdeos em trs dimenses onde explorado a correlao entre caractersticas
dos mapas de profundidade e do vdeo base. Foram utilizadas informaes de textura e dos
vetores de movimento. A abordagem resultou em redues de tempo de processamento de 67%
para os mapas de profundidade e 27% ao todo.
Considerando o problema de compresso de vdeo de elevadas resolues, nomeados
de vdeos em UHD (Ultra High Definition), em (NACCARI et al., 2015) proposta uma anlise
do desempenho do codificador HEVC focado em aplicaes para UHDTV (Ultra High Defi-
nition Television), avaliando cada ferramenta de codificao e o impacto delas na eficincia de
compresso e complexidade computacional. D-se o nome de ferramenta de codificao aos di-
ferentes algoritmos e processos que combinados produzem um fluxo de bits codificados a partir
do vdeo original. Dessa forma, proposta uma configurao compatvel com o cenrio atual da
capacidade de transmisso. Alm disso trs novas tcnicas de otimizao so introduzidas, que
resultaram em 11, 5% de reduo do tempo de processamento com um aumento de 3, 1% na taxa
de bits. Outro trabalho que aborda a codificao de vdeos UHD foi realizado em (PODDER et al.,
2015). Nesse artigo foi feita uma anlise do processo de codificao HEVC para vdeos UHD
e mostrou-se que a etapa de predio temporal e a estimao de movimento so responsveis
por uma percentagem considervel do tempo de codificao especialmente quando o objetivo
a compresso de contedo UHD. Um novo algoritmo para reduzir a complexidade computa-
cional foi proposto com o objetivo de enderear o trmino prematuro do particionamento das
unidades de codificao. Dentre os trabalhos analisados, essa abordagem apresentou um dos
piores resultados reduzindo apenas 9, 8% do tempo de codificao quando comparados com a
execuo de um codificador de referncia.
Reviso Bibliogrfica 9

Em outro abordagem, que foca em vdeos UHD, o artigo (ZUPANCIC et al., 2015a) es-
tuda o desempenho da implementao de referncia do codificador HEVC para vdeos UHD,
analisando, em termos de tempo gasto, a realizao das diferentes etapas da codificao. Com
base nesta anlise, um novo algoritmo apresentado para reduzir a complexidade da etapa de
predio Inter, restringindo os modos a serem testados e usando tcnicas de acelerao da etapa
de estimao de movimento. Os resultados experimentais mostram que o algoritmo proposto
alcana, em mdia, uma economia de tempo de 72, 9%, para perdas de codificao limitadas.
Em (LI et al., 2015) um novo algoritmo,tambm focado na etapa de estimao de movimento,
proposto tendo capacidade adaptativa ao contexto usando algoritmos de medio da intensidade
de movimento, baseando-se nas informaes dos magnitude dos vetores de movimento e nas
diferenas entre vetores de blocos vizinhos. Dessa forma, quando a intensidade de movimento
elevada, o algoritmo TZ Search utilizado, de outro modo, quando os valores so reduzidos,
o algoritmo da busca hexagonal aplicado. Os resultados experimentais publicados mostraram
que o mtodo proposto reduz de 30% a 60% o tempo do processo de estimao de movimento,
com redues na eficincia de codificao, em mdia, de 0, 5% BD-Rate. A mtrica BD-Rate
faz parte de conjunto de mtricas desenvolvidas por Gisle Bjtegaard e sero explicas no Cap-
tulo 4.
Em (ZHANG et al., 2015a), diferente de outros mtodos que se concentram em obter os
modos mais provveis de acordo com o limiar de custo ou com os modos de blocos vizinhos
no espao e no tempo, esse trabalho prope determinar os modos menos provveis baseando-
se na distribuio da distoro de forma a acelerar o processo de codificao com pequenas
perdas de qualidade. Foi obtida uma correlao entre a distoro e o modo de predio Inter.
Essa abordagem alcanou um expressivo resultado, reduzindo a complexidade computacional
em at 77% em comparao ao codificador de referncia HM 16.4. Considerando a ativao de
ferramentas nativas de deciso prematura de particionamentos desse codificador, as redues
tambm foram significativas, resultando em 48% de reduo do tempo de codificao com um
aumento de 2, 9% na taxa de bits.
Existem alguns trabalhos que abordam algoritmos para a determinao prematura do
particionamento das unidades de codificao. Geralmente, os algoritmos propostos fazem uso
de informao previamente adquirida. Em (XIONG et al., 2014b) um proposto um mtodo ba-
seado em uma tcnica, conhecida como divergncia de movimento piramidal (PMD Pyramid
Motion Divergence), para avaliar o modo Skip para cada formato de unidade de codificao
(Coding Unit CU) inter-quadros avaliado. O mtodo PMD avalia a varincia do fluxo ptico
da unidade de codificao corrente em relao aos sub-CUs. Tambm utilizado o algoritmo k
Nearest Neighboring (kNN) para determinar o modo de diviso de cada unidade de codificao.
Nesse trabalho feito um clculo relativamente simples, mas de qualquer forma, h impacto
na reduo da complexidade computacional. Em (YU et al., 2013), a etapa de deciso do modo
Skip de um codificador H.264 para vdeos estreos modelada como um problema de classifi-
cao, usando uma rvore de deciso. Foi observado que para esse tipo de vdeo, o modo Skip
Reviso Bibliogrfica 10

significativamente mais frequente que outros modos. No entanto, esses algoritmos que abor-
dam o H.264 no adequados para serem aplicados em problemas anlogos no HEVC devido a
diferena entre as caractersticas estatsticas desses codificadores.
O trabalho (DENG et al., 2014) aplica um mapeamento de ROI (Region of Interest) para
definir antecipadamente o nvel de profundidade da avaliao RD de um CTU de forma a con-
trolar a complexidade computacional do processo de codificao. O modelo de ateno ROI
baseado nas caractersticas do sistema visual humano. De acordo com o modelamento des-
sas caractersticas, quando uma pessoa assiste a um vdeo genrico, ela no deve prender sua
ateno em toda a cena, mas somente a uma pequena regio em volta de um ponto de fixao,
conhecida como regio de interesse. Um algoritmo de classificao descrito em (MALLIKA-
RACHCHI et al., 2014) baseado no conceito de homogeneidade de movimento de uma unidade de
codificao e na taxa de distoro, para encontrar o melhor modo de predio inter para encer-
rar a busca prematuramente. Esse algoritmo mostrou bons resultados, chegando a significativos
73,25% de reduo de complexidade computacional, um dos melhores resultados encontrados
nas pesquisas para essa TS. Uma nova caracterstica baseada no clculo da PVAD (Pyramid
Variance of Absolute Difference) utilizada como parmetro de um mtodo conhecido como
Graph Cut em (XIONG et al., 2014a).
Em uma abordagem semelhante proposta nesta tese, o artigo (AHN et al., 2015) apre-
sentado um esquema de deciso prematura do modo Skip e um mtodo de particionamento
rpido da unidade de codificao. Esses esquemas apresentaram perdas negligenciveis em re-
lao a efincia de compresso. A abordagem utilizada consiste em utilizar parmetros que ma-
peiam as caractersticas espao-temporais da sequncia de vdeo que esto disponveis durante
o processo de codificao HEVC sem a necessidade de produo de nenhum atributo adicional
que possa demandar um custo computacional adicional. Essa anlise utilizou os parmetros da
etapa de filtragem SAO (Sample Adaptative Offset), tamanho da TU (Transform Unit), vetores
de movimento e a informao da quantidade de coeficientes zerados antes da quantizao. Os
resultados mostraram uma reduo de 42%, em mdia, no tempo total de processamento com
perdas de, no mximo, 1, 4%. O trabalho realizado em (SHEN et al., 2014) tambm explorada
caractersticas espao-temporais, tendo como principal idia a explorao da correlao entre o
nvel de profundidade do processo de particionamento e informaes espao-temporais do con-
tedo para ajustar a deciso do modo inter. Em (LEE et al., 2015a) tambm abordado o mesmo
problema da tese, e embora no tenha alcanado uma reduo de complexidade computacional
to expressiva quanto em outros trabalhos, os resultados mostraram que a eficincia de com-
presso foi aprimorada na maioria dos vdeos testados, principalmente para configurao Low
Delay B. A anlise desse artigo mostrou que existe uma forte correlao entre o particionamento
do bloco e as medidas de distoro calculadas no processo.
Na linha de codificadores perceptuais de vdeo (PVC Perceptual Video Coding), o
trabalho realizado em (KIM et al., 2015) proposto um esquema de codificao baseado em
modelos que usam a mtrica JND (Just Noticeable Distortion). Esse modelo parametriza a etapa
Reviso Bibliogrfica 11

de transformao considerando caractersticas como a sensibilidade de contraste, adaptao


de luminncia e efeitos de mascaramento por contrastes. Os resultados mostraram que essa
abordagem obteve bons resultados na reduo da taxa de bits resultante de, em mdia 16%,
para a configurao Random Access
O trabalho (CORREA et al., 2015) apresenta os primeiros resultados do estudo apresentado
em (CORREA et al., 2014). Nesse trabalho foi desenvolvido um mtodo de trmino prematuro
da definio da estrutura de cada CTU da sequncia de vdeo. Esse mtodo aplica rvores de
classificao obtidas usando tcnicas de minerao de dados. As rvores de classificao fo-
ram treinadas usando resultados intermedirios do processo de codificao de um conjunto de
sequncias de vdeo de testes e, depois, implementadas em um codificador de referncia HM
com o propsito de abreviar todo o processo de otimizao distoro-taxa. Devido ao grande
volume de dados gerado no processo de codificao de sequncias em ultra alta definio, al-
goritmos de minerao de dados tm ajudado a pesquisar quais variveis do processo podem
ajudar na tomada de deciso dentro do prprio codificador. De maneira geral, essas tcnicas
apresentam-se como tendncia para geraes futuras do codificador.
A pesquisa realizada por (ZHANG et al., 2015b) executa uma classificao conjunta que
consiste na utilizao de mtiplos classificadores SVM (Support Vector Machine). Desse tra-
balho, foi retirada a fundamentao para o uso de algoritmos baseados em SVM nesta tese.
Com essa estrutura foi possvel garantir um processo flexvel de deciso da profundidade da
unidade de codificao, acarretando ganhos em relao ao processo de RDO convencional com
uma boa relao custo-benefcio entre a perda de qualidade e a complexidade computacional
do algoritmo. Em (PAN et al., 2014) aplicado um algoritmo para deciso antecipada da aplica-
o do modo de fuso de blocos (MERGE mode) usando informaes como a correlao entre
os modos de uma CU raiz e suas CU filhas, AZB (All Zero Block e variveis da estimao de
movimento. Esse algoritmo demonstrou uma reduo mdia de 58,96% no tempo de proces-
samento com pequenas perdas de 0,32% BDBR. Outro trabalho que utiliza SVM foi proposto
por (ZHANG et al., 2015b) que executa uma classificao conjunta, que consiste na utilizao de
mtiplos classificadores SVM (Support Vector Machine). Com essa estrutura foi possvel ga-
rantir um processo flexvel de deciso da profundidade da unidade de codificao, acarretando
em ganhos em relao ao processo de RDO convencional com uma boa relao custo-benefcio
entre a perda de qualidade e a complexidade computacional do algoritmo.
Em (MALLIKARACHCHI et al., 2014) desenvolvido um algoritmo de classificao ba-
seado na homogeneidade de movimento de uma unidade de codificao e na taxa de distoro
para encontrar o melhor modo de predio inter encerrando a busca prematuramente. Esse algo-
ritmo mostrou bons resultados, chegando a significativos 73,25% de reduo de complexidade
computacional. Um dos poucos estudos que aborda todas as etapas do processo de otimizao
da relao taxa/distoro (RDO) do codificador HEVC proposto em (CORREA et al., 2015).
Nesse estudo foi desenvolvida uma ferramenta que usa a tcnica de minerao de dados para
construir um conjunto de rvores de deciso que possibilitam o fim prematuro do processo deci-
Reviso Bibliogrfica 12

srio para encontrar a melhor configurao para unidades de codificao, unidades de predio
e unidades de transformao. Essa abordagem apresenta uma reduo da complexidade com-
putacional de at 88% em relao ao codificador de referncia HM, reforando a necessidade
de uma combinao de abordagens de otimizaes para obteno dos melhores resultados.
No Artigo (AHN et al., 2015), apresentado um esquema de codificao da unidade de
codificao com perdas de eficincia de codificao desprezveis. Ele consiste em um algoritmo
de deteco do modo Skip. Para isso, so usados os parmetros de codificao espao-temporal
que j esto disponveis durante o processo de codificao HEVC, sem a necessidade de ne-
nhum processamento adicional para a criao de novos atributos. Os parmetros utilizados
nesse algoritmo foram: Parmetros da etapa SAO (Sample Adaptative Offset), tamanhos das
unidades de transformo (TU Transformation Unit), tamanhos dos vetores de movimento e
a informao CBF (Coded Block Flag), que considera que todos os pixels residuais desse bloco
possuem valor 0.
Outros pontos podem ser explorados na tentativa de reduo de complexidade compu-
tacional e aumento da eficincia de compresso. A etapa de estimao de movimento um dos
principais pontos em que ganhos podem ser obtidos, principalmente porque, em geral, os algo-
ritmos de busca, inerentemente, pode apresentar um problema de erro mnimo local, quando seu
resultado converge para uma soluo no-tima dentro da janela de busca definida. De maneira
geral, no h garantias de que a posio obtida nas buscas seja tima. Em (PAN et al., 2013) so
propostas duas estratgias de trmino prematuro do processo de estimao de movimento do
algoritmo TZSearch implementado no codificador de referncia HM. O processo baseia-se em
uma anlise estatstica da probabilidade de selecionar o vetor preditor mediano como melhor
busca para os diferentes tamanhos da unidade de codificao. Em (WANG et al., 2014), os au-
tores utilizam a correlao entre o nivel de profundidade da arvre e o nmero de coeficientes
diferentes de zero nesse nvel para determinar o melhor tamanho da unidade de codificao e
finalizar o processo de avaliao RD. No entanto, essa abordagem no se mostrou eficiente para
sequncias com movimentos rpidos e com texturas mais elaboradas. O modo de predio Intra
tambm apresenta oportunidades de otimizao em seu processo.
Em (ZENG et al., 2011) definida uma metodologia de anlise chamada Correlation-
Based Mode Decision (CBMD) para acelerar o processo de codificao, diminuindo o nmero
de modos Intra testados durante a etapa de otimizao taxa-distoro (Rate Distortion Optimi-
zation). Os modos de predio intra so categorizados em cinco classes de movimentao e
atividades diferentes, e uma delas definida como o conjunto timo de modos para cada caso.
Em (FANG et al., 2013) desenvolvido um classificador bayesiano que utiliza um conjunto de
caractersticas previamente escolhidas atrves de uma anlise discriminante. Dessa forma,
possvel variar o tamanho desse conjunto usado como entrada do classificador, dimininuido o
tempo de processamento necessrio. Em (LEE et al., 2015b) usada uma tcnica conhecida
como Local Binary Pattern que extrai a informao da textura local para determinar o modo de
predio Intra do PU corrente.
Reviso Bibliogrfica 13

O artigo (JIA et al., 2006) revisa as mtricas de avaliao de qualidade objetiva mais
comuns e apresenta a mtrica JND (Just-Noticeable Distortion). Em (SESHADRINATHAN et al.,
2010) so apresentados os resultados de um estudo de grande escala de avaliao subjetiva
de qualidade de vdeos aplicando diversos tipos de distores nos vdeos estudados. Esses
resultados foram utilizados para testar o desempenho dos algoritmos de avaliao de qualidade
objetiva mais utilizados. Os resultados desses estudos e os dados coletados esto disponveis
numa base de dados batizada de Laboratory for Image and Video Engineering (LIVE) Video
Quality Database. Em (YU; WINKLER, 2013) so aprofundados os conceitos de complexidade
espacial e temporal que baseiam o processo de codificao de vdeo. O trabalho (KORHONEN et
al., 2013) analiza a relao entre o resultado de avaliao subjetiva com algumas caractersticas
do contudo exibido, estudando o impacto das distores espaciais e temporais na qualidade
total percebida pelo usurio.
Embora o artigo (TAN et al., 2015) relate um extenso conjunto de resultados de testes
de verificao da codificao HEVC, tambm resume detalhes de ferramentas que podem ser
utilizadas na anlise dos resultados que apontam para fatores que devem se considerados uma
avaliao, como por exemplo a mtrica Bjntegaard. Os resultados apresentados neste traba-
lho so baseados no uso de mais espectadores para testes subjetivos, resultados objetivos so
apresentados e comparados com os resultados subjetivos e anlises adicionais dos ganhos de
codificao em relao a taxa de bits so fornecidos. Em ltima anlise, o teste de verificao
mostrou que o objectivo principal do HEVC alcanado, isto , proporcionando uma melhoria
substancial na eficincia de compresso em relao ao seu antecessor AVC.
Para desenvolver a base de conhecimento sobre codificao de vdeo HEVC foi realizado
um detalhado estudo sobre a sua arquitetura, como apresentado no prximo captulo.
C APTULO 3

Tecnologias e Padres de Vdeo Digital

A etapa de codificao transforma o vdeo de entrada em uma fluxo de bits que um


representao codificada do vdeo original. O fluxo de bits dos padres de vdeo atuais usa uma
estrutura de pacotes em que a informao codificada organizada hierarquicamente de acordo
com a especificao abordada. O codificador deve gerar um fluxo de bits em conformidade
com as necessidades e requisitos da aplicao. Isso inclui a seleo de ferramentas (que so
determinadas pelo perfil de codificao escolhido) ou restries na disponibilidade de memria
no processo de decodificao e a taxa de transmisso resultante do vdeo codificado.
A otimizao do controle das decises de codificao um fator importante do projeto
do codificador. Dependendo do tempo disponvel para codificar o vdeo, a quantidade e os es-
foros de otimizao variam significativamente. Para aplicaes de tempo real, por exemplo, o
codificador usa apenas informaes passadas do vdeo corrente para aprimorar a predio. Alm
disso, os requisitos da transmisso e outros eventos imprevisveis influenciam no processo de
codificao. Em sistemas de produo de contedo, que codificam o vdeo para armazenamento
ou distribuio por mdias, dispendiosos processamentos so executados devido no haver ne-
cessidade de transmisso em tempo real. Sendo assim diversos processos de otimizao so
habilitados, assim como a otimizao da parametrizao.

3.1 O Padro ITU-T H.264


O principal objetivo do projeto H.264 foi desenvolver um padro de codificao de v-
deo de alto desempenho adotando tcnicas fundamentais de projeto simples e que tivessem seu
desempenho previamente comprovado. O grupo ITU-T VCEG (Video Coding Experts Group)
iniciou o trabalho de padronizao em 1997. O projeto do H.264 oferecia uma srie de van-
tagens quando comparados com os padres de codificao disponveis na poca. Podem-se
destacar as seguintes (ZENG ABDUL REHMAN et al., 2013):
Tecnologias e Padres de Vdeo Digital 15

Mais de 50% de economia de taxa de transmisso de bits: Comparando-o ao MPEG-2 e ao


MPEG-4 Simple Profile, o H.264 consegue uma reduo de 50% em taxa de transmisso
considerando o nvel de parametrizao similar.

Vdeo em alta qualidade: Alta qualidade de vdeos para baixas e altas taxas de codifica-
o.

Resilincia a erros: O H.264 implementa tcnicas avanada para tratar erros por perdas
de pacotes e erros de bit.

Amigvel a redes: A camada NAL (Network Adaptation Layer) abstrai a camada fsica
do processo de codificao e oferece suporte a diferentes tipos de rede de transmisso.

O processo de codificao do H.264 utiliza a abordagem de blocos, tambm utilizadas


nas geraes anteriores. O processo bsico composto das seguintes etapas:

1. Diviso de cada quadro do vdeo em blocos de pixels, que sero as entidades bsicas de
processamento no processo de codificao.

2. Explorao da redundncia espacial dentro de um quadro de vdeo usando as etapas de


predio espacial, transformao de domnio, quantizao e codificao de entropia.

3. Explorao da redundncia temporal existentes em blocos de mesma posio em quadros


sucessivos, para que, dessa forma, apenas as diferenas entre eles precisem ser codifica-
das. Esse processo realizado pelas etapas de estimao e compensao de movimento.
O processo de estimao de movimento detalhadamente descrito na sequncia desse
texto.

4. Explorao da redundncia espacial restante nos quadros resultantes da estimao de mo-


vimento.

Alm do modo de codificao progressivo onde os blocos so processados pela sequn-


cia de linhas do quadro, o processo de codificao H.264 suporta o modo entrelaado. Nesse
modo um quadro dividido em dois campos. Campos podem ser codificados usando entrelaa-
mento espacial ou temporal (ZENG ABDUL REHMAN et al., 2013).

3.1.1 Tipos de Slices


O padro H.264 define cinco diferentes tipos de slices: I, P, B, SI e SP. Slices I, ou
Slices Intra-quadros, descrevem uma imagem completa, contendo referncias a ela mesma. Um
vdeo H.264 pode conter apenas quadros I, mas isso raramente utilizado. O primeiro quadro
de uma sequncia obrigatoriamente sempre I. Slices P, ou slices preditos, usam um ou mais
slices recentemente decodificados como referncia para reconstruo do quadro. A predio
geralmente no exatamente igual ao quadro atual, dessa forma, um erro residual adicionado
Tecnologias e Padres de Vdeo Digital 16

ao processo. Slices B, ou Bi-predicted slices, funcionam assim como os slices P, sendo que
usam uma ou mais referncias futuras, alm das referncias passadas. Dessa forma, slices B
precisam ser codificados antes de um slice I e um slice P. Slices SI e SP so usados para realizar
transies entre dois fluxos H.264 diferentes.

3.1.2 Perfis e Nveis


O padro ITU-T H.264 define um conjunto de trs perfis. Um perfil de codificao
define os requisitos do codificador ou decodifador e especifica um conjunto de ferramentas de
codificao de acordo com a finalidade do perfil. So eles (WIEGAND et al., 2003):

Baseline profile oferece suporte codificao intra-quadros e inter-quadros (usando sli-


ces I e P respectivamente) e codificao de entropia com cdigos de comprimento varivel
de contexto adaptativo (Context-Adaptive Variable-Length Codes CAVLC). Aplicado
em videotelefonia, videoconferncia e comunicaes sem fio.

Main profile - suporta vdeo entrelaado, codificao inter-quadros usando slices do tipo
B, codificao inter-quadros usando perdio ponderada e codificao aritmtrica de con-
texto adaptativo (Context-Based Arithmetic Coding CABAC). Aplicado em radiodifu-
so televisiva e armazenamento de vdeo.

Extended profile no suporta vdeo entrelaado e CABAC, mas oferece suporte a mto-
dos de permutao de diferentes fluxos de bits codificados e resistncia e recuperao de
erros aprimorada. Usado principalmente em aplicaes de streaming de mdias.

Os limites de desempenho de codificadores e decodificadores so definidos por um con-


junto de nveis. Atualmente o padro H.264 define um conjunto de 16 nveis de codificao,
como mostrado na Tabela 3.1 (STOCKHAMMER et al., 2003). Os itens da tabela com os nomes
dos perfis correspondem mxima taxa de transmisso de bits alcanada pelo perfil especificado
em determinado nvel (WIEGAND et al., 2003):

MB/s max nmero mximo de macroblocos por segundo;

FS max dimenso mxima do quadro;

res@FR exemplo de resoluo a determinada taxa de quadros por segundo.

O nvel tambm define o tamanho da memria de armazenamento de entrada do decodificador.

3.1.3 Extenses ao Padro Original


Mesmo tendo uma vasta cobertura de tipos de aplicaes possveis, o padro H.264/AVC
basicamente focado em qualidade para vdeo de entretenimento, baseado em 8 bits por amos-
tra e formato de subamostragem de crominncia 4:2:0. Esse formato define a amostragem da
Tecnologias e Padres de Vdeo Digital 17

Tabela 3.1 Tabela de nveis do padro H.264.


Nvel MB/s FS Extended, High Profile High 10 High Profile res@FR
max max Main, Profile 4:2:2 e 4:4:4
Baseline
1 1485 99 64 kbit/s 80 kbit/s 192 kbit/s 256 kbit/s 128x96@30.9
1b 1485 99 128 kbit/s 160 kbit/s 384 kbit/s 512 kbit/s 128x96@30.9
1.1 3000 396 192 kbit/s 240 kbit/s 576 kbit/s 768 kbit/s 320x240@10.0
1.2 6000 396 384 kbit/s 480 kbit/s 1152 kbit/s 1536 kbit/s 320x240@20.0
1.3 11880 396 768 kbit/s 960 kbit/s 2304 kbit/s 3072 kbit/s 352x288@30.0
2 11880 396 2 Mbit/s 2.5 Mbit/s 6 Mbit/s 8 Mbit/s 352x288@30.0
2.1 19800 792 4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s 352x576@25.0
2.2 20250 1620 4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s 720x480@15.0
3 40500 1620 10 Mbit/s 12.5 Mbit/s 30 Mbit/s 40 Mbit/s 720x480@30.0
3.1 108000 3600 14 Mbit/s 17.5 Mbit/s 42 Mbit/s 56 Mbit/s 1280x720@30.0
3.2 216000 5120 20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s 1280x1024@42.2
4 245760 8192 20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s 2048x1024@30.0
4.1 245760 8192 50 Mbit/s 62.5 Mbit/s 150 Mbit/s 200 Mbit/s 2048x1024@30.0
4.2 522240 8704 50 Mbit/s 62.5 Mbit/s 150 Mbit/s 200 Mbit/s 2048x1088@60.0
5 589824 22080 135 Mbit/s 168.75 Mbit/s 405 Mbit/s 540 Mbit/s 3680x1536/26.7
5.1 983040 36864 240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s 4096x2304@26.7

componente de luminncia e a amostragem vertical e horizontal para das crominncias verti-


cais e horizontais. Devido a suas limities de tempo de desenvolvimento, o padro inicial
no incluiu suporte para a maioria dos ambientes profissionais de edio e produo de vdeo
e tambm no teve seu desenvolvimento voltado s mais elevadas resolues de vdeo. Para
resolver esses problemas, uma continuao dos trabalhos do projeto em conjunto foi iniciada
para adicionar novas extenses s capacidades do padro original (ALENCAR, 2007).
Esse novo esforo teve nicio em maio de 2003, tendo seus trabalhos finalizados em julho
de 2004. A divulgao oficial das novas funcionalidades do padro H.264/AVC FRExt aconte-
ceu em setembro de 2004. Essa extenso originalmente conhecida como Extenso Profissional
foi renomeada como Fidelity Range Extensions para melhor refletir o intuito das ferramentas
adicionadas. Com o tempo adicional foi possvel incluir:

Suporte ao dimensionamento adaptativo do tamanho dos blocos para a transformada es-


pacial;

Suporte a um modelo de adaptao perceptual das matrizes de quantizao escalveis;

Um conjunto de quatro novos perfis conhecidos como High Profiles:

High profile (HP) possui suporte representao de 8 bits/smbolo com subamos-


tragem de crominncia 4:2:0, visa abranger aplicaes que demandem alta definio
sem necessidade de um formato de croma maior ou melhor preciso nas amostras
de vdeo.
High 10 Profile (Hi10P) 4:2:0 e at 10 bits/amostra.
High 4:2:2 Profile (H422P) 4:2:2 e at 10 bits/amostra.
Tecnologias e Padres de Vdeo Digital 18

High 4:4:4 Profile (H444P) 4:4:4 e at 12 bits/amostra. Otimizado para codifica-


o no espao de cores RGB de forma a evitar erros de converso.

3.1.4 Codificao Intra-quadros


A codificao Intra-quadros se refere s etapas nas quais apenas a redundncia espacial
da informao de vdeo explorada e se aplica apenas aos quadros e slices I. Os quadros I so
tipicamente codificados aplicando a operao de transformada aos blocos do quadro. Devido a
explorar a apenas a redundncia espacial, a representao codificada de quadros I possui maior
quantidade de dados do que os outros tipo de quadros que executam as etapas de explorao
temporal.
O princpio da codificao baseia-se na observao de que blocos vizinhos tendem a
ter propriedades semelhantes. Dessa forma, o bloco alvo previsto a partir de algum dos seus
vizinhos. A diferena entre o bloco atual e sua predio calculada e submetida as prximas
etapas de codificao.

3.1.5 Codificao Inter-quadros


A codificao e predio Inter-quadros consiste em utilizar as tcnicas de compensao
e estimao de movimento para explorao da redundncia temporal entre quadros sucessivos
de um vdeo. A estimao de movimento no H.264 suporta a maioria das caractersticas dos pa-
dres anteriores, adicionando uma maior flexibilidade e novas funcionalidades aos algoritmos
suportados. O padro H.264 permite que os vetores de movimento sejam determinados com
maiores nves de preciso espacial, aprimorando capacidade de predio dos algoritmos de es-
timao de movimento. A maior preciso feita com os processos de estimao de movimento
com preciso de 1/4 de pixel.

3.2 O Padro HEVC

3.2.1 Introduo
O padro HEVC (High Efficiency Video Coding) projetado para alcanar vrias metas,
incluido a alta eficincia de codificao, facilidade de integrao de sistemas de transporte e
resilincia em perda de informaes, assim como a adaptabilidade para arquitetura de hardware
com processamento paralelo. So descritos nas prximas sees os principais pontos da arqui-
tetura do padro HEVC, com destaque para as novas funcionalidades, e as operaes tpicas
para a produo do fluxo de bits vlido.
Tecnologias e Padres de Vdeo Digital 19

3.2.2 O Processo de Padronizao do HEVC


Depois da finalizao da especificao do H.264/AVC High Profile em meados de 2004,
os comits ITU-T VCEG e ISO/IEC MPEG comearam a tentar identificar quando os prximos
principais avanos em compresso de vdeo estariam prontos para padronizao (OHM; SULLI-
VAN, 2013). Em 2004, o comit VCEG comeou a estudar tecnologias potenciais, em 2005
iniciou as investigaes de reas de tecnologias chave e, aps essas investigaes, prpos uma
base de cdigo comum derivada do cdigo do codificador de referncia do H.264/AVC. Entre
2005 e 2008, deu-se incio a atividades exploratrias em busca de aprimoramentos significativos
no processo de compresso e vrios workshops foram realizados para discutir esses aprimora-
mentos. Em 2008 uma chamada CfE (Call for Evidences) foi publicada para receber novas
propostas de aprimoramentos. Testes subjetivos foram realizados para avaliar os resultados das
submisses.
A partir das investigaes dos trabalhos submetidos, os dois comits concordaram que
j haviam tecnologias suficientes com potencial de aprimoramentos significativos em eficincia
de compresso quando comparadas a verso corrente do H.264/AVC. Em Janeiro de 2010, os
dois comits estabeleceram o grupo JCT-VC (Joint Collaborative Team on Video Coding) e,
no mesmo ano, uma chamada de propostas (CfP Call for Proposals) para tecnologias de
compresso de vdeo fora lanada para identificar as tecnologias iniciais que serviriam de base
para as futuras atividades de padronizao. No primeiro encontro do grupo, em abril de 2010, as
propostas submetidas forem estudadas e uma primeira verso, chamada de TMuC (Test Model
under Consideration), foi definida a partir de elementos das propostas mais promissoras. Alm
disso, o nome High Efficiency Video Coding foi escolhido. As tecnologias submetidas nas
principais contribuies propostas foram anteriormente discutidas em uma edio especial do
peridico IEEE Transactions on Circuits and Systems for Video Technology (OHM; SULLIVAN,
2013).
Mesmo que a TMuC tenha mostrado avanos significativos em eficincia de compresso,
ainda havia um nmero substancial de funcionalidades de codificao redundantes, principal-
mente devido ao fato de o cdigo de referncia ser formado a partir de vrias contribuies que
foram apressadamente agrupadas. A verso 1 do modelo de teste do HEVC (HM 1) e a verso
1 do rascunho de especificao correspondente foram produzidos como resultados do terceiro
encontro do grupo JCT-VC em outubro de 2010. Comparado ao projeto dos TMuC anteriores, o
HM 1 foi significativamente simplificado em funo da remoo de ferramentas de codificao
que demonstrao ganhos de compresso mnimos em relao a suas respectivas complexida-
des computacionais e complexidade computacional do sistema (WIEGAND et al., 2012). Vrios
outros aspectos, alm de aprimoramentos em compresso, foram investigados entre o quarto e
o dcimo-primeiro encontro do JCT-VC, incluindo reduo de complexidade computacional,
unificao de vrias ferramentas de codificao e a identificao de elementos passveis de pro-
cessamento paralelo (TOHIDYPOUR et al., 2015). O desenvolvimento do padro proposto chegou
Tecnologias e Padres de Vdeo Digital 20

a seu primeiro marco significativo em Fevereiro de 2012 com o trmino do primeiro rascunho
parcial da especificao HEVC (NIGHTINGALE et al., 2012). O projeto do HEVC foi continu-
amente aprimorado at o lanamento da verso final em Janeiro de 2013. Para o ISO/IEC, o
HEVC chamado International Standard 23008-2 ou MPEG-H Part 2, e, para o ITU-T, deve
ser padronizado como Recommendation H.265. A principal meta do JCT-VC era projetar e
desenvolver a prxima gerao de padres de codificao de vdeo que oferecesse um apri-
moramento na taxa de compresso de 50% em relao ao padro H.264/AVC sem perdas na
qualidade visual percebida (OHM et al., 2012).
O principal padro de codificao de vdeo que precedeu o projeto do HEVC foi o padro
H.264/AVC, desenvolvido no intervalo entre 1999 e 2003, que, posteriormente, fora extendido
de vrias outras formas de 2003 a 2009. O padro H.264/AVC uma tecnologia que possibilita
aplicaes de vdeo digital em reas que no eram antes cobertas pelos seus antecessores, entre
eles, o MPEG-2. Ele tem sido usado em transmisses de televiso em alta definio por sat-
lite, cabo e difuso terrestre, sistemas de edio e aquisio de vdeo, filmadoras, aplicaes
de segurana, Internet, vdeo para dispositivos mveis, discos Blu-ray e aplicaes de telecon-
ferncia ao vivo. No entanto, uma crescente diversidade de servios, a popularidade crescente
do vdeo em altas definies e o surgimento de resolues alm da alta definio (UHD - Ultra
High Definition) esto criando uma demanda de eficincia de codificao superior a eficincia
alcanada pelo H.264/AVC (ALVAREZ-MESA et al., 2012).
A necessidade ainda maior quando altas resolues de vdeo so usadas para sistemas
3D multiviso. Alm disso, o trfego causado por aplicaes de vdeo destinadas a dispo-
sitivos mveis e tablets, bem como as necessidades de transmisso de servios de vdeo sob
demanda, esto impondo grandes desafios s redes de transmisso. Um aumento do desejo por
maior qualidade e maiores resolues tambm surge em usurios de aplicaes mveis (ZENG
ABDUL REHMAN et al., 2013).
O HEVC foi desenvolvido essecialmente para atender a todas as aplicaes do padro
H.264/AVC e para focar em duas reas chaves: Altas resolues de vdeo e o melhor aproveita-
mento de recursos de arquiteturas de processamento paralelo. A sintaxe do HEVC genrica e
deve tambm ser adequada a outras aplicaes que no foram mencionadas no texto (PODDER
et al., 2015).
Para garantir o auxlio indstria no processo de adoo do padro, o esforo de padro-
nizao no inclui apenas o desenvolvimento de um documento textual de especificao, mas
tambm de um codificador de referncia para servir de exemplo de como o vdeo codificado.
O software de referncia foi usado como a ferramenta de pesquisa para o trabalho interno do
comit durante o processo de padronizao, e pode ser usado como uma ferramenta de pesquisa
geral sobre o HEVC ou como base para novos produtos.
O Artigo (OHM et al., 2012) apresenta as principais modificaes do HEVC em relao
ao seus antecessores e avalia a qualidade do vdeo usando a mtrica objetiva PSNR e mtricas
subjetivas. A mtrica PSNR, no caso do HEVC, alm de ser usada como critrio de avaliao
Tecnologias e Padres de Vdeo Digital 21

do vdeo produzido tambm usada como critrio de distoro para a otimizao dentro do
processo de codificao.
H razes para o uso dessa mtrica com esse intuito. A frmula para seu clculo
de fcil implementao e rpida execuo. Apesar de sua popularidade, a PSNR tem apenas
uma relao aproximada com a qualidade do vdeo percebido por observadores humanos. Isso
ocorre porque ela se baseia em uma comparao byte a byte dos dados, sem considerar o que
eles realmente representam. Assim, a medida fornecida por essa mtrica no apresenta uma boa
correlao com a qualidade realmente percebida.

3.2.3 A Nova Estrutura de Particionamento de Blocos do Padro HEVC


A principal motivao para a utilizao do particionamento baseado em blocos em com-
presso de vdeo ou imagens a possibilidade de codificar cada bloco com uma configurao
especfica escolhida dentro de um conjunto de parmetros pr-definidos, considerando que, em
geral, um modelo nico no consegue mapear eficientemente as propriedades de uma imagem
completa. A estrutura de dados Quadtree permite o particionamento de uma imagem em blocos
de tamanho varivel e , portanto, um framework adequado para otimizar a contrapartida entre
preciso do modelo (dado por uma distoro D) e o custo de codificao do modelo, tipica-
mente medida em taxa de bits R. Algoritmos de rvore que otimizam o funcional langrangeano
D + R foram desenvolvidos em (OHM et al., 2010) e (VANNE et al., 2012), motivando o pro-
jeto de algoritmos de compresso. O codificador/decodificador HEVC utiliza a abordagem de
particionamento Quadtree com elementos sintticos que armazenam a informao de subdivi-
so de blocos de diferentes tipos. Esse elementos sintticos servem tanto para a subdiviso dos
blocos como parmetros para as etapas de transformao e predio do codificador.
No entanto, o conceito de codificao de imagens e vdeos particionados pela aborda-
gem Quadtree intrinsecamente relacionado a algumas contrapartidas, como as analisadas em
(WIEGAND et al., 2012). Por exemplo, a decomposio sistemtica de todos os blocos em qua-
tro blocos filhos no permite a representao conjunta de blocos filhos que pertenam a dois
diferentes blocos-pai. Tambm, se um dado bloco dividido em quatro blocos filhos, todos os
filhos so tipicamente codificados separadamente, mesmo se dois ou trs deles compartilhem os
mesmos parmetros de codificao. No entanto, as propriedades sub-timas subdiviso Quad-
tree inicial pode ser substancialmente aprimorada pela juno de ns (blocos) pertencentes a
blocos-pai pontencialmente diferentes (ALVAREZ-MESA et al., 2012).
Um exemplo para ilustrar o potencial da juno de blocos mostrado na Figura 3.1. Essa
cena particular exemplifica as contrapartidas do particionamento baseado no Quadtree discutido
anteriormente. A Figura 3.1(a) exibe um segmento de um quadro da sequncia de testes Cactus
com uma seta indicando o sentido do movimento de uma haste de metal. A Figura 3.1(b) revela
que uma diviso de blocos otimizada em termos da razo taxa/distoro fora a segmentao
Quadtree a dividir as regies desnecessariamente. Foi observado, considerando uma gama de
Tecnologias e Padres de Vdeo Digital 22

sequncias de vdeo e condies de codificao, que para esses blocos, que so colaterais a
blocos previamente codificados com exatamente os mesmos parmetros de movimento, que em
40% dos casos podem ser usados os mesmos parmetros do bloco anterior. Para esse experi-
mento, foi usado uma verso do codificador de referncia HM sem a estimao para o algoritmo
de fuso de blocos. O resultado foi uma indicao de uma super segmentao devido ao algo-
ritmo de particionamento Quadtree e tambm indicou o potencial de codificao conjunta de
blocos vizinhos com parmetros de movimento idnticos (POURAZAD et al., 2012).

(a) (b)

(c)

Figura 3.1 (a) Segmento de uma quadro do vdeo Cactus contendo um objeto movendo-se na direo
apontada pelo seta. (b) Segmentao resultante do Quadtree. (c) Particionamento do quadro aps fuso
de blocos Quadtree (WIEGAND et al., 2012).

A Figura 3.1(c) mostra o mesmo particionamento como na Figura 3.1(b), mas com as
fronteiras removidas entre blocos distintos com parmetros de movimento idnticos. Isso revela
Tecnologias e Padres de Vdeo Digital 23

que a formao de regies com as mesmas informaes de movimento captam melhor os dife-
rentes tipos de movimento na cena, proporcionando um diminuio no custo geral do processo
de codificao. Idealmente, o limite de cada regio deve coincidir com as descontinuidades de
movimento de um determinado sinal de vdeo. Usando o particionamento de blocos baseado no
algoritmo de particionamento em rvore combinado com fuso, a imagem pode ser subdividida
em blocos cada vez mais pequenos, aproximando, assim, o limite de movimento e minimizando
o tamanho das parties.
Deve notar-se que um esquema de fuso de blocos espacialmente vizinhos conceitual-
mente semelhante aos modos de predio espacial como, por exemplo, o modo espacial direto
da norma H.264/AVC [16]. Este modo tambm tenta reduzir o custo de codificao usando
redundncias de parmetros de movimento em blocos vizinhos. No entanto, as melhorias em
relao ao H.264/AVC de mostradas nos trabalhos anteriores (VANNE et al., 2012) e (OHM et al.,
2012) sugerem que o conceito de fuso superior em explorar estas redundncias. Essa argu-
mentao ser testada nesse trabalho avaliando se essa nova organizao espacial, que tende a
ser mais alinhada com a experincia de viso, poder produzir melhores resultados com tcnicas
de avaliao objetivas que tentam mapear aspectos subjetivos da viso.

3.2.4 O Algoritmo de Fuso de Blocos


O padro HEVC especifica um algoritmo de fuso de blocos para diminuir a redundncia
de parmetros em uma regio do quadro. Esse algoritmo gera um conjunto nico de parmetros
de movimentao para uma regio contgua de blocos da imagem.

3.2.5 A Nova Estrutura de Blocos


O ncleo da camada de codificao nos padres anteriores era o macrobloco, contendo
um bloco de 1616 de pixels de luminncia e, no caso usual de uma amostragem de cor no
formato 4:2:0, dois blocos 88 de amostras de crominncia. Ao passo que, o padro HEVC,
tem como estrutura anloga ao macrobloco o formato conhecido como unidade de codificao
em arvre, que ser chamado, ao longo desse texto, CTU (Coding Tree Unit). O CTU tem
um tamanho selecionado em tempo real pelo codificador e pode ser maior ou menor que um
macrobloco tradicional. Um CTU consiste em um bloco de codificao em rvore (CTB -
Coding Tree Block de informaes de luminncia e os CTBs de crominncia correspondentes
e os elementos sintticos. O tamanho LL de um CTB de luminncia pode ter L igual a 16,
32 ou 64 amostras, com os tamanhos maiores tipicamente proporcionando melhor compresso.
Dessa forma o HEVC suporta um particionamento dos CTBs em blocos menores usando uma
estrutura de rvore baseada no algoritmo Quadtree.
Cada CTB a raiz de uma rvore de codificao e dividido em blocos de codificao
(CB). O seu tamanho pode ser escolhido de forma adaptativa usando um algoritmo de partici-
onamento em rvore, chamado Quadtree, com as folhas representando os CBs [7]. Cada CB
Tecnologias e Padres de Vdeo Digital 24

uma raiz de uma rvore de previso e uma rvore de transformao. Cada rvore de previso
tem apenas um nvel e descreve com um bloco de codificao (Coding Block CB) ainda pode
ser dividido nos chamados blocos de predio. em que, para cada um, diferentes padres de
predio so especificados (POURAZAD et al., 2012).
O padro HEVC tambm suporta o particionamento assimtrico das unidades de codifi-
cao nos formatos 6416, 6448, 1664, 4864, 328, 832, 2432, 164, 1612, 416
e 1216. A complexidade algortmica e a estrutura de dados do HEVC , pelo menos, quatro
vezes maior do que a do H.264/AVC. Dessa forma, diversos dispositivos eletrnicos com capa-
cidade de processamento limitado e reduzida de autonomia de tempo de uso, no suportaram
aplicaes que usem codificao e/ou decodificao HEVC. No entanto, para selecionar um
modo de predio, o codificador chega exaustivamente a funo custo de Lagrange para todos
os modos de predio em todos os nveis de profundidade da codificao.

3.2.6 Unidades de Codificao e Blocos de Codificao


A sintaxe Quadtree do CTU especifica o tamanho e as posies de seus blocos de codi-
ficao de luminncia e crominncia. A raiz da rvore de segmentao associada com o CTU.
Dessa forma, o tamanho do CTB de luminncia o tamanho mximo suportado por um CB de
luminncia. A diviso de um CTU em CBs de luminncia e crominncia sinalizado conjunta-
mente. Um CB de luminncia e dois CBs de crominncia em conjunto com a sintaxe associada
formam uma Unidade de codificao (Coding Unit CU). Um CTB pode conter apenas um
CU ou ser dividido para formar CUs mltiplos, e cada CU tem um particionamento associado
em unidades de predio (Prediction Unit PU) e uma rvore de unidades de transformao
(Transform Unit TU).

3.2.7 Unidades de Predio e Blocos de Predio


A deciso de codificar a regio de uma imagem usando predio inter ou intra feita
na unidade de codificao. Uma estrutura de particionamento das unidades de predio tem
sua prpria raiz. Dependendo deciso de predio bsica, os CBs de luminncia e crominncia
ainda podem ser divididos e preditos a partir de blocos de predio de crominncia e luminncia.
O HEVC suporta tamanho do blocos de predio variando de 6464 at 44.

3.2.8 Unidades de Transformao e Blocos de Transformao


O resdios gerados na etapa de predio so codificados usando entidades conhecidas
como blocos de transformao (Transformation Blocks TB). O tamanho de um TB de lu-
minncia pode ser idntico ao tamanho de um CB de luminncia, mas pode ser dividido em
TBs menores. O mesmo acontece para os TBs de crominncia. Uma DCT (Discrete Cosine
Transform) utilizada para o clculo das tranformadas para os TBs de tamanho 88, 1616 e
Tecnologias e Padres de Vdeo Digital 25

3232. Para o tamanho 44, uma transformada inteira derivada da Transformada Discreta de
Senos especificada.

3.2.9 A Estimao de Movimento


A implementao de referncia do codificador HEVC, o codificador HM, inclui um al-
goritmo de estimao de movimento rpido e eficiente baseado no algoritmo de busca preditiva
local aprimorada (EPZS (Enhanced Predictive Zonal Search)). O EPZS faz uso de uma com-
binao de algoritmos de predio de vetores de movimento e padres de busca para reduzir
significativamente o nmero de vetores de movimento candidatos que so testados durante a
etapa de estimao. O EPZS usado na estimao de movimento unidirecional, enquanto que
na etapa bidirecional uma busca exaustiva realizada em uma pequena janela em torno do
ponto previamente encontrado na etapa unidirecional (ZUPANCIC et al., 2015a). Recentemente,
foi proposto um mtodo de terminao da estimao de movimento chamado de MET (Multi-
ple Early Termination). Esse algoritmo executa um padro de busca pr-definido em volta do
pontos iniciais determinados pelo EPZS e caso encontre um resultado satisfatrio, o processo
de estimao de movimento abortado nos seus primeiros estgios (ZUPANCIC et al., 2015b).
Semelhantemente ao H.264/AVC, mltiplos quadros de referncia so usados. Para cada
PB, um ou dois vetores de movimento podem ser transmitidos, resultados da predio uni-
direcional e bidirecional, respectivamente. Uma operao de escalonamento e deslocamento,
conhecida por predio ponderada, pode ser aplicada ao vdeo resultante do processo de predi-
o/compensao de movimento.

3.2.10 Predio dos Vetores de Movimento


Uma nova tcnica chamada Advanced motion vector prediction (AMVP) (SZE MADHU-
KAR BUDAGAVI, 2014a) foi usada no HEVC. Essa tcnica consiste em incluir derivaes dos
vetores de movimento candidatos mais provveis com base em informaes de PBs (Prediction
Blocks) adjacentes e do quadro de referncia para uma fuso de vetores de movimento que herda
os vetores de PBs vizinhos espaciais ou temporais. E ainda, em relao ao H264/AVC, novos
aprimoramentos foram feitos para as tcnicas de inferncia de salto de vetor e inferncia direta
de movimento.
A fuso de vetores de movimento prope a criao de uma lista com a informao de
movimento de unidades de predio (PU Prediction Unit) vizinhas. As PUs candidatas esto
posicionadas espacialmente ou temporalmente perto da PU corrente. O codificador sinaliza qual
candidata da lista vai ser usada e a informao de movimento da PU ser copiada da candidata
selecionada (CORPORATION; WAY, 2010). Importante notar que a fuso de movimento evita a
necessidade de processar um vetor de movimento para a PU; no seu lugar, apenas o ndice de
uma PU candidata na lista de fuso de movimento transmitida.
Tecnologias e Padres de Vdeo Digital 26

No modo Skip do HEVC, o codificador tambm codifica o ndice de um candidato de fu-


so de movimento, e os parmetros de movimento para a PU corrente so copiados do candidato
selecionado. Isso permite que reas do quadro que tenham pouca movimentao, ou mudanas,
entre os quadros ou tenha movimento constante sejam codificadas usando uma quantidade bem
menor de bits.

3.2.11 Predio Intra


As amostras de (pixels) decodificadas posicionadas nas bordas de blocos so usadas
como informao de referncia para a predio espacial em regies onde a predio inter no
realizada. A predio intra no HEVC suporta 33 modos direcionais, alm do modo planar e do
modo DC. Cada direo indica o sentido em que a busca espacial por blocos similares ocorre.
O H.264/AVC especifica o suporte a oito modos direcionais. A Figura 3.2 ilustra esse conceito.
Os modos de predio intra selecionados so codificados derivando o modo de mais provvel
baseando-se nos PBs vizinhos previamente decodificados.

Figura 3.2 Modos de predio direcional/espacial na predio intra.

3.2.12 Controle de Quantizao


Como no H.264/AVC, a tcnica de quantizao com reconstruo uniforme tambm
usada com matrizes escaleres de quantizao suportadas para os vrios tamanhos de TBs
(Transform Blocks).
Tecnologias e Padres de Vdeo Digital 27

3.2.13 Codificao de Entropia


O HEVC especifica como codificador de entropia a tcnica CABAC (Context Adaptive
Binary Arithmetic Coding) (SZE MADHUKAR BUDAGAVI, 2014a). A implementao dessa tc-
nica passou por vrias otimizaes quando comparado ltima verso do cdigo de referncia
do H.264/AVC. Destacam-se o aumento da capacidade de taxa de compresso, devido ao foco
em arquiteturas de processamento paralelo e o aumento na eficincia de compresso visando
reduzir a quantidade de memria alocada pelos modelos contextuais.

3.2.14 Filtro de Desblocagem


A especificao do HEVC manteve o filtro de desblocagem que havia sido especificado
para a arquitetura do H.264/AVC (SZE MADHUKAR BUDAGAVI, 2014b). No entanto, algumas
melhorias foram implementadas, como a simplificao do projeto na parte responsvel pelos
processo de tomada de deciso. Alm disso, essa nova implementao tornou-se mais adequada
para plataforma com processamento paralelo.
Enquanto que no H.264/AVC cada borda de um grid 44 deve ser filtrado, o padro
HEVC limita a filtragem aos pixels das bordas de um grid 88. Isso imediatamente reduz pela
metade o nmero de modos de filtragem que precisam ser calculados e o nmero de amostras
que precisam ser filtradas. A ordem em que as bordas so processadas tambm foi modificada
para aprimorar o processamento paralelo. Um quadro pode ser segmentado em blocos 88 que
podem ser processados em paralelo, uma vez que apenas as bordas internas desses blocos preci-
sam ser filtradas. A posio desses blocos est ilustrada na Figura 3.3 que ilustra o alinhamento
(linha pontilhada) dos blocos 88 nos quais o filtro de desblocagem pode ser aplicado indepen-
dentemente. As linhas slidas representam as bordas dos CTBs (Coding Tree Blocks). Alguns
desses blocos ultrapassam os limites do CTBs e dos slices. Essa funcionalidade possibilita
filtrar as bordas dos slices (OHM; SULLIVAN, 2013).
Nesse processo de filtragem, as bordas verticais so filtradas antes de bordas horizon-
tais. Consequentemente, as amostras modificadas resultantes da filtragem das bordas verticais
so usadas na filtragem das bordas horizontais. Isto possibilita diferentes implementaes para-
lelas. Em uma das abordagens, todas as bordas verticais so filtradas em paralelo, em seguida,
as bordas horizontais so filtradas em paralelo. Outra opo seria permitir o processamento
paralelo simultneo das bordas verticais e horizontais, em que o processo de filtragem da aresta
horizontal retardado de uma maneira tal que as amostras a serem filtrados j foram processadas
pelo filtro de borda vertical.

3.2.15 Deslocamento Adaptativo de Amostras


Comparando com o H.264/AVC, no qual apenas a filtragem de desblocagem aplicada
no processo de recuperao da imagem de referncia dentro do codificador, o padro HEVC es-
Tecnologias e Padres de Vdeo Digital 28

pecifica um novo filtro chamado deslocamento adaptativo de amostras (Sample Adaptive Offset
SAO). Esse filtro representa um estgio adicional que aumenta a complexidade computacional
do codificador (OHM; SULLIVAN, 2013).
A tcnica de deslocamento adaptativo de amostras introduz um mapeameneto no-linear
de amplitude dentro do processo de predio inter depois do filtro de desblocagem. Essa tcnica
tem como meta uma melhor reconstruo das amplitudes do sinal original usando uma tabela
de consulta (look-up table) que descrita por alguns parmetros adicionais que podem ser
determinados por anlise do histograma no lado do codificador.
O ndice para a tabela de consulta pode ser calculado de acordo com um dos dois modos
utilizados. Para o modo de deslocamento de banda (BO Band Offset) os valores das amostras
so quantizados de acordo com o respectivo ndice da tabela. Assim, todas as amostras que
encontram-se dentro de uma faixa de intervalo de valores so processadas usando o mesmo
deslocamento. O outro modo, chamado modo de deslocamento de borda (EO Edge Offset),
exige mais operaes, uma vez que calcula o ndice com base nas diferenas entre as amostras
do bloco corrente e de duas amostras vizinhas. O modo EO usa um de quatro padres uni-
dimensionais para classificar os pixels baseado na direo de sua borda mais prxima, como
ilustrado pela Figura 3.4. Cada pixel pode ser classificado como pico (se seu valor maior do
que o de seus vizinhos), vale (se seu valor menor do que seus vizinhos), borda (se seu valor
igual ao valor de algum vizinho) ou nenhum desses. Quatro valores de deslocamentos sero
calculados para cada uma dessas categorias. O codificador pode escolher aplicar qualquer uma
das duas tcnicas em diferentes regies de uma mesma imagem. Tambm possvel sinalizar
que nenhuma das opes foi aplicada.
Embora as operaes sejam simples, o SAO (Sample Adaptative Offset)representa uma
carga adicional uma vez que pode necessitar ou uma passagem de decodificao adicional, ou
um aumento dos buffers de memria.
Tecnologias e Padres de Vdeo Digital 29

Figura 3.3 Alinhamento para o filtro de desblocagem.

Figura 3.4 Padres usados no modo EO do SAO.

Figura 3.5 Ganho de taxa de bits em relao a codificadores anteriores.


Tecnologias e Padres de Vdeo Digital 30

3.3 O Codificador de Referncia HM


O principal propsito do codificador de referncia HM prover um implementao de
referncia comum de um codificador HEVC que seja til como uma plataforma de testes para
avaliao de tecnologias de codificao e para referncia de desenvolvimentos independentes
de codificadores e decodificadores em conformidade com o padro HEVC. Escrito em C++, o
codificador HM no foi projetado visando ser um cdigo de produo, pronto para ser embar-
cados em produtos de mercado. Ainda h bastante o que ser feito em termos de otimizao de
desempenho. Ainda significativamente lento e para a otimizao do desenvolvimento e testes,
clusters ou super-computadores so recomendados. Mesmo que a velocidade do codificador
HM seja lenta para a maioria das situaes, alguns aprimoramentos de tempo foram feitos du-
rante o seu desenvolvimento. Enquanto mais de 100 horas foram necessrias para codificar um
nico vdeo HD de 10 segundos na primeira verso do codificador HM, aps vrias melhorias,
chegou-se a menos de 20 horas para a mesma tarefa. Entre os fatores que contribuem para essa
lentido do codificador o que provavelmente mais influencia o processo de otimizao em
tempo de execuo da razo taxa/distoro. Essa otimizao aplicada durante o processo de
quantizao (VIITANEN et al., 2013).
As condies de testes especificadas pelo comit JCT-VC definem um conjunto de con-
figuraes para o codificador para o uso em experimentos de comparao. Essas configuraes
so (TAN et al., 2015):

all intra (AI), em que todos os quadros so codificados usando slices I;

random access (RA), em que usada uma reordenao dos quadros com uma escolha
aleatria a cada segundo. Essa configurao emula o que deve acontecer em um ambiente
de transmisso terrestre;

Pequeno atraso com slices B (LB), em que nenhuma reordenao usada e apenas o pri-
meiro quadro codificado usando slices I. Essa configurao emula o que deve acontecer
em transmisses de vdeo-conferncias.

Enquanto que a maioria das funcionalidades do HEVC so utilizadas nessas trs con-
figuraes citadas anteriormente, algumas outras no so, incluindo a predio ponderada e o
escalonamento das matrizes de quantizao. As ferramentas de paralelismo mais avanadas
tambm foram desabilitadas.

3.4 O Decodificador de Referncia HM


Semelhante ao codificador de referncia, o decodificador HM um exemplo de imple-
mentao que visa exatido e integridade. Ele executado em um nica thread, e no utiliza
Tecnologias e Padres de Vdeo Digital 31

nenhuma tcnica de paralelizao. esperado que vrios componentes do decodificador sejam


aprimorados para alcanar um desempenho em tempo real (VIITANEN et al., 2013).

3.5 Oportunidades de Paralelizao Aplicadas pelo Padro


HEVC
Os codecs (Codificador/Decodificador) de vdeo anteriores, e.g. H.264/AVC, usaram
estrtegias de paralelizao ao nvel de slice ou de bloco. No caso de paralelismo a nvel de sli-
ces, um quadro dividido em diversos slices, os quais so completamente independentes entre
si. Threads mltiplas podem ser usadas para processar em paralelo os slices de um quadro, au-
mentando a vazo e, ao mesmo tempo, diminuindo a latncia. Alm dos slices, o padro HEVC
define mais duas tcnicas de paralelizao: Tiles e o processamento paralelo em frentes de onda
(WPP) (ALVAREZ-MESA et al., 2012). A Figura 3.6 ilustra como as unidades de codificao em
rvore (CTU) so agrupadas para serem processados paralelamente.

(a) Slices (b) Tiles

(c) WPP

Figura 3.6 Tcnicas de paralelizao de processamento.


Tecnologias e Padres de Vdeo Digital 32

O aumento da quantidade de slices em um quadro reduz a eficincia de codificao


significantemente devido a trs motivos:

A codificao de entropia menos eficiente devido s quebras no processo de treinamento


dos modelos contextuais e a impossibilidade de ultrapassar as fronteiras dos slices para
aumento do contexto selecionado.

No estgio de predio, os pixels de slices vizinhos no podem ser utilizados.

Para cada slice um cabealho adicional e cdigo de nicio precisa ser adicionado no fluxo
de bits final.

Paralelismo a nvel de bloco no depende de haver mltiplos slices em um quadro e no


possuem as perdas de codificao associadas ao paralelismo a nvel de slice. No seu lugar, os
blocos de codificao (LCU Largest Coding Unit) dentro de um quadro podem ser reconstru-
dos em paralelo usando uma abordagem de frente de onda para satisfazer as dependncias de
filtragem e predio. No entanto, a decodificao de entropia no pode ser paralelizada a nvel
dos blocos.

3.5.1 A Ferramenta Entropy Slices


A especificao HEVC introduziu uma nova ferramenta de codificao chamada de En-
tropy Slices (OHM; SULLIVAN, 2013), que diferentemente dos slices comuns, foi desenvolvida
com fins de privilegiar a paralelizao de processamento em detrimento da resilincia a er-
ros (ALVAREZ-MESA et al., 2012). Os modelos contextuais so inicializados no nicio de cada
slice, tanto para os comuns como para os entropy slices. A principal diferena que, nas fases
de filtragem e reconstruo, permitido usar informaes de blocos vizinhos nas bordas dos
Entropy Slices. Outra diferena que o cabealho dos entropy slices menor do que o dos sli-
ces comuns, porque as informaes de cabealho so enviadas somente no primeiro cabealho
de cada slice de um quadro.
Com o uso dessa ferramenta, multiplas threads podem decodificar o mesmo quadro
ao mesmo tempo, com o benefcio de diminuir a latncia de quadros em projetos que usam
paralelismo a nvel de bloco. Como a etapa de decodificao de entropia desacoplada das
etapas de reconstruo e filtragem, em geral, necessrio uma rea de memria de tamanho
significativo para armazenar todos os dados aps a etapa de decodificao de entropia, mas
algumas implementaes j conseguem dispensar o uso dessas reas de memria (ALVAREZ-
MESA et al., 2012).

3.5.2 A Ferramenta Tiles


A opo de dividir uma imagem em regies retangulares chamadas Tiles foi especifi-
cada pela primeira vez no padro HEVC. A finalidade principal aumentar a capacidade de
Tecnologias e Padres de Vdeo Digital 33

processamento paralelo, em vez de fornecer resilincia a erro. Tiles so regies independen-


temente decodificveis da imagem, contm informaes compartilhadas de cabealho. Tiles
podem ser adicionalmente utilizadas com a finalidade de acesso espacial aleatrio para regies
das imagens de vdeo. Uma configurao tpica de uma tile de imagem consiste de segmentar
a imagem em regies retangulares com aproximadamente o mesmo nmero de CTUs (Coding
Tree Unit) em cada azulejo. Uso de Tiles possibilita o paralelismo em um nvel mais grosseiro
de granularidade, e nenhuma sincronizao sofisticada de threads necessria para seu uso.

3.5.3 Processamento Paralelo em Frentes de Onda


Quando o processamento paralelo (WPP Wavefront Parallel Processing) em frente
de onda habilitado, um slice dividido em linhas de CTUs. A primeira linha processada
normalmente, enquanto que a segunda linha apenas pode ser processada depois de que apenas
dois CTUs da primeira linha j tenham sido processados. O processamento da terceira linha s
iniciado quando aps o processamento de dois CTUs da segunda linha, e assim por diante.
Os modelos contextuais do codificador de entropia para cada linha so inferidos a partir dos
modelos determinados das linhas anteriores. A tcnica WPP, em geral, possibilita um melhor
desempenho de compresso do que a tcnica Tiles e evita alguns artefatos visuais que podem
ser inserido pelo uso de Tiles (OHM; SULLIVAN, 2013).

3.6 Estimao de Movimento com o Algoritmo TZSearch


O Algoritmo TZSearch (PAN et al., 2013) um dos algoritmos de estimao de movi-
mento usados no processo de explorao de redundncia temporal dos codificadores HEVC
JM e JMVC (usado para sequncias multi-vises). Seu principal ponto forte a reduo da
complexidade computacional do processo de estimao de movimento em comparao com os
mtodos usados no H.264 sem afetar a taxa de bits e a PSNR medida significantemente. O
processo do algoritmo descrito nos seguintes passos (NALLURI et al., 2012):

1. No nicio, um ponto inicial deve ser determinado como ponto central para o prximo
passo. O algoritmo calcula a soma das diferenas absolutas (SAD Sum of Absolute
Differences) de cinco pontos com vetores de movimento preditos diferentes (zero, mdia,
esquerda, cima e cima-direita) no quadro de referncia. O ponto inicial escolhido que
possuir menor SAD.

2. Na busca inicial, padro de busca de diamante de oitos pontos ou o quadrado de oito


pontos aplicado com passos de busca diferentes. Se o intervalo de busca for igual a
64, o passo de busca varia de 1 a 64 em mltiplos de 2. O ponto com menor SAD o
ponto central de uma provvel prxima busca dentro do ciclo de refinamento da posio
do vetor de movimento. O passo de busca armazenado como a menor distncia.
Tecnologias e Padres de Vdeo Digital 34

3. Se a menor distncia for igual a 1, o padro de busca de dois pontos utilizado para
calcular a SAD dos dois pontos prximos ao centro e a menor distncia configurada
como 0. Se a menor distncia for maior do que o parmetro que define o valor mnimo, o
padro de busca em trama aplicado para encontrar o ponto com menor SAD que ser o
centro da busca do prximo passo.

4. Se a menor distncia for maior do que 0, o refinamento em trama ou o refinamento estrela


at que a menor distncia seja 0. Cada uma desses refinamentos incluem os padres de
busca diamante de oito pontos, quadrado de oito pontos e o padro de busca de dois pon-
tos. Quando a menor distncia for zero, o centro da busca o ponto timo e o algoritmo
de estimao de movimento TZSearch finalizado.

3.6.1 Mtricas de Distoro de Blocos


Os algoritmos de estimao de movimento baseiam-se na comparao entre blocos de
imagem no quadro corrente e em quadros anteriores ou posteriores. Essa comparao reali-
zada atrves de mtricas de distoro de blocos. Para a explicao das mtricas apresentadas
nesse captulo, um bloco de tamanho NN considerado. O valor do pixel na coordenada
(n1 , n2 ) no quadro k, k sendo o ndice do quadro no vdeo, dado por S(n1 , n2 , k) em que 0n1 ,
n2 N 1. O quadro k representa o quadro corrente, assim como o bloco de pixels descrito
acima representa o bloco corrente. Nas sees 3.6.1, 3.6.1, 3.6.1 so descritas trs medidas de
distoro de bloco empregadas em codificadores de vdeo.

Erro Mdio Quadrtico

Considerando k como os quadros de referncia passados, no processo de estimao de


movimento, o erro mdio quadrtico (Mean Square Error MSE ) para um bloco de NN
pixels dado por (KAMOLRAT et al., 2009) (BARJATYA; MEMBER, 2004)

1 N1 N1
MSE(i, j, k) = 2 [S(n1 , n2 , k) S(n1 + i, n2 + j, k)]2 . (3.1)
N n1 =0 n2 =0

O significado fsico da Equao 3.1 deve ser bem compreendido. Considera-se um bloco
de pixels de tamanho NN no quadro de referncia a um deslocamento de (i, j), em que i e j
so nmeros inteiros em relao posio do bloco candidato no quadro corrente.
O erro mdio mdio quadrtico calculado para cada posio (i, j) dentro de um inter-
valo de pesquisa especificado na imagem de referncia, e o deslocamento, que d o menor valor
de MSE designado como vetor de deslocamento, ou vetor de movimento, dado por

[d1 , d2 ] = min[MSE(i, j)]. (3.2)


i, j
Tecnologias e Padres de Vdeo Digital 35

O clculo do erro mdio quadrtico requer o processamento de N 2 subtraes, N 2 mul-


tiplicaes e (N 1)2 adies para cada bloco candidato em cada posio da busca. Isto
computacionalmente dispendioso e um critrio mais simples, como definido na Subseo 3.6.1
muitas vezes preferido ao critrio MSE.

Diferena Absoluta Mdia

Como o critrio MSE, a diferena mdia absoluta (Mean Absolute Difference MAD)
tambm faz com que os valores de erro sejam sempre positivos, mas em vez de somar as di-
ferenas de quadrados, as diferenas absolutas que sero somadas. A medida das diferena
mdia absoluta, MAD, definida como (MAHMOUD et al., 2006).

1 N1 N1
MAD(i, j) =
N 2 n |S(n1, n2, k) S(n1 + i, n2 + j, k)| . (3.3)
1 =0 n 2 =0

O vetor de movimento determinado de forma semelhante medida MSE, que usa a Fr-
mula 3.4, definada por

[d1 , d2 ] = min[MSE(i, j)]. (3.4)


i, j

O critrio MAD requer o processamento de N 2 subtraes de valores absolutos e N 2


adies para cada bloco candidato em cada posio de busca determinada pelo algoritmo de
estimao de movimento. A ausncia de multiplicaes faz desse critrio uma opo computa-
cionalmente menos dispendiosa, facilitando assim possveis implementaes em hardware.

Correspondncia na Contagem dos Pixels

Para este critrio, os pixels de um bloco candidato B so comparados com os pixels


correspondentes do bloco com deslocamento (i, j) no quadro de referncia e aqueles que so
menores que um limiar especificado so contados. A contagem para a comparao, e o des-
locamento (i, j) para os quais a contagem mxima, corresponde s coordenadas do vetor de
movimento e expressa em um funo binria c(n1 , n2 )(n1 , n2 ) B definida em 3.5.
(
1, se |S(n1 , n2 , k) S(n1 + i, n2 + j, k l)|
c(n1 , n2 ) = (3.5)
0, caso contrrio
em que um limiar pr-determinado. A correspodncia na contagem de pixels para um
deslocamento (i, j) dada pelo valor acumulado da Equao 3.5, definida por 3.6

N1
MPC(i, j) = c(n1, n2), (3.6)
n1 =0

e as respectivas coordenadas finais do vetor de movimento so definidas como


Tecnologias e Padres de Vdeo Digital 36

[d1 , d2 ] = min[MPC(i, j)]. (3.7)


i, j

3.7 Avaliao de Desempenho


O desempenho da compresso do HEVC foi significantemente aprimorado em relao
aos resultados do H264/AVC. As avaliaes mostradas em (OHM et al., 2012) indicam que,
para as verses iniciais do codificador de referncia do HEVC (HM), a taxa de bits foi quase
reduzida metade em relao s taxas obtidas com o codificador de referncia H.264/AVC
(JM), considerando a qualidade visual subjetiva. Configurado com os parmetros para o perfil
LP (Low Profile), o codificador HM HE (High Efficiency) pode alcanar 50% de reduo na
taxa de bits de sada em relao ao H.264 (VANNE et al., 2012).
A melhor forma de avaliar o desempenho de compresso medir a qualidade subjetiva
percebida por observadores humanos. O objetivo do estudo feito em (BARONCINI J. OHM, 2012)
quantificar o ganho de taxa de bits do HEVC em relao ao H.264/AVC, quando comparado
com o uso de medidas de qualidade subjetiva similares. Nesse estudo o codificador HM 5.0
foi usado, que no to eficiente quanto a Verso 9.2, que foi utilizada no incio dos estudos
desta tese.
A partir desses resultados, a reduo da taxa de bit mdia aproximada sobre todas as
seqncias com qualidade subjetiva equivalente foi calculado em 67% para as cinco sequncias
full HD, 49% para as quatro sequncias WVGA, e 58% no total. Estas medidas iniciais indicam
que o HEVC cumpre sua meta inicial em termos de ganhos de qualidade subjetiva. Embora o
nmero de casos de teste tenha sido limitado, o fato de a mesma tendncia poder ser observada
para todas as diferentes sequncias um indicador da melhoria substancial na eficincia de
compresso que proporcionada pelo HEVC.
Apesar dessas avaliaes subjetivas da qualidade do vdeo, como a MOS (Mean Opi-
nion Score), tenderem a ser as mais confiveis, elas possuem execuo bastante complexa. No
entanto, medidas de qualidade objetivas repetveis e automticas, como a relao sinal-rudo de
pico (PSNR Peak Signal-to-Noise Ratio), o ndice de similaridade estrutural (SSIM Struc-
tural Similarity Index) e o ndice de qualidade percebida (PQI Perceived Quality Index) so
tipicamente usadas quando as medidas subjetivas so impraticveis ou de dificil execuo.
O resultado do estudo realizado em (OHM et al., 2012) mostrou uma economia na taxa
de bit de aproximadamente 40% em relao ao HEVC e 70% 80% em relao ao MPEG-2
Main Profile. Esse estudo usou uma abordagem de comparao bem disciplinada em relao
a escolha das ferramentas e parmetros de codificao para garantir uma comparao justa
entre todos os codificadores escolhidos. Alm do ganho mdio em eficincia de compresso,
esse testes indicaram algumas outras importantes caractersticas em comparao com os outros
padres. So elas:
Tecnologias e Padres de Vdeo Digital 37

Os benefcios em termos de qualidade subjetiva de vdeo pareceram maior do que o que


foi sugerido pelos resultados da PSNR.

Os ganhos em eficincia de compresso indicaram ser maiores para vdeos em alta defi-
nio do que para vdeos com resolues pequenas.

Para as configuraes testadas, os ganhos foram maiores em vdeos definidos para comu-
nicao em tempo real do que para a aplicaes de entretenimento.

Quanto menor a taxa de bits, maior o ganho proporcional em qualidade percebida.

As avaliaes de qualidade objetivas existentes usam a relao entre taxa de bits e dis-
toro, medida com alguma mtrica derivada da PSNR, como em (SEGALL et al., ), em que os
codificadores de referncia HM (HEVC) e JM (H.264) so comparados com o uso da mtrica
Bjntegaard PSNR.

3.7.1 A Mtrica Bjntegaard


Ao comparar duas curvas de taxa de distoro, por exemplo, a medio do desempe-
nho para duas variaes dos esquemas de codificao testados, um nmero que representa as
economias globais de taxa de bits ou a diferena geral de qualidade torna-se uma informao
valiosa. A mtrica Bjntegaard tornou-se uma ferramenta popular para avaliar a eficincia de
codificao de um determinado codificador de vdeo em comparao com um codificador de
referncia ao longo de um intervalo de pontos de qualidade ou taxas de bits (BJONTEGAARD,
2001). Essas mtricas, desenvolvidas por Gisle Bjntegaard, so normalmente calculadas como
uma diferena na taxa de bits ou uma diferena de qualidade com base nas curvas de inter-
polao dos pontos dos dados testados. Neste trabalho o foco sobre a diferena de taxa de
bits, expresso como uma percentagem da taxa de bit resultante do processo de codificao do
codificador de referncia. Esse valor interpretado como uma economia na taxa de bits para
um mesmo parmetro de qualidade medido. Nessa tese, o parmetro de qualidade utilizado foi
a relao sinal-rudo de pico (PSNR) da informao de luminncia.
A taxa delta de Bjntegaard (BD-Rate) representa a mdia de ganhos de taxa de bit para
a mesma qualidade de vdeo, medida pela MOS ou pela PSNR e calculada entre duas curvas
de taxadistoro. A diferena de economia de taxa de bits entre essas curvas para um mesmo
nvel de qualidade definida na equao 3.8

RB (D) RA (D)
R = , (3.8)
RA (D)

em que RA (D) e RB (D) so as taxas de bits resultantes do codificador de referncia e do co-


dificador em teste, respectivamente, em determinado nvel de qualidade/distoro D. Valores
negativos de R(D) representam um ganho da relao compresso-qualidade, enquanto que
valores positivos representam uma perda nessa relao.
Tecnologias e Padres de Vdeo Digital 38

A mtrica de Bjntegaard usa uma escala logartmica, ento definindo-se r = logR, os


ganhos de taxa de bits podem ser expressados por

R = 10rB (D)rB (D) 1. (3.9)

A proposta original assume a medio do desempenho da taxa de distoro de duas


configuraes de codificao com quatro valores diferentes do parmetro de quantizao dife-
rentes. O conceito bsico a interpolao da curva entre os pontos de taxa de distoro que
foram medidos no experimento e para integrar mais a diferena. O clculo realizado sobre a
taxa logartmica a fim de obter a diferena da taxa relativa. Uma vez que o PSNR uma medida
logartmica, ela pode ser aplicada diretamente.

3.7.2 Outras Mtricas Objetivas de Qualidade


A Mtrica PSNR

A relao sinal-rudo de pico (PSNR Peak Signal-to-Noise Ratio) expressa definindo


o erro mdio quadrtico Mean Squared Error (MSE) em relao ao valor mximo possvel da
luminncia. Considerando a MSE, definida em 3.1 e para um valor de n-bits, a PSNR expressa
em dB como

2n 1
PSNR = 20 log10 (dB). (3.10)
MSE

O ndice de Similaridade Estrutural (SSIM)

O ndice de similaridade estrutural (SSIM Structural Similarity Index) baseia-se no


conceito de que imagens naturais so altamente estruturadas (FARIAS, 2011). Em outras pala-
vras, imagens possuem uma forte correlao entre si, o que resulta em informaes de objetos
na cena. Esse mtodo se diferencia de outros mtodos de avaliao objetiva por usar uma me-
dida da distoro estrutural em vez do prprio erro. Se x = {xi |i = 1, 2, . . . , N} representa o sinal
original e y = {yi |i = 1, 2, . . . , N} representa o sinal distorcido, em que i o valor do ndice do
pixel, o ndice de similaridade estrutural (SSIM) pode ser calculado segundo (YASAKETHU et al.,
2009)

(2 x y +C1 )(2 xy +C2 )


SSIM = . (3.11)
(x + y2 +C1 )(x2 + y2 ) +C2
Na Frmula 3.11 x, y,
x , y e xy representam, respectivamente, a mdia de x, a mdia de y,
a varincia de x, a varincia de y e a covarincia de x e y. C1 e C2 so constantes. O valor da
SSIM varia de 0 a 1, sendo 1 o melhor valor possvel. Estudos sobre o desempenho da mtrica
SSIM tm apresentados bons resultados.
Tecnologias e Padres de Vdeo Digital 39

A Mtrica VQM

O algoritmo usado na mtrica de qualidade visual (VQM - Visual Quality Metric) ex-
trai caractersticas das imagens com medidas dos efeitos perceptuais de diversos distrbios na
sequncia de vdeo, como exemplos, o rudo global e o borramento (YASAKETHU et al., 2009).
Essas medidas so combinadas em uma nica mtrica que fornece uma predio da qualidade
global da imagem ou quadro de vdeo. O algoritmo VQM dividido em quatro fases:

Calibrao Correo de deslocamentos espaciais e temporais e desvios de contraste e


brilho na sequncia de vdeo processada.

Extrao de indicativos de qualidade O conjunto de caractersticas de qualidade que


caracteriza as mudanas de percepo nos domnios espacial, temporal, e da crominncia
so extrados de sub-regies espao-temporais da sequncia de vdeo.

Estimao de parmetros de qualidade Nesta etapa, um conjunto de parmetros de qua-


lidade que descrevem as alteraes perceptuais so calculados comparando caractersticas
extradas do vdeo processado com as caractersticas extradas do vdeo de referncia.

Estimao da qualidade A etapa final consiste em calcular uma mtrica de qualidade


geral usando uma combinao linear dos parmetros calculados nas etapas anteriores.

A Mtrica PW-SSIM

O mtodo PW-SSIM(Perceptual Weighting Structural Similarity Index) (REGIS et al.,


2015) utiliza a informao espacial perceptiva como forma de ponderao das regies visu-
almente mais importantes. Esta ponderao obtida do seguinte modo: primeiramente calcu-
lada a magnitude dos vetores de gradiente no vdeo original, usando as mscaras de Sobel (FUR-
NARI et al., 2015), depois gerado um quadro no qual os valores dos pixels so as magnitudes
dos gradientes. Em seguida, esse quadro particionado em blocos de 8 8 pixels e para cada
bloco calculado o SI,

!1
2
1 1 2
SI = (S S) ) ,
N 1 i=1
(3.12)

em que, S representa o valor mdio da magnitude do gradiente em um bloco e N o nmero de


pixels no bloco. Baseado nessa considerao, o valor do SI foi incorporado ao SSIM, levando ao
modelo denominado ndice de Semelhana Estrutural com Ponderao Perceptual (Structural
Similarity Index with Perceptual Weighting),

D SSIMd ( f , h) SId
PW-SSIM( f , h) = d=1 D . (3.13)
d=1 SId
Tecnologias e Padres de Vdeo Digital 40

A Mtrica TPW-SSIM

Baseando-se nos resultados das simulaes com a Equao 3.13, foi proposta em (RE-
GIS, 2013) a mtrica Temporal Perceptual Weighted Video Quality Approach (TPW-SSIM) que
utiliza informaes temporais de quadros vizinhos. No algoritmo proposto a qualidade tempo-
ral (TP-VQI) estimada por meio do ndice de PW SSIM entre as diferenas dos quadros ( f ,n
e h,n ), que so calculados como se segue:

1 N2
TP-VQI = PW-SSIM( f ,n, h,n) (3.14)
N 1 n=0

f ,n = | fn+1 fn | , h,n = |hn+1 hn | . (3.15)

Dessa forma, a TPW-SSIM dada pela mdia entre o ndice de qualidade espacial e o temporal,

TPW-SSIM = PW-SSIM + TP-VQI2. (3.16)

Para avaliao, implementao e depurao do cdigo fonte do codificador HM 16.7


so utilizadas nesta tese as ferramentas Microsoft Visual Studio Express, Eclipse e Understand
C++, que possuem capacidade de anlise visual de fluxo do cdigo, para facilitar e acelerar o
entendimento do sistema.

3.8 A Estimao de Movimento Baseada em Blocos


Os algoritmos de busca de blocos so a tcnica mais popular usada na estimao de
movimento de codificadores de vdeo. Em geral, esses algoritmos se baseiam na diviso do
quadro de luminncia em macroblocos no sobrepostos de tamanho NN que, por sua vez,
so comparados com o macrobloco correspondente e seus vizinhos adjacentes no quadro de
referncia para criar um vetor que estipula a sua movimentao, encontrando o macrobloco
correspondente do mesmo tamanho NN na rea de busca no quadro de referncia. A posio
do macrobloco correspondente no quadro de referncia d o vetor de movimento (MV) do
macrobloco corrente. Este vetor de movimento constitudo das coordenadas (x, y) do canto
esquerdo-superior do macrobloco corrente representando as coordenadas iniciais do vetor e das
coordenadas (x, y) do canto esquerdo-superior do macrobloco do quadro de referncia. Essas
coordenadas podem ser positivas ou negativas. Um valor positivo significa um movimento para
a direita ou um movimento descendente e um valor negativo significa um movimento para a
esquerda ou movimento ascendente.
Esses vetores de movimento so usados no decodificador para predizer um novo quadro
a partir do quadro de referncia. Esse processo chamado de compensao de movimento.
A mtrica usada geralmente determinada usando uma das medidas de distoro de blocos
Tecnologias e Padres de Vdeo Digital 41

(BDM Block Distortion Measure) como a diferena mdia absoluta (MAD Mean Absolute
Difference), a soma das diferenas absolutas (SAD Sum of Absolute Differences) ou erro
mdio quadrtico (MSE Mean Squared Error). O macrobloco com o menor custo, resultante
de uma dessas mtricas, considerado o correspondente ao macrobloco corrente.
Em geral as buscas so realizadas em blocos de tamanhos 16 16, que coincide com
o tamanho dos macroblocos. Mas esse valor no fixo, podendo ser configurados tamanhos
menores ou maiores para o bloco de busca. Blocos de tamanho menores devem produzir me-
lhores resultados de compensao de movimento. No entanto, um tamanho menor do bloco
conduz a uma maior complexidade computacional (nmero de operaes de busca que devem
ser efetuadas) e um aumento no nmero de vetores de movimento que, em seguida, devem ser
transmitidos. O envio de cada vetor de movimento acarreta o envio de mais bits e essa sobre-
carga pode superar o benefcio da energia residual reduzida. Um compromisso eficaz adequar
o tamanho dos blocos para as caractersticas da imagem, por exemplo, a escolha de regies ho-
mogneas de um quadro e escolher um tamanho de bloco pequeno em reas de elevada riqueza
de detalhes e movimento mais complexo (GROUP, 2008).
Por ter a capacidade de analisar em tempo real os valores dos pixels e os parmetros de
configurao do codificador, o ABMA funciona como um aliado de outros processos de anlise
e algoritmos de estimao de movimento. A eficincia desse esquema de escolha adaptativa
diretamente correlacionada com a mtrica escolhida. Para testes, a escolha do algoritmo feita
usando o valor da PSNR do quadro anterior. O algoritmo escolhido tende a ser mais robusto e
preciso em funo do aumento da degradao do vdeo decodificado.
Essa capacidade de anlise em tempo real permite que a escolha do algoritmo seja ade-
quada para cada momento da sequncia de vdeo. Considerando um vdeo 3D, formado pela
imagem monoscpica e sua informao de profundidade, que representada por uma imagem
em nveis de cinza. O esquema ABMA oferece diferentes algoritmos de estimao de movi-
mento para a imagem monoscpica e a imagem de informao de profundidade.
C APTULO 4

Aprendizagem Automtica

Aprendizagem automtica ou aprendizado de mquina tem recebido um grande enfoque


de vrias de pesquisas nos ltimos anos, principalmente nas reas da inteligncia artificial,
reconhecimento de padres e processamento de sinais, devido capacidade de aprender a partir
de grandes volumes de informao e propor melhores solues para diversos problemas.
O aumento da capacidade computacional impulsionou e disseminou o uso de tcnicas
de aprendizado automtica para diversas aplicaes. Considerando que, atualmente, comum
encontrar dispositivos com, por exemplo, mais de oito ncleos de processamento e memria vo-
ltil em abundncia, tornou-se vivel levar essas tcnicas para aplicaes nas mos de usurios
finais.
A Aprendizagem automtica uma rea da Inteligncia Artificial cujo objetivo o de-
senvolvimento de tcnicas computacionais sobre o aprendizado, bem como a construo de
sistemas capazes de adquirir conhecimento de forma automtica. Esses sistemas de aprendi-
zado so programas de computador que tomam decises baseados em experincias acumuladas
por meio da soluo bem sucedida de problemas anteriores e por meio da classificao de um
conjunto de amostras de variveis do sistema em anlise. Essas tcnicas so ferramentas po-
derosas para aquisio automtica de conhecimento, entretanto, no existe um nico algoritmo
que apresente melhor desempenho para todos problemas.
Os algoritmos de aprendizagem automtica procuram padres de um conjunto de da-
dos. Esses algoritmos existem h bastante tempo, no entanto, a infraestrutura de tecnologia
de informao implantada nos dias de hoje aumenta significativamente a quantidade de dados
digitais disponveis para alimentar esses algoritmos. Isso acontece devido a dois fatores: a
informatizao em massa e o surgimento da Internet.
O problema de modelagem de dados pertinente a muitas aplicaes da Engenharia.
Em modelagem de dados empricos, usado um processo de induo para construir um modelo
matemtico capaz de expressar as relaes entre entrada e sada, a partir das quais so deduzidas
respostas ainda no observadas no conjunto de treinamento. Basicamente, a quantidade e quali-
dade dos dados disponveis governam o desempenho deste modelo emprico. Por corresponder
Aprendizagem Automtica 43

a uma tcnica de aprendizado baseada em amostragem de dados, o conjunto de dados fornece


tratabilidade computacional, mas conduz uma amostragem esparsa do espao de entrada.
Conhecer o tipo e as caractersticas dos dados que sero objetos de estudo tambm
fundamental para a escolha dos mtodos mais adequados. Pode-se categorizar os dados em
dois tipos: quantitativos e qualitativos. Os dados quantitativos so representados por valores
numricos. Esses dados podem ser discretos e contnuos. J os dados qualitativos contm
os valores nominais e ordinais (categricos). Em geral, antes de se aplicar os algoritmos de
minerao necessrio explorar, conhecer e preparar os dados.
Um problema de aprendizagem deve ter uma medida que mede a eficincia de um algo-
ritmo ao executar uma tarefa de otimizao. Um objetivo universal para qualquer algoritmo de
aprendizado supervisionado a generalizao, que estima a preciso que sero previstos dados
futuros. A funo que calcula o erro de generalizao representada por g( ), em que
o vetor de parmetros. Devido a dificuldade de se obter o clculo de g( ), ele substituido
) calculada no conjunto de dados de treinamento {(xi , yi )}ni=1 , chamada
pela aproximao g(
de erro de treinamento e calculado pela Equao

1 n
)=
g( l(xi, yi; ). (4.1)
n i=1

em que xi representa o vetor de atributos e yi a informao de classificao do vetor de atributos.


Ao tentar minimizar a perda sobre o conjunto de treinamento existe o perigo do sobre-
ajuste. Uma maneira comum para prevenir o sobreajuste durante o treinamento a tcnica de
regularizao. Regularizao refere-se a aumentar a funo objetivo g( ) com um termo extra
que penaliza vetores complexos. Esse termo incorporado na Equao 4.1 reprentando-a
como a soma entre a minimizao do erro e o termo de regularizao, resultando em

1 n
)=
g( l(xi, yi; ) + r( ). (4.2)
n i=1

4.1 Terminologia
Nesta seo ser apresentada a terminologia da rea de aprendizagem automtica que
ser utilizada no texto desta tese.

4.1.1 Exemplo
Exemplo, padro ou instncia caracterizam um objeto nico a partir do qual um modelo
sera aprendido, ou sobre o qual um modelo ser usado (por exemplo, para predio). Na maioria
dos trabalhos sobre aprendizado de mquina, exemplos so descritos por vetores de caracters-
ticas. Um exemplo padro poderia ser uma amostra de tecido de um paciente, que poderia estar
associada a presena de cncer.
Aprendizagem Automtica 44

4.1.2 Atributos
Cada exemplo, ou instncia, que se comporta com uma entrada para um processo de
aprendizagem de mquina caracterizada por seus valores de um conjunto fixo e pr-definido
de caractersticas ou atributos. O uso de um conjunto fixo de recursos impe outra restrio
sobre os tipos de problemas geralmente considerados em aprendizado de mquinas e minera-
o de dados. Considerando diferentes instncias com caractersticas diferentes, por exemplo,
veculos de transporte. Nmero de rodas uma caracterstica que se aplica a muitos veculos,
mas no para os navios, por exemplo, dessa forma nmero de mastros pode ser uma caracters-
tica que se aplica a navios, mas no para veculos terrestres. A soluo padro caracterizar
cada recurso possvel como um atributo e usar um valor irrelevante para indicar que um deter-
minado atributo no est disponvel para um caso particular. O valor de um atributo de uma
instncia especfica uma medida da quantidade para o qual o atributo se refere. H uma am-
pla distino entre quantidades numricas e aquelas que so nominais. Atributos numricos, s
vezes chamados atributos contnuos, so nmeros representando uma medida real. Note-se que
o termo contnuo abusada rotineiramente neste contexto; atributos de valores inteiros, certa-
mente, no so contnuos no sentido matemtico. Atributos nominais podem assumir valores
em um conjunto pr-determinado e finito de possibilidades e s vezes so chamados categricos
ou classificatrios.

4.2 Aprendizado Supervisionado


O aprendizado supervisionado bastante comum em problemas de classificao, porque
o objetivo muitas vezes fazer o computador aprender um sistema de classificao previamente
criado. Um exemplo comum de aprendizado supervisionado so sistemas de reconhecimento
de dgitos. De forma geral, a aprendizagem supervisionada adequada para qualquer problema
em que a deduo da classificao pode otimizar o problema. Em alguns casos, pode at no ser
necessrio dar classificaes pr-determinadas para cada instncia de um problema se o agente
pode entender as classificaes por si.
Aprendizagem supervisionada a tcnica mais comum para o treinamento de sistemas
de redes neurais e rvores de deciso. Ambas as tcnicas so altamente dependente da infor-
mao dada pelas classificaes pr-determinadas. No caso de redes neurais, a classificao
utilizada para determinar o erro da rede e, em seguida, ajustar a rede para a minimizao do erro.
Em rvores de decises, as classificaes so usadas para determinar os atributos que fornecem
a maior parte da informao que pode ser utilizada para resolver problemas de classificao.
A Aprendizagem Supervisionada deduz uma funo a partir de dados de treinamento.
Os dados de treinamento consistem em um conjunto de objetos de entrada (normalmente veto-
res) e as sadas desejadas. A sada da funo pode ser um valor contnuo, o que classifica um
regresso, ou pode prever uma classe para cada objeto de entrada, o que caracteriza uma classi-
Aprendizagem Automtica 45

ficao. A tarefa do algoritmo supervisionado prever o valor da funo para qualquer objeto
de entrada vlido depois de ter visto uma srie de exemplos de treinamento. Para conseguir
isso, o algoritmo precisa generalizar a partir dos dados apresentados a situaes no conhecidas
de uma forma racional.

4.3 Aprendizado No-Supervisionado


Aprendizado no supervisionado realizado quando, para cada exemplo, apenas os atri-
butos de entrada esto disponveis. Essas tcnicas de aprendizado so utilizadas quando o obje-
tivo for encontrar em um conjunto de dados padres, tendncias (aglomerados) que auxiliem o
entendimento desses dados. Uma das tarefas mais comuns de algoritmos no-supervisionados
a de classificao de entradas. O propsito de um algoritmo de classificao no-supervisionado
identificar a qual classe um determinado registro pertence. Por exemplo, categoriza-se cada
registro de um conjunto de dados contendo as informaes sobre os colaboradores de uma em-
presa: Perfil Tcnico, Perfil Negocial e Perfil Gerencial. O modelo analisa os registros e ento
capaz de dizer em qual categoria um novo colaborador se encaixa. A tarefa de classificao
pode ser usada por exemplo para:

Determinar quando uma transao de carto de crdito pode ser uma fraude;

Identificar em uma escola, qual a turma mais indicada para um determinado aluno;

Diagnosticar onde uma determinada doena pode estar presente;

Identificar quando uma pessoa pode ser uma ameaa para a segurana.

4.4 Aprendizagem em Larga Escala


O aprendizado em larga escala necessita de muitos recursos computacionais para operar
seus algoritmos sobre grandes quantidades de dados. O aumento da capacidade computacional,
devido ao avano tecnolgico e queda dos preos dos computadores, facilita o uso de tcnicas
de aprendizagem em larga escala atualmente para vrias aplicaes.
Um ponto de interesse do problema analisado nesse estudo o tamanho do conjunto de
treinamento. De forma geral, se o conjunto de treinamento em anlise no puder ser armaze-
nado em um sistema computacional de uma determinada aplicao, ele pode ser classificado
como um conjunto de treinamentos de dados em larga escala. Outra definio apropriada para
aprendizado em larga escala seria que consistm em analisar problemas nos quais o pricinpal
limitante computacional o tempo disponvel. Um grande conjunto de treinamento representa
um desafio para a complexidade computacional de um algoritmo de aprendizagem automtica.
Algoritmos viveis em tais conjuntos de dados devem escalar, na pior das hipteses, linearmente
com o crescimento do nmero de exemplos.
Aprendizagem Automtica 46

Figura 4.1 Relao grfica entre as principais resolues usadas em sistemas de TVD.

De certa forma, os sistemas de codificao de vdeos desenvolvidos at hoje apresentam


carga de processamento e consumo de memria compatveis com as plataformas de hardware
atuais. Entretanto, o tempo de processamento da compresso de vdeos em UHD (38402160
e 76804320) tem sido um gargalo para diversas aplicaes de vdeo em tempo real, chegando
a inviabilizar algumas aplicaes de transmisses em tempo real ou codificao de vdeo com
alta qualidade em dispositivos mveis. A Figura 4.1 ilustra a relao entre o nmero de linhas
vdeo mais usados, em resolues com relao de aspecto 16:9, e pode-se entender o aumento
da quantidade de dados entre as resolues. Para a maioria dos codificadores, a transmisso
em tempo real s vivel quando os parmetros de qualidade do processo de codificao so
reduzidos para que o tempo de codificao seja compatvel com a demanda e a capacidade
do canal de transmisso da aplicao. Dessa forma, a reduo do tempo de codificao, ou
complexidade computacional do processo, passa a ser um problema significativo para sistemas
de transmisso de vdeo.
Existem ao menos, trs abordagens para resolver um problema de aprendizagem em
larga escala (LANGFORD et al., 2009):

Tratar os dados de treinamento como um fluxo de exemplos e aplicar um algoritmo de


aprendizagem em cada exemplo de acordo com a ordem cronolgica. O modelo incre-
mentado a cada novo ciclo. Tais algoritmos tm requisitos de espao de armazenamento
desprezveis ou levemente dependente do nmero de exemplos e da quantidade de atri-
butos e no precisam armazenar todo o conjunto de treinamento em memria. O sistema
proposto nessa tese utiliza essa abordagem.

Paralelizar um algoritmo de aprendizagem em lote de dados, o que permite dividir um


grande problema de aprendizagem em uma srie de problemas menores. Dado um n-
Aprendizagem Automtica 47

mero de mquinas, ou ncleos de processadores, suficientes, cada sub-problema se torna


de menor complexidade, portanto, tratvel.

Pode-se pr-processar os dados de treinamento e retirar um pequeno subconjunto de da-


dos para treinar. Este subconjunto pode ser escolhido de forma aleatria, ou usando
uma abordagem mais sofisticada que tenta coletar apenas exemplos informativos. Dessa
forma, pode-se reduzir o conjunto de treinamento suficientemente para tornar a algoritmo
de treinamento tratvel.

4.5 O Mtodo do Gradiente Descendente


O mtodo do gradiente descendente uma tcnica matemtica clssica para encontrar
o mnimo de uma funo f ( ). Esse mtodo usa o fato de que o gradiente f de uma fun-
o aponta para a direo do maior crescimento. Isso significa que f aponta na direo
oposta e, ento, um algoritmo para para achar o mnimo de f pode ser definido atualizando uma
estimativa de t usando
t+1 = t t f (t ), (4.3)

em que t a taxa de aprendizagem, que determinada a velocidade que o resultado se move


em direo ao gradiente. importante escolher esse valor cautelosamente, porque se for muito
pequeno, a convergncia lenta, e se for muito grande, ento pode-se no encontrar o mnimo
da funo. Para o problema do aprendizado automtico, tem-se que

1 n
t) =
g( l(xi, yi; t ) + r(t ), (4.4)
n i=1

4.6 Gradiente Estocstico


A complexidade computacional dos algoritmos de aprendizagem automtica torna-se o
fator limitante crtico quando se prev a utilizao de grandes conjuntos de dados. Esta condi-
o favorece algoritmos de gradiente estocsticos para problemas de aprendizado de mquina
em grande escala. No mtodo do gradiente descendente explicado na seo 4.5, o clculo
feito utilizando todos exemplos do conjunto de treinamento. Uma alterao simples deste en-
contrar o gradiente com respeito a um nico exemplo escolhido aleatoriamente. Essa tcnica
chamada de gradiente estocstico descendente (SGD - Stochastic Gradient Descent e a Equao
de atualizao do vetor de parmetros t

t+1 = t t l(xi(t) , yi(t) ; t ) t r(t ), (4.5)

Dessa forma apenas uma aproximao do gradiente verdadeiro obtida ao usar apenas
um exemplo do cojunto de dados de treinamento. Portanto, no mais garantido que o gra-
Aprendizagem Automtica 48

diente se mova na direo da minimizao em toda iterao. No entanto, h pelo menos duas
razes importantes pelas quais o mtodo do gradiente estocstico se torna til em problemas de
apredizagem, que so:

significantemente mais rpido do que o gradiente descendente tradicional quando o


nmero de exemplos no conjunto de treinamentos grande e

pode-se ser demonstrado que os mtodos de gradiente estocstico descendente minimi-


zam o erro de generalizao mais rpido que o gradiente descendente.

Uma das principais caractristicas dos algoritmos de aprendizagem automtica baseados


em gradiente estocstico, e que usada nessa pequisa, que eles no requerem o conhecimento
a priori das estatsticas das amostras do sinal de vdeo, pois fazem uso de estimativas instan-
tneas do gradiente (obtidas a partir de dados instantneos). Logo, pode-se dizer que esses
algoritmos incorporam mecanismos de aprendizagem que permitem rastrear variaes nas ca-
ractersticas dos sinais de vdeo digital.

4.7 Mquinas de Vetores Suporte


As mquinas de vetores suporte ou SVM (Support Vector Machine), so algoritmos de
aprendizagem bastante utilizados na rea de aprendizagem de mquina. SVM pode ser visto
como uma extenso do algoritmo Perceptron (SHALEV-SHWARTZ et al., 2007), pois, da mesma
forma, tenta encontrar um hiperplano que separe os dados, classificando-os eficientemente.
O algoritmo Perceptron simplesmente tenta encontrar qualquer hiperplano que separe os
dados, sem considerar como o hiperplano separa os dados. Mas intuitivamente, um hiperplano
que to longe quanto possvel de qualquer classe prefervel, porque espera-se que este hiper-
plano possa generalizar melhor os dados fora do conjunto de treinamento. A medida de como
um hiperplano separa os dados a sua margem. Esta a distncia do hiperplano ao ponto mais
prximo no conjunto de dados. Uma margem grande significa que o hiperplano separa efici-
entemente os dados, reduzindo a probabilidade de erro de classificao. A Figura 4.2 ilustra a
separao dos dados e as margens.
Os vetores suporte so os pontos de treinamento que no esto classificadas com con-
fiana, isto , eles so classificados erroneamente ou quando classificados corretamente, perte-
cem a uma regio de margem de erro de classificao. De acordo com a Equao 4.6, o vetor
peso ideal w uma combinao linear de vetores suporte. Portanto, os vetores suporte so os
pontos de treinamento que minimizam o erro de classificao e, por sua vez, o objetivo da m-
quina de vetores suporte descobri-los. Dado um conjunto de treinamento {(xi , yi )}ni=1 , em que
y {1}, o hiperplano parametrizado pelo vetor normal w que equilibra a meta de separao
de dados e maximiza as margens pode ser encontrado pela soluo da problema de otimizio
Aprendizagem Automtica 49

Figura 4.2 Hiperplano e margens encontrados pelo algoritmo SVM.

1 n
min kwk2 + max(0, 1 y(w x)), (4.6)
w 2 n i=1
em que 0 o parmetro de regularizao e definido por

1
= . (4.7)
nC
possvel utilizar diferentes tipos de funes kernel, que uma funo similaridade,
descritos na Subseo 4.7.1, e diferentes parmetros a variar de acordo com o kernel escolhido.
Alm disso, um melhor parmetro para uma base, no necessariamente e muito provavelmente
no ser o melhor parmetro para outra. Dessa forma identifica-se uma rea de estudo na busca
dos melhores parmetros para uso do algoritmo SVM.
As princpais vantagens do uso de mquinas de vetores suporte so (MENON, 2009):

Generalizao: Os resultados da generalizao do modelo so, na maioria dos resulta-


dos, satisfatrios. A capacidade de generalizao de um classificador medida por sua
eficincia na classificao de dados que no pertenam ao conjunto utilizado em seu trei-
namento. Dessa forma, o modelo resultante de um algoritmo SVM tende a apresentar um
reduzido sobreajuste.

Robusto para dados de grandes dimenses: O algoritmo SVM tem se mostrado robusto
para dados de grandes dimenses como vetores de pixels de imagens. A boa capacidade
de generalizao um ponto fundamental para esse tipo de aplicao.
Aprendizagem Automtica 50

Figura 4.3 Transformao de um problema no-linearmente separvel em um problema linearmente


separvel usando uma funo kernel.

Convexidade: A aplicao das SVMs implica na otimizao de uma funo quadrtica,


que possui apenas um mnimo global, diferentemente das Redes Neurais Artificiais em
que h a presena de mais de um mnimo local.

Teoria consolidada: A base terica desse mtodo bem fundamentada e consolidada.

4.7.1 As Funes Kernel


Matematicamente, uma funo kernel K representada, em um espao bidimensional,
por uma equao que recebe dois pontos xi e x j e calcula o produto escalar (xi ) e (x j ) no
espao de caractersticas, em que n , com n = {0, ..., m} e m sendo o nmero de atributos, so
funes que mapeiam os dados do espao de entrada para um novo espao, chamado espao de
caractersticas. Sendo assim, uma funo kernel definida em

K(xi , x j ) = (xi ) (x j ) (4.8)

De forma geral, a funo kernel mais simples que a funo , pois na maioria dos casos,
assume formas complexas, em funo do nmero de atributos. Por este motivo, comum definir
a funo kernel sem conhecer explicitamente o mapeamento de . A utilidade das funes
kernel est, portanto, na simplicidade de clculo e na capacidade de representar espaos muito
abstratos. A Figura 4.3 ilustra o conceito de separao dos dados no espao de caractersiticas.
Resumidamente, as funes kernel mais utilizadas so listadas na Tabela 4.1. O algoritmo
implementado nesta tese usa o kernel gaussiano.

O Kernel Funo de Base Radial

O kernel RBF (Radial Basis Function) bastante utilizado para resoluo de problemas
de aprendizagem, inclusive usado computacionalmente como padro em muitas bibliotecas
de linguagens de programao que utilizam o algoritmo SVM e foi o tipo de kernel utilizado
Aprendizagem Automtica 51

Tabela 4.1 Tipos de funes kernel mais utilizadas.


Tipo de kernel Funo kernel
Polinomial (xi T  x j + 1) p
1
2 
Gaussiano exp 2 xi x j
2
Sigmoidal tanh(0 xi x j + 1 )

nesta tese. Na mquina RBF, diferentemente do kernel linear, possvel resolver problemas,
originalmente, no linearmente separveis, atravs do mapeamento para um espao de maior
dimenso. Na ausncia de conhecimento prvio, o kernel RBF uma das melhores opes
quando a soluo no linear.
Existem dois parmetros que podem ser variados em busca de um melhor resultado
para o aprendizado do classificador, so eles: e C (CHEN et al., 2014). o parmetro livre
do Kernel gaussiano e C a varivel de controle do custo de classificao. Intuitivamente, o
parmetro define quo longe a influncia de um nico exemplo de treinamento atinge. Valores
baixos determinam uma influncia pequena e valores elevados, o contrrio. O parmetro pode
ser visto como o inverso do raio de influncia de amostras selecionadas pelo modelo como
vetores de suporte. O valor do parmetro C balanceia a m classificao dos exemplos de
treinamento em relao simplicidade da superfcie da deciso. Um valor baixo de C faz com
que a superfcie de deciso seja mais suave, enquanto que altos valores de C leva o modelo a
tentar classificar todos os exemplos de treinamento corretamente, dando ao modelo liberdade
para escolher mais amostras de vetores de suporte (HSIEH et al., 2015), mas aumentando os
efeitos de sobreajuste.

4.8 Aprendizagem Automtica em Tempo Real


Mtodos de aprendizagem automtica em tempo real, tambm conhecida como de apren-
dizagem on-line, esto relacionados com mtodos estocsticos por operarem em apenas um
nico exemplo em cada iterao. Alm disso, muitas regras de aprendizagem em tempo real,
incluindo a regra Perceptron, podem ser vistas como a implementao de um gradiente esto-
cstico. Muitos desses mtodos, incluindo o Perceptron, tambm tem fortes ligaes com a
margem ou norma do preditor, embora no procurem diretamente minimizar o objetivo SVM.
No entanto, algoritmos de aprendizado em tempo real foram propostos como alternativas rpi-
das para SVMs. Tais algoritmos podem ser usados para obter um preditor com baixo erro de
generalizao utilizando uma abordagem de processar exemplo por exemplo ou pequenos lotes
de exemplos. No entanto, os esquemas de converso de algoritmos de aprendizagem em tempo
real no necessariamente produzem solues precisas para o problema original e seu desempe-
nho normalmente inferior a otimizadores tradicionais, que usam todo o conjunto de dados para
o treinamento. No entanto, com o crescimento do nmero de exemplos o desempenho de um
sistema de treinamento em tempo real tende a se aproximar dos sistemas de treinamentos ex-
Aprendizagem Automtica 52

ternos, com a significativa vantagem de possuir maior capacidade de adaptao mudana das
caractersticas dos dados ao longo do tempo. importante mencionar que o algoritmo Pegasos
compartilha a simplicidade e rapidez de algoritmos de aprendizagem em tempo real (SHALEV-
SHWARTZ et al., 2007).

4.9 O Algoritmo Pegasos


Pegasos (Primal Estimated sub-GrAdient SOlver for SVM) um algoritmo de otimi-
zao de mquinas de vetores suporte cujo tempo de execuo independente do nmero de
exemplos no conjunto de treinamento (SHALEV-SHWARTZ et al., 2007). O algoritmo opera em
mini-lotes dos dados de treinamento disponveis. O tamanho dos lotes, representado pela vari-
vel k, determinado pelo usurio. Quando k = 1, Pegasos se comporta como um SGD e quando
k = n, n sendo o nmero de exemplos de treinamento, ele se comporta como uma projeo de
subgradiente. No entanto, apesar de sua semelhana com SGD tradicionais, uma importante
propriedade do algoritmo Pegasos que ele converge para a soluo aproximada com preciso
em O( d ) iteraes, em que d o nmero de atributos diferentes de zero em cada exemplo,

enquanto que os mtodos baseados em SGDs tradicionais convergem em O( 12 ).

O algoritmo procede da seguinte forma: Primeiramente o vetor w1 inicializado com o
valor 0. Em cada iterao t, um exemplo extrado do conjunto de treinamento (xit , yit ) atravs
da escolha aleatria do ndice it {1, ..., m}. Subsituindo em 4.10, tem-se:


f (w; it ) = kwk2 + l(w; (xit , yit )), (4.9)
2

tendo seu gradiente calculado por

t = wt 1 [yit hwt , xit i < 1] yit xit . (4.10)

em que 1 [y hw, xi < 1] a funo indicador que retorna o valor um se o argumento verdadeiro
1
e zero em caso contrrio. Depois disso atualiza-se wt+1 wt t t , usando t = t .

4.10 Seleo Automtica de Atributos


Nos ltimos trinta anos, a dimensionalidade dos dados envolvidos em tarefas de apren-
dizagem automtica e minerao de dados tem aumentado significantemente. Dados com di-
mensionalidade muito elevada apresentam srios desafios aos mtodos existentes de aprendi-
zagem, levando um problema conhecido como a maldio da dimensionalidade (KOUIROUKI-
DIS; EVANGELIDIS, 2011). Com a existncia de um grande nmero de atributos, um modelo de
aprendizagem tende ao superajuste e seu desempenho de aprendizagem degenera. Para resolver
o problema da dimensionalidade, tcnicas de reduo de dimensionalidade tm sido estudadas,
Aprendizagem Automtica 53

que formam um ramo importante na rea de pesquisa de aprendizado de mquina. A seleo au-
tomtica de atributos uma das tcnicas mais utilizadas em aplicaes profissionais para reduzir
a dimensionalidade dos dados. Essa tcnica destina-se a escolher um pequeno subconjunto dos
atributos de acordo com um determinado critrio de avaliao de relevncia, o que geralmente
leva a um melhor desempenho de aprendizagem, menor custo computacional, e melhor modelo
de interpretabilidade dos dados. As tcnicas de seleo de atributos tem sido aplicadas com
sucesso em muitas aplicaes reais, como reconhecimento de padres, a categorizao de texto,
processamento de imagem e bioinformtica.
O problema fundamental da aprendizagem automtica aproximar o relacionamento
funcional f () entre uma entrada X = x1 , x2 , ..., xM e uma sada Y , baseado na memria dos
pontos de dados. Algumas vezes, Y pode no precisar do conjunto completo dos M atributos
definidos em X e pode ser determinado por um subconjunto x1 , x2 , ..., xm onde m M. Na
prtica, existem dois problemas acarretados pela presena de atributos irrelevantes no processo
de apredizagem:

Os atributos irrelevantes induzem um aumento no custo computacional. De forma geral,


com o aumento de atributos o custo computacional tende a aumentar polinomialmente.

A presena de atributos irrelevantes no processo de apredizagem automtica tendem a um


sobreajuste do modelo.

4.10.1 A Tcnica de Seleo de Atributos IGAE


Diferentes tcnicas de classificao e seleo de atributos foram propostas na literatura
de aprendizagem automtica. O objetivo destas tcnicas descartar caractersticas irrelevantes
e redundantes a partir de um dado vetor de caractersticas. Nesta tese, ser considerada a tcnica
IGAE (CORREA et al., 2015) (Information Gain Attribute Evaluation).
A entropia um medida comumente usada na teoria da informao, que caracteriza
a organizao de uma coleo arbitrria de exemplos. A maioria das tcnicas que medem o
ganho de informao utilizam essa grandeza como forma de avaliao. A medida de entropia
considerado como uma medida da imprevisibilidade do sistema. A Entropia de Y dada
por (SHANNON, 1948)

H(Y ) = (p(y)) log2 (p(y)) (4.11)


yY

em que p(y) a funo densidade de probabilidade de Y . Se os valores observados de Y no


conjunto de dados so divididos de acordo com os valores de um segundo atributo X, e a en-
tropia de Y em relao s parties induzidas por X menor do que a entropia de Y antes de
Aprendizagem Automtica 54

particionamento, ento h uma relao entre as caractersticas Y e X. Dessa forma, a entropia


de Y depois de X ser observado dada por (SHANNON, 1948)

H(Y |X) = (p(y)) (p(y/x)) log2 (p(y/x)) (4.12)


xX yY

em que p(y|x) a probabilidade condicional de y dado x. Com isso, pode-se definir uma medida
que reflete informaes adicionais sobre Y fornecido pelos valores de X que representam o
montante pelo qual a entropia de Y diminui. Dessa forma IG definido como

IG = H(Y ) H(Y |X) = H(X) H(X|Y ). (4.13)

A fraqueza do critrio IG que ele tendencioso em favor de vetores de atributos mai-


ores, ou seja com mais valores, mesmo quando eles no so mais informativos.
C APTULO 5

Metodologia

5.1 O Documento JCTVC-L1100


O comit JCT-VC definiu, em um das suas reunies de padronizao do HEVC, o docu-
mento JCTVC-L1100 (BOSSEN, February, 2012), que descreve os procedimentos para garantir
condies comuns de testes para propostas de novas funcionalidades. As condies de teste
comuns incluem um conjunto de sequncias de vdeo de teste com vrias resolues, diferentes
contedos, e vrias configuraes de codificao predefinidas para aplicaes tpicas. Na fase
de desenvolvimento do HEVC, foram utilizados trs tipos de configuraes de codificao que
esto definidas no documento JCTVC-L1100 (CTC), para serem utilizadas para experimentos
fundamentais entre as reunies. As configuraes so:

All Intra (AI): Todas os quadros so codificados de forma independente com apenas pre-
dio intra-quadro. Esta configurao utilizada para aplicaes como edio de vdeos
onde necessrio o acesso a todos os quadros da sequncia.

Random Access (RA): Codificao com elevadas taxas de compresso compresso. A


ordem de codificao e a ordem de sada dos quadros diferem, induzindo um atraso de
codificao. Esta configurao representa aplicaes de radiodifuso e de streaming.

Low Delay P and B (LP and LB): Codificao sem o atraso de codificao estrutural
apresentado quando usado os parmetros RA. Esta configurao avaliada usando apenas
quadros P (predio uni-direcional) ou apenas quadros B (predio uni-direcional e bi-
direcional).

Essas trs definies de configuraes de testes so avaliadas em uma configurao cor-


respondente ao perfil principal do HEVC (Main Profile) parametrizada para a mais alta eficin-
cia de codificao. Para a avaliao do teste, sequncias de vdeo com durao de 10 segundos
so comumente usadas. Segundo as especificaes no documento JCTVC-L1100, esta dura-
o considerada suficiente para uma avaliao qualificada da qualidade visual da sequncia
Metodologia 56

reconstruda. Neste trabalho, em funo da reduzida capacidade de processamento disponvel


para as simulaes, foi realizada uma avaliao para entender quantos quadros seriam necess-
rios para verificar o patamar mnimo do erro de classificao do modelo gerado. Considerando
o conjunto de vdeos utilizados, observou-se que 130 quadros um nmero suficiente para esse
fim.
Para a avaliao, todas as configuraes de teste so aplicadas a todos as sequncias
disponveis com quatro valores diferentes do parmetro de quantizao (QP Quantization
Parameter) 22, 27, 32 e 37.
Deve-se notar que as aplicaes reais normalmente aplicam estratgias de controle de
taxa e de otimizao de acordo com as necessidades de cada aplicao. O controle do co-
dificador foi concebido para satisfazer as necessidades da aplicao, em vez de responder s
condies de codificao experimentais, que em geral, so bem controladas. As configuraes
de teste predefinidas so uma ferramenta para a avaliao da atividade de padronizao, a fim
de proporcionar formas de comparao justas entre diferentes propostas. Ao avaliar esquemas
de codificao com base em diferentes implementaes de software, muitas vezes no fcil
concluir sobre o desempenho de qualquer um dos sistemas concorrentes dado que normalmente
as implementaes utilizam estratgias de otimizao diferentes. A padronizao das configu-
raes proporciona comparaes eficientes.

5.2 A Biblioteca Dlib-ml


O algoritmo SVM, apesar de ser baseado em um conceito intuitivamente simples, pos-
sui implementao complexa. Uma possvel implementao desse algoritmo demandaria um
nmero elevado de horas de desenvolvimento e, principalmente, otimizao do tempo de exe-
cuo. Existem algumas opes disponveis para download gratuito. Entre elas, se destaca a
biblioteca Dlib-ml por sua facilidade de uso e desempenho. Por esses motivos ele foi escolhida
para ser integrada ao cdigo nativo da implementao de referncia HM.
O algoritmo Pegasos A Dlib-ml uma biblioteca de cdigo aberto implementada na
linguagem de programao C++ para se adequar, sem grandes dificuldades, a diferentes plata-
formas e arquiteturas de hardware. Seu design fortemente influenciado pelas idias de projeto
por contrato e engenharia de software baseada em componentes. Isso significa que ela antes
de tudo uma coleo de componentes de software independentes, cada um acompanhado por
uma extensa documentao e modos de depurao distintos. Alm disso, a biblioteca tem a
inteno de ser til em projetos de pesquisa e comerciais, sendo cuidadosamente projetada para
tornar mais fcil a integrao em aplicaes C++.
H uma boa quantidade de bibliotecas de aprendizagem automtica difundidas na In-
ternet. No entanto, muitas dessas bibliotecas concentram-se em fornecer um bom ambiente
desenvolvimento usando outras linguagens de programao diferentes de C++. Dois exemplos
deste tipo de projeto so os conjuntos de ferramentas densenvolvidos em Shogun e Tocha que,
Metodologia 57

mesmo sendo implementados em C ++, no esto focados em fornecer apoio para o desen-
volvimento de software de aprendizagem de mquina nessa linguagem. Em vez disso, esses
conjuntos so destinados principalmente para serem usados com linguagens como R, Python,
Matlab, ou Lua. Dessa forma, existem conjuntos de ferramentas, tais como a Dlib-ml que so
explicitamente dirigidas a usurios que desejam desenvolver software em C++. Dadas essas
consideraes, a biblioteca Dlib-ml procura para ajudar a preencher algumas das lacunas em
apoio ferramental ao desenvolvimento.

5.3 Indicadores de Desempenho


A anlise de desempenho do processo de codificao HEVC , em geral, uma tarefa
complexa, uma vez que pode ser realizada de vrias maneiras diferentes com base em, por exem-
plo, eficincia de compresso, complexidade, qualidade visual, aplicao da relao taxa/dis-
toro (RDO), atrasos, robustez, etc. O objetivo deste Captulo apresentar a eficincia de
compresso da implementao proposta em comparao com o a implementao de refe-
rncia do codificador HEVC, em sua verso 16.7, tanto em termos de avaliaes objetivas de
qualidade e da complexidade computacional. Idealmente seria importante incluir uma etapa
de avaliao subjetiva, dado que baseando-se unicamente em avaliaes objetivas de qualidade
pode-se, em alguns casos, subestimar a reduo na taxa de bits e, portanto, afetar a anlise da
eficincia de compresso. No entanto, devido ao dispendioso processo necessrio para avalia-
es subjetivas, o escopo desse trabalho se restringir a usar mtricas objetivas de avaliao de
qualidade, como a PSNR, a BD-Rate e a BD-PSNR.
Os indicadores de desempenho utilizados nesse trabalho sero a eficincia de compres-
so e a complexidade do codificador. A eficincia de compresso medida atravs da mtrica
Bjtegaard Delta Rate (BD-Rate), calculada conforme o processo descrito em (BJONTEGAARD,
2001) entre o codificador de referncia e a implementao proposta nessa tese. Nesse contexto,
valores negativos da mtrica BD-Rate correspondem a ganhos de eficincia de compresso e,
considerando o uso do formato de subamostragem de crominncia 4:2:0, a BD-Rate ser calcu-
lada apenas para a componente de luminnia. A durao do processamento de codificao de
um vdeo, em segundos, usado como mtrica de complexidade e os seguintes valores sero
reportados nesse trabalho (NACCARI et al., 2015):

Acelerao da codificao (AC): Calculada como a mdia aritmtrica dos valores medi-
dos para cada um dos quatro valores de QP distintos conforme definido pela Equao 5.1.
Valores positivos expressam uma reduo na complexidade computacional e valores ne-
gativos expressam um retardo no processo de codificao.

1 4 THM (QPi ) T (QPi )


T = 100 (5.1)
4 i=1 THM (QPi )
Metodologia 58

em que THM representa o tempo de processamento usando a implementao de refern-


cia HM e T representa o tempo de processamento usando a verso modificada com as
contribuies desta tese.

Variao do tempo de acelerao (T ): Calculada como a diferena percentual entre


o tempo de acelerao mximo e o mnimo. Essa medida indica a variao do tempo
de codificao dos pontos medidos. Quanto menor for esse valor, mais eficiente o
algoritmo proposto para diferentes aplicaes de taxa de transmisso distintas.

5.4 O Algoritmo Proposto O Codificador


A anlise feita por (ZUPANCIC et al., 2015a) mostrou que a etapa mais dispendiosa para a
codificao de contedos UHD com o codificador HEVC so a deciso do modo de diviso da
unidade de codificao e a predio inter devido ao processo de estimao de movimento.
As otimizaes de codificao propostas iro abordar a etapa RDO (Rate Distorcion
Optimization) no modo inter-quadros em todos os particionamentos de uma unidade de codifi-
cao. Primeiramente, um conjunto de dados de 15 atributos das unidades de codificaao foram
coletados considerando as caractersticas do processo de explorao de redundncia temporal
(inter-quadros) formando um vetor de 16 elementos, 15 atributos e 1 elemento de classificao,
para cada unidade de codificao. Em cada unidade de codificao, e em cada profundidade, es-
tas 15 caractersticas foram coletados junto com a classificao se a unidade de codificao atual
codificada usando o modo de particionamento 2N2N ou no. O modo de particionamento
2N2N define que este conjunto de dados composto por dezesseis elementos ser posterior-
mente analisado em um processo de seleo de atributos usando a ferramenta Weka (WITTEN;
FRANK, 2005), seguindo as recomendaes do trabalho publicado em (CORREA et al., 2015).
Sete atributos foram inicialmente selecionados e, em seguida, as simulaes foram realizadas
usando duas sequncias para definir o conjunto mnimo de atributos recurso para ser usado com
base na taxa de erro coletada em treinos de classificao. O erro de classificao foi 11,46% e
diminui para 0,9% usando trs caractersticas. A Figura 5.1 ilustra como a taxa de erro descres-
ceu com a diminuio do nmero de atributos.
O ordenamento foi feito usando o algoritmo Information Gain Analyses Evaluation
(IGAE) fornecido pelo Weka. Os trs atributos selecionados representam, respectivamente, a
informao se as unidades de predio posicionadas esquerda e na posio superior dos qua-
drantes foram codificadas no modo Skip, para os quadrantes 1, 2 e 3. O mtodo implementado
retorna zero se nenhuma das posies foi codificada como Skip e 1 se uma das duas posies,
ou as duas, forem codificadas como Skip. Dessa forma, a amostra de treinamento utilizada
composta por esses trs atributos selecionados pelo IGAE e pela informao se o particiona-
mento selecionado foi o formato 2N2N ou no, caracterizando o problema abordado como
uma classificao binria.
Metodologia 59

Tabela 5.1 Descrio dos atributos analisados no processo de seleo automtica.


ndice Nome da Varivel ou Mtodo Descrio
1 TotalCost Custo do processo RDO da unidade de
codificao corrente
2 CUPelX Coordenada X da unidade de codificao
corrente em relao ao tamanho original
da imagem
3 CUPelY Coordenada Y da unidade de codificao
corrente em relao ao tamanho original
da imagem
4 CtuRsAddr Nmero sequencial da unidade de codifi-
cao dentro de um quadro
5 TotalBits Nmero total de bits associado
6 TotalDistortion Distoro calculada ao fim do processo
RDO
7 MergeFlag Determinada se um bloco fundido ou
no
8 PredictionMode Modo de predio
9 CtxSkipFlag0 Mtodo que verifica se as unidades de
predio superior e superior esquerda da
unidade de codificao vizinha do
quadrante 0 tem valor 1 para sua varivel
SkipFlag
10 CtxSkipFlag1 idem ao anterior, para o quadrante 1
11 CtxSkipFlag2 idem ao anterior, para o quadrante 2
12 CtxSkipFlag3 idem ao anterior, para o quadrante 3
13 MergeAMP Informa se a funcionalidade AMP est
ativa ou no
14 Depth Profundidade de diviso da unidade de
codificao (0-3)
15 SkipFlag Informa se o bloco corrente vai ser o l-
timo nvel codificado

Um modo de treinamento baseado no tamanho do GOP foi implementado. Somente


o primeiro quadro de um GOP utilizado para o treinamento do modelo e o algoritmo de
classificao executado nos quadros restantes do mesmo GOP.
Aps a etapa de anlise dos atributos mais relevantes e com a definio do vetor de
amostras de treinamento, o classificador foi implementado e integrado dentro do cdigo do
HM. Como o processo de classificao se aplica ao particionamento da unidade de codificao,
a implementao foi inserida no mtodo que faz a avaliao da distoro e do particionamento.
Esse mtodo o ncleo de toda anlise RDO no codificador. O fluxo do algoritmo implemen-
tado est representado na Figura 5.2.
Tabela 5.2 Atributos elencados em ordem de relevncia segundo o algoritmo IGAE.
Valor IGAE ndice Atributo (Nome da Varivel)
0.99315 14 CtxSkipFlag3
0.89980 12 CtxSkipFlag1
0.89864 13 CtxSkipFlag2
0.74312 5 TotalBits
0.73920 7 MergeFlag
0.67420 11 CtxSkipFlag0
0.59042 8 PredictionMode
0.31867 9 Height
0.31867 10 Width
0.31867 16 Depth
0.21417 15 MergeAMP
0.20512 1 TotalCost
0.07516 6 TotalDistortion
0.02681 4 CtuRsAddr
0.02539 3 CUPelY
0.00780 2 CUPelX

Figura 5.1 Comportamento do erro de classificao com a reduo do nmero de atributos


Figura 5.2 Fluxograma do algoritmo proposto.
C APTULO 6

Simulaes e Resultados

6.1 Sequncias de Vdeo Utilizadas


O conjunto de vdeos de testes composto por dez vdeos UHD (38402160) e dois
vdeo em HD (19201080) que sero utilizados para analisar o efeito do algoritmo proposto
com a dimininuio da resoluo do quadro. Todos os vdeos utilizados possuem formato 4:2:0,
60 quadros por segundo e oito bits por componente de informao. Considerando o formato de
subamostragem de crominncia 4:2:0, o vdeo resultante utiliza 16 bits por pixel. Os nomes e
uma breve caracterizao das sequncias de vdeo esto listadas na Tabela 6.1.
As simulaes foram realizadas usando os parmetros especificados na Tabela 6.2 em
um computador com quatro ncleos de processamento com arquitetura para suportar 8 proces-
sos em paralelo. A frequncia de operao dos processadores de 2,8 GHz e a placa-me estava
equipada com 24 GB de memria RAM com a tecnologia DDR3. Um quadro de cada sequncia
de vdeo usado nas simulaes esta exibidos na Figura 6.1. Originalmente cada vdeo possuia
600 quadros, mas apenas 130 foram usados nas simulaes. O principal motivo da reduo
do nmero de quadros foi devido ao elevado tempo de processamento, que em alguns casos,
mesmo usando os 130 primeiros quadros de cada vdeo de teste, o tempo de simulao excedeu
10 horas para cada ponto do grfico de cada configurao simulada. Por exemplo, o tempo de
simulao total para o vdeo Campfire Party usando as configuraes Low Delay B utrapassaria
51 horas, se os oito pontos fossem executados sequencialmente. Dado capacidade do pro-
cessador utilizado, quatro instncias do processo do codificador eram invocadas paralelamente,
reduzindo o tempo ao intervalo obtido do ponto de simulao com parmetro de quantizao
igual a 22. Quanto menor o valor desse parmetro, maior o tempo de simulao. Com essa
paralelizao, o tempo de simulao, em mdia, durava aproximadamente 15 horas para cada
vdeo. Essa quantidade de quadros tambm se mostrou suficiente para verificar a estabilizao
do patamar do erro de classificao para a maioria dos vdeos testados. Em linhas gerais, o
processo de simulao consiste em:
Simulaes e Resultados 63

Tabela 6.1 Descrio do conjunto de vdeos utilizados.


Nome SI TI Resoluo Descrio
Kimono HD Movimentao de cenrio ao fundo
com cmera focada no rosto de uma
mulher.
BasketballDrive HD Rpida movimentao de uma par-
tida de basquete.
Library UHD Eestudantes andando na frente de
uma biblioteca.
Wood UHD Cmera movendo-se entre rvores
com forte presena de raios solares.
Fountains UHD Movimentao de gua em uma
fonte artificial.
Construction Field UHD Mquinas escavadoras durante o
trabalho.
Rush Hour UHD Movimentao de pessoas durante
horrio de pico.
Tall Buildings UHD Uma paisagem de edifcios altos.
Campfire UHD Uma fogueira.
Tree Shade UHD Exibe a sombra de uma grande ar-
vre com pouca movimentao de
cmera e de fundo.
Runners UHD Vrios corredores. Fundo parado e
pessoas correndo.

Classificar os vdeos de acordo com os valores obtidos pelos clculos da complexidade


espacial (SI) e temporal (TI).

Codificar cada vdeo quatros vezes em cada codificador, totalizando 8 execues.


Cada simulao de um codificador usa um parmetro de quantizao diferente se-
guindo os valores 22, 27, 32 e 37, conforme as recomendao em JCTVC L.1100. Essa
faixa de valores garante uma boa variao da qualidade do vdeo resultante.

Em cada simulao so registrados os valores da PSNR resultante da componente de


luminncia, crominncia azul e crominncia vermelha e tambm so coletados os valores
da taxa de bits resultante e o tempo total de processamento.

Sendo QPi = 22, 27, 32e37, e com os valores de taxa de bits e relao sinal-rudo de pico
da componente de luminncia, obtem-se o grfico da relao taxa/distoro exibindo as
duas curvas com os valores de
(taxaHM (QPi ),Y PSNRHM (QPi )) para a curva do codificador HM e
(taxa (QPi ),Y PSNR (QPi )) para a curva para o codificador proposto .
Simulaes e Resultados 64

(a) CampFire. (b) Construction Field.

(c) Fountains. (d) Library.

(e) Runners. (f) Rush Hour.

(g) Residential Building. (h) Tree Shade.

(i) Kimono. (j) Basketball Drive.

Figura 6.1 Exemplos de quadros dos vdeos utilizados nos testes.


Simulaes e Resultados 65

6.2 A Parametrizao dos Codificadores


Uma configurao de codificao e ambiente de teste bem definidos precisam ser es-
tabelecidos para a realizao das avaliaes de desempenho. Nesta seo ser descrita a pa-
rametrizao do codificador de referncia HEVC usado nas investigaes. Alm disso, ser
apresentado os conjuntos de configuraes pr-definidos.

6.3 Descrio dos Experimentos


A norma HEVC especifica vrias novas ferramentas de codificao para cada mdulo de
uma arquitetura genrica de um codificador baseado em tcnicas de explorao de redundncia
espacial e temporal. Assumindo um ambiente computacionalmente restrito, importante enten-
der a relao custo-benefcio entre a eficincia de compresso e a complexidade do codificador
associadas a cada ferramenta de codificao. Portanto, um conjunto de experimentos foi reali-
zado em (NACCARI et al., 2015) para quantificar esta relao. As ferramentas consideradas para
os experimentos realizados nesse trabalhos esto listadas na Tabela 6.2 e foram baseadas no tra-
balho citado anteriormente. Para cada ferramenta, os indicadores de desempenho mencionados
na Seo 5.3 so calculados entre o codificador de referncia e o codificador .

Tabela 6.2 Configuraes das principais ferramentas do codificador HEVC.


Nome da ferramenta Parmetro usado
Tamanho mximo CTU 6464
Profundidade RQT 3
Tamanho mximo TU 3232
Transform Skip (TS) Habilitado
RDOQ Habilitado
Codificao Intra Padro, 35 modos
Vetor de movimento com 41 de preciso Habilitado
Vetor de movimento com 21 de preciso Habilitado
Asymmetric Motion Partition (AMP) Habilitado
Nmero de vetores candidatos fuso 5
Nmero de quadros de referncia at 4
Early Skip Detection (ESD) Habilitado
Coding Flag Mode (CFM) Desabilitado

Tabela 6.3 Tempo gasto em cada passo do codificador de referncia.


Etapa Tempo gasto (%)
Etapa intra-quadros 9
Etapa inter-quadros 76
Outras etapas 15
Simulaes e Resultados 66

A algoritmo proposto, chamada de , obteve uma acelerao competitiva para um va-


lor baixo da mtrica BD-Rate quando comparada com outras implementaes de reduo de
complexidade computacional j publicadas e analisadas neste trabalho.

6.4 Simulaes com a Parametrizao Low Delay B


Conforme definido na Seo 5.1, o conjunto de parmetros de configurao Low Delay
B define um cenrio de aplicaes para vdeos de maior qualidade ou armazenamento. Os
grficos da maioria das simulaes sero apresentados a seguida, descrevendo caractersticas
pertinentes de cada simulao. Cada grfico exibe o comportamento do erro de classificao
em funo no nmero de treinamentos realizados. importante mencionar que o treinamento
feito em tempo de execuo.

A Figura 6.2 exibe o grfico da simulao usando o vdeo Campfire Party. Eixo das
ordenadas exibe os valores do erro de classificao que percentual de vezes, para a
quantidade de amostras j observadas, que o algoritmo de classificao (Pegasos) tem
valor errado calculado durante a etapa de treinamento. A legenda no grfico referente
aos valores do parmetro de quantizao (QP) utilizados nesta tese em conformidade
com as recomendaes do JCT-VC-L1100. Essa simulao apresentou valores mais altos
para o erro de classificao, especialmente para o parmetro de quantizao com valor
22. Nessa simulao, as curvas referentes aos parmetros de quantizao 22 e 27 no
convergiram dentro do intervalo de 130 quadros proposto.

Figura 6.2 Simulao para o vdeo Campfire Party usando a parametrizao Low Delay B.

Os resultados da simulao para o vdeo Construction Field mostram um baixo erro de


classificao e uma rpida convergncia. Todas as curvas convergem para um patamar
Simulaes e Resultados 67

de erro de classificao semelhante, como pode ser observado na Figura 6.3. As simu-
laes dos vdeos Tree Shade e Wood apresentaram as mesmas caractersticas e esto
exibidas nas Figuras 6.5 e 6.4. No entanto, como pode-se observar, o erro de classifica-
o nas simulaes do vdeo Wood apresentou um patamar mais elevado, mas converge
para valores aproximado aos das outras curvas. Wood o vdeo com maior complexidade
espacial e temporal dentro do conjunto de vdeos testados. Outro ponto importante que,
para esses vdeos, o erro de estabilizao converge antes do ltimo quadro usado, ou seja,
dentro do intervalo de 130 quadros proposto nesse estudo.

Figura 6.3 Simulao para o vdeo Construction Field usando a parametrizao Low Delay B.

Figura 6.4 Simulao para o vdeo Tree Shade usando a parametrizao Low Delay B.

Os resultados da simulao para o vdeo Fountains so exibidos na Figura 6.6. Destacam-


se, nesse caso, o erro de classificao elevado apresentado nas primeiras amostras do
Simulaes e Resultados 68

Figura 6.5 Simulao para o vdeo Wood usando a parametrizao Low Delay B.

treinamento para os valores 22 e 27 e o fato de as curvas convergirem para valores signi-


ficativamente distintos.

Figura 6.6 Simulao para o vdeo Fountains usando a parametrizao Low Delay B.

As quatro curvas da Figura 6.7 so calculadas pela mdia aritmtrica de todas as simu-
laes que usaram a parametrizao Low Delay B. Na maioria das simulaes, o erro de
classificao convergiu para valores reduzidos. No entanto, como pode ser observado, a
sequncia Fountains apresentou um patamar mais elevado para o erro de classificao, o
que influenciou no aumento da mdia.
Simulaes e Resultados 69

Figura 6.7 Mdia dos valores dos erros de classificao obtidos nas simulaes com a parametrizao
Low Delay B.

6.5 Simulaes com a Parametrizao Random Access


Conforme definido na Seo 5.1, o conjunto de parmetros de configurao Random
Access utilizado para transmisses. A eficincia de codificao dessa configurao maior do
que as outras por fazer uso extensivo da predio bidirecional. Em contrapartida, isso aumenta
o atraso de exibio. Para controlar a propagao de erros e facilitar o acesso ao vdeo, quadros
I so inseridos periodicamente na sequncia de codificao. Os grficos de algumas simulaes
sero apresentados a seguida, descrevendo caractersticas pertinentes.

Para validao do algoritmo, durante a fase de desenvolvimento, foram utlizadas duas


sequncias com resoluo 1920 1080 conforme informado na Tabela 6.1. Ao finalizar
a implementao do Codificador chegou-se aos resultados da Figura 6.8. Nessa simu-
lao foram usados 60 quadros, intervalo suficiente para verificar uma convergncia do
erro de classificao.

Na Figura 6.9 so exibidas as curvas para cada parmetro de configurao utilizado nas
simulaes usando a parametrizao Random Access para o vdeo Campfire Party. Essa
simulao apresentou um dos piores desempenhos, em especial para o valor 22 do par-
metro de quantizao que, dentro do intervalo simulado, manteve-se acima de 10%. Essa
sequncia possui um elevado ndice de complexidade temporal.

A Figura 6.10 exibe as curvas das simulaes com o vdeo Construction Field. Destaca-
se nesse caso, o fato da curva do parmetro de quantizao 22 iniciar com erro de erro de
classificao elevado e convergir para valores menores semelhante aos valores das outras
curvas.
Simulaes e Resultados 70

Figura 6.8 Simulao para o vdeo BasketBall Drive usando a parametrizao Random Access para 10
quadros.

Figura 6.9 Simulao para o vdeo Campfire Party Drive usando a parametrizao Random Access.
Simulaes e Resultados 71

Figura 6.10 Simulao para o vdeo Construction Field usando a parametrizao Random Access.

Assim como para o caso Low Delay B, o vdeo Fountains apresentou elevados patamar de
erro elevado em relao s outras simulaes. Essa sequncia possui baixa complexidade
espacial e temporal e sugere que outras caractersticas devem influenciar mais no modelo.
Mesmo com o elevado erro, a eficincia de codificao foi aceitvel, em relao aos outros
trabalhos revisados, com uma reduo de complexidade computacional de 29, 82%

Figura 6.11 Simulao para o vdeo Fountains usando a parametrizao Random Access.

A simulao para o vdeo Library no caso Random Access mostra uma rpida conver-
gncia de todas as curvas para valores similares na Figura 6.12. A curva do parmetro
de quantizao 22 chega 7% mas cai para 0, 5% dentro do intevalo simulado de 130
quadros. A Figura 6.13 exibe as curvas separadas em eixos independentes para facilitar a
visualizao do comportamento das curvas com parmetros de quantizao maiores.
Simulaes e Resultados 72

Figura 6.12 Simulao para o vdeo Library usando a parametrizao Random Access.

Figura 6.13 Grficos para o vdeo Library usando a parametrizao Random Access em eixos indepen-
dentes.
Simulaes e Resultados 73

A Figura 6.14 e a Figura 6.15 exibem as curvas das simulaes para os vdeo Rush Hour
e Tree Shade, respectivamente. Os comportamentos das suas simulaes so semelhantes
s simulaes do vdeo Library, com valores de erro mais elevados.

Figura 6.14 Simulao para o vdeo Rush Hour usando a parametrizao Random Access.

Figura 6.15 Simulao para o vdeo Tree Shade usando a parametrizao Random Access.

As simulaes do vdeo Wood so exibidas na Figura 6.16 e claramente acompanham a


mesma tendncia explicada para o caso Low Delay B com valores mais elevados para o
erro de classificao.

Na Figura 6.17 esto traadas as curvas referentes s mdias aritmtricas de todas as


simulaes com a parametrizao Random Access.
Simulaes e Resultados 74

Figura 6.16 Simulao para o vdeo Wood usando a parametrizao Random Access.

Figura 6.17 Mdia dos valores dos erros de classificao obtidos nas simulaes com a parametrizao
Random Access.
Simulaes e Resultados 75

6.6 Simulaes com Vdeos Concatenados


Uma das motivaes principais do trabalho realizado nessa Tese foi propor um processo
de otimizao automtica para codificao de vdeo digital em ultra alta definio. Conside-
rando que uma sequncia de vdeo comumente composta de uma concatenao de cenas de
diversas naturezas, com caractersticas espao-temporais bem distintas, foi definido um caso de
simulao composto pela concatenao de trs dos vdeos utilizados. Foram gerados dois v-
deos com contedos distintos e submetidos s mesmas simulaes que os vdeos da base desse
trabalho. O primeiro vdeo foi construdo com a concatenao de 100 quadros do vdeo Resi-
dential Building, 50 quadros do vdeo Runners e 100 quadros do vdeo Rush Hour. O segundo
vdeo foi construdo com a concatenao de 80 quadros do vdeo Wood, 80 quadros do vdeo
Tree Shade e 80 do vdeo Fountains.
Baseado nos resultados, as curvas no segundo intervalo no grfico da Figura 6.18 e no
terceiro intervalo no grfico da Figura 6.19 no convergem. No entanto, o que de fato acontece,
que o erro de classificao do modelo esta voltando ao patamar de erro referente a cada vdeo.
Pode-se observar tambm que o patamar inicial do erro de classificao nos segundos e terceiros
intervalos no inicia com o mesmo valor das simulaes independentes. Isso mostra que, o
modelo previamente obtido no intervalo anterior apresenta-se como uma boa aproximao para
o intervalo corrente. No decorrer dos quadros desse intervalo, o modelo de classificao gerado
pelo algoritmo Pegasos ser adaptado s caractersticas do contedo do mesmo.

Figura 6.18 Simulao do vdeo resultante da concatenao dos vdeos Residential Building, Runners e
Rush Hour.
Simulaes e Resultados 76

Figura 6.19 Simulao do vdeo resultante da concatenao dos vdeos Wood, Tree Shade e Fountains.

6.7 Resultados
Nesta Seo sero discutidos os resultados alcanados, as concluses e propostas de
trabalhos futuros. A Figura 6.20 exibe um grfico comparando a reduo do tempo de proces-
samento, usada para medir a complexidade computacional dos codificadores testados, para os
quatro parmetros de quantizao recomendados pelo documento JCTVC L1100. As colunas
do grfico mostram que a reduo do tempo de processamento inversamente proporcional ao
aumento do valor do parmetro de quantizao. Quanto menor esse valor, mais divises no
tamanho da unidade de codificao so necessrias para aumentar o nvel de qualidade. Isso
acontece acontece porque o limiar de distoro que testado em cada diviso propocional ao
valor de QP. Dessa forma, o teste para verificar se a distoro da unidade de codificao corrente
suficientemente boa se torna mais rigoroso, fazendo com que o bloco se divida cada vez mais.
Concluindo: um parmetro de quantizao menor implica em uma busca mais detalhada pelo
melhor particionamento do CTU (Coding Tree Unit). Os resultados indicam uma reduo de
complexidade computacional competitiva com a maioria dos esquemas encontrados nos artigos
revisados.
Para esclarecer a degradao inserida pelo processo proposto no Codificador , a Fi-
gura 6.21 exibe o percentual de degradao da qualidade da componente de luminncia, medida
pela sua PSNR, em relao mesma medida no codificador HM 16.7. O grfico mostra que a
perda de qualidade mdia mnima para todas os parmetros de codificao testados. Destaca-
se o pequeno ganho (menor que 0, 1%) obtido nas simulaes com o QP igual a 22 para vdeos
codificados com a parametrizao Low Delay B.
As Tabelas 6.4 e 6.5 exibem os resultados detalhados de todas as simulaes, conside-
rando a taxa de bits e a relao sinal-rudo de pico da componente de luminncia (YPSNR). A
Simulaes e Resultados 77

Figura 6.20 Comparativo da reduo de complexidade computacional para as parametrizaes Random


Access e Low Delay B.

Figura 6.21 Comparativo da degradao do vdeo, medida pela YPSNR, para as parametrizaes Ran-
dom Access Low Delay B.
Simulaes e Resultados 78

mdia destes valores de YPSNR esto exibidos na Figura 6.21. Nestas tabelas pode-se verificar
a semelhana dos resultados tanto para a taxa de bits como para a YPSNR.

Tabela 6.4 Resultados da comparao com o HM 16.7 em termos de eficincia de compresso - Primeira
parte
Vdeo Aplicao SI TI QP Bitrate (kbps) YPSNR(dB)
HM HM
22 10505 10522 39,27 39,25
27 3656 3754 37,65 37,6
BasketBallDrive Random Access
32 1732 1779 35,83 35,74
37 920 944 33,86 33,74
22 5745 5649 41,01 41,01
27 1776 1739 39,88 39,97
Library Low Delay P 6,4 21
32 817 806 38,35 38,84
37 429 425 36,46 36,45
22 7774 7877 41,19 41,2
27 2834 2871 40,23 40,3
Library Random Access 6,4 21
32 1446 1460 38,8 38,77
37 795 800 36,99 36,95
22 70782 71128 40,05 40,03
27 30634 30821 36,99 36,8
Fountains Random Access 5,5 13
32 12598 12667 34,01 33,97
37 5038 5072 31,78 31,73
22 81252 81447 40,74 40,73
27 37558 37690 37,69 37,69
Fountains Low Delay B 5,5 13
32 15477 15540 34,67 34,66
37 6959 6126 32,6 32,22
22 14697 14859 40,28 40,24
27 4312 4357 37,99 37,97
TallBuildings Low Delay B 8,2 17
32 1651 1659 35,5 35,48
37 726 731 32,84 32,83
22 15414 15616 39,66 40,03
27 3177 3201 38,74 38,63
Construction Field Low Delay B
32 1596 1605 37,55 37,43
37 877 881 35,91 35,78

As Tabelas 6.6 e 6.7 listam todos os tempos de execuo registrados durante as simula-
es.
As Tabelas 6.8 e 6.9 listam os resultados da medio da eficincia de codificao usando
as mtricas de Bjtegaard desenvolvidas em (BJONTEGAARD, 2001), seguindo as orientaes
do documento JCTVC L1100 (BOSSEN, February, 2012). A Tabela 6.8 refere-se aos resultados
das simulaes com a pametrizao Random Access e a Tabela 6.9 refere-se s simulaes
com a parametrizao Low Delay B. Os resultados mdios se mostraram compatveis com os
resultados dos trabalhos revisados, com destaque para o resultado da parametrizao Low Delay
B que apresentou uma degradao muito reduzida e at um aumento da qualidade medida para
alguns vdeos. importante enfatizar que as simulaes foram realizadas com a otimizao
nativa ESD (Early Skip Detection) habilitada conforme listado na Tabela 6.2. A Tabela ??
mostra os resultados para dois vdeos codificados sem ESD, onde percebido uma reduo da
complexidade computacional ainda maior.
Tabela 6.5 Resultados da comparao com o HM 16.7 em termos de eficincia de compresso - Segunda
parte
Vdeo Aplicao SI TI QP Bitrate (kbps) YPSNR(dB)
HM HM
22 15669 15677 39,56 39,52
27 3197 3203 38,70 38,66
Construction Field Random Access 3,9 8,1
32 1596 1605 37,45 37,43
37 877 881 35,81 35,78
22 84003 84047 39,47 39,46
27 24585 24678 37,36 37,36
Campfire Party Low Delay B 5,4 39,5
32 11538 11561 35,77 35,76
37 6520 6521 34,11 34,10
22 71766 72017 38,97 38,97
27 22839 22976 37,11 37,06
Campfire Party Random Access 5,4 39,5
32 10209 10244 35,59 35,54
37 5861 5880 33,96 33,94
22 26516 27009 40,49 40,46
27 11621 11666 38,41 38,34
Tree Shade Random Access 6,4 8,4
32 5529 5550 36,03 35,94
37 2720 2753 33,53 33,45
22 23366 23848 40,49 40,46
27 9392 9562 38,2 38,17
Tree Shade Low Delay B 6,4 8,4
32 3992 4026 35,68 35,65
37 1704 1692 33,08 33,2
22 35593 35669 39,56 39,54
27 11569 11627 37,16 37,14
Wood Low Delay B 10,4 39,8
32 4820 4859 34,59 34,57
37 2166 2172 31,82 31,8
22 29390 29487 39,56 39,73
27 10480 10598 37,39 37,37
Wood Random Access 10,4 39,8
32 4559 4610 34,76 34,75
37 2086 2143 31,91 31,89
Tabela 6.6 Diminuio da complexidade computacional em comparao com o codificador HM. Pri-
meira Parte.
Vdeo Aplicao SI TI QP Tempo(s) T(%) AC(%)
HM %
22 7959 4822 39,41
27 5816 3682 37,72
BasketBallDrive Random Access 8,08 32,20
32 4622 3622 20,34
37 3817 2621 31,33
22 10536 7602 27,85
27 7252 5986 17,46
Library Low Delay P 6,4 21 20,32 16,02
32 6343 5628 11,27
37 5902 5428 7,52
22 9501 7753 18,4
27 7470 6744 9,72
Library Random Access 6,4 21 13,04 10,19
32 6864 6364 7,28
37 6591 6238 5,36
22 30021 20245 32,56
27 21987 15234 30,67
Fountains Random Access 5,5 13 6,48 29,98
32 15768 11043 29,97
37 11304 8356 26,08
22 40302 21775 45,97
27 32186 17348 46,10
Fountains Low Delay B 5,5 13 32,79 36,91
32 23607 13598 42,40
37 12963 11254 13,18
22 16325 9958 39,10
27 9765 6746 30,92
TallBuildings Low Delay B 8,2 17 30,82 24,70
32 7233 5750 20,50
37 6099 5594 8,28
22 16413 12751 22,31
27 7972 7972 14,43
Construction Field Low Delay B 3,9 8,1 17,55 12,12
32 6836 6836 6,98
37 6441 6441 4,77
Tabela 6.7 Diminuio da complexidade computacional em comparao com o codificador HM. Se-
gunda Parte.
Vdeo Aplicao SI TI QP Tempo (s) T(%) AC(%)
HM %
22 15592 9588 38,51
27 10383 6822 34,30
Construction Field Random Access 3,9 8,1 5,94 34,11
32 9226 6359 31,08
37 9096 9134 32,56
22 44920 24017 46,53
27 30601 17257 43,61
Campfire Party Low Delay B 5,4 39,5 9,76 41,78
32 23583 14103 40,20
37 19622 12406 36,78
22 32063 19215 40,07
27 22571 13539 40,02
Campfire Party Random Access 5,4 39,5 4,58 38,12
32 17367 10910 37,18
37 14760 9522 35,49
22 16902 10617 37,18
27 12235 8191 33,05
Tree Shade Random Access 6,4 8,4 31,21 11,32
32 9812 6991 28,75
37 8779 6508 25,87
22 26447 15700 40,64
27 19632 12644 35,59
Tree Shade Low Delay B 6,4 8,4 25,29 30,69
32 16359 16359 31,19
37 12692 12692 15,35
22 25459 16087 38,81
27 14806 9637 34,91
Wood Low Delay B 10,4 39,8 14,24 30,90
32 10657 7471 29,30
37 8514 6592 22,57
22 25844 17119 33,76
27 18557 12367 33,36
Wood Random Access 10,4 39,8 16,85 30,96
32 17629 10596 39,89
37 11719 9749 16,81

Tabela 6.8 Resultados das mtricas BD-Rate e BR-PSNR para a parametrizao Random Access.
Vdeo BD-Rate(%) BD-PSNRdB
Kimono -0,05 0,015
Library 0,55 -0,01
Wood 1,07 -0,036
Fountains 2,6 -0.08
Construction Field 3,1 -0,04
Campfire 0,90 -0,01
Tree Shade 3,04 -0,093
Mdia 1,6 -0,036
Tabela 6.9 Resultados das mtricas BD-Rate e BD-PSNR para a parametrizao Low Delay B.
Vdeo BD-Rate(%) BD-PSNR(dB)
Kimono
Library 0,160 0,019
Wood -0,67 0,01
Fountains 0,8 -0,02
Construction Field -0,95 -0,037
Tall Buildings 1,60 -0,041
Campfire 0,47 -0,008
Tree Shade 1,5 -0,043
Mdia 0,55 -0,017
C APTULO 7

Concluso

Os trabalhos revisados geralmente usam classificadores simples ou uma combinao


desses, nos quais o desempenho de classificao, que resultam em aprimoramentos na eficin-
cia de codificao e na reduo da complexidade computacional, no podem ser melhorados
ou transformados em tempo de execuo. Dessa forma, esses classificadores podem apresen-
tar dificuldades de se adaptar a sequncias de vdeo com mudanas de caractersticas espao-
temporais.
Aprimoramento na eficincia de compresso podem implicar em aumento do custo com-
putacional, que j bem elevado, principalmente quando aplicado codificao de vdeos UHD.
Nessa tese, um eficiente algoritmo para definir a diviso de uma unidade de codificao foi pro-
posto para reduzir a complexidade computacional. A determinao da diviso da unidade de
codificao foi inferida por um modelo criado em uma abordagem de aprendizagem autom-
tica em tempo real que foi integrada no cdigo do codificador de referncia. Para esse fim, foi
integrado o algoritmo de classificao Pegasos. A determinao dos atributos de treinamentos
tambm foi determinada por um processo automtico de seleo. Resultados experimentais
demonstraram que o algoritmo proposto reduz significantemente o tempo de codificao com
uma pequena perda de eficincia de compresso, principalmente considerando o fato de ser
um modelo gerado em tempo real. Os resultados foram competitivos com o da maioria dos
artigos revisados. Comparativamente, poucos trabalhos utilizam essa abordagem, optando por
treinamentos externos e uma posterior implantao do modelo gerado no cdigo. Com isso,
conclui-se que a esta tese atingiu os objetivos propostos, que foram:

Propor um algoritmo de reduo em tempo real da complexidade computacional da codi-


ficador HEVC usando vdeos em UHD.

Manter ou minimizar as perdas de qualidade dos vdeos em relao ao codificador HM


16.7.

Atingir redues da complexidade computacional em patamares compatveis com as mais


recentes publicaes. O algoritmo desta tese supera diversos resultados revisados. A Ta-
Concluso 84

bela 7.1 elenca os principais resultados em relao com os resultados desta tese. poss-
vel observar que o codificador possui resultados inferiores apenas do que as solues de
tcnicas combinadas. Existem mais duas etapas de classificao usando buscas exaustivas
da mesma forma que a utilizada para determinar o tipo de particionamento da unidade de
codificao. O mesmo algoritmo implementado nesta tese pode ser usado nessas outras
duas etapas, melhorando os resultados de reduo da complexidade computacional.

Viabizar o uso de tcnicas de aprendizagem automtica de propsito genrico para dimi-


nuir a interfrencia do usurio de sistemas de codificao de vdeo em tarefas de otimiza-
o.

Tabela 7.1 Comparaes com os principais resultados da literatura revisada.


Trabalho BD-Rate(%) T(%) Comentrios
Ivan Zupancic, 09/2015 2,2 72 Combinao de 3 tcnicas
Jinlei Zhang, 08/2015 4,1 77 Combinao de 3 tcnicas
G. Corra, 04/2015 1,35 63 Combinao de 3 rvores de classificao
Yun Zhang, 07/2015 1,98 51,5 Combina 2 classificadores SVM
Codificador 1,7 54,73 Apenas uma tcnica

7.1 Consideraes Finais


A rea de estudo abordada nesta tese promissora e desafiante. A codificao de v-
deo digital tem recebido ateno especial, e com isso altos investimentos, devido crescente
tendncia da utilizao de servios de vdeos em resolues elevadas atravs da Internet. O pri-
meiro projeto de pesquisa teve como objetivo o aprofundamento na arquitetura do codificador e
a implementao de um mecanismo de otimizao por meios da configurao dos parmetros da
estimao de movimento, em tempo de execuo, em funo da PSNR medida em cada quadro
codificado. No segundo projeto de pesquisa foi implantado, dentro do codificador H.264, uma
etapa de filtragem usando o gradiente de Sobel. O resultado dessa etapa de filtragem gerava
uma mtrica da complexidade espacial do trecho da imagem. Com essa informao era poss-
vel selecionar o algoritmo de busca mais adequado para cada situao. Essa tcnica foi usada
em vdeos 3D e observou-se um melhor desempenho para os quadros referentes a informa-
o de profundidade. E, por ltimo, no terceiro projeto foi realizada uma detalhada reviso da
arquitetura do codificador de referncia do padro HEVC e uma avaliao experimental do de-
sempenho do mesmo medida por mtricas objetivas que comprovadamente mapeavam algumas
caractersticas da viso humana. Foi feito um comparativo com o desempenho do H.264 usando
a mesma mtrica, com a finalidade de aferir a melhor capacidade do HEVC em enderear essas
caractersticas.
Durante a fase de reviso bibliogrfica, a principal fonte de trabalhos utilizadas para a
caracterizao do estado da arte sobre tcnicas de otimizao do processo de codificao de
vdeo HEVC foi o peridico Transactions of Circuits and Systems for Video Technologies do
Concluso 85

IEEE. Foi observado que os membros do comit JCTVC, de forma geral, utilizam esse peridico
para publicao dos avanos na rea.
As etapas de estudo e implementaes no cdigo fonte tiveram um nvel de complexi-
dade elevado em funo do tamanho do sistema. O codificador de referncia HM 16.7 possui
153 arquivos contendo 55430 linhas de cdigo-fonte C/C++. Isso implica em uma alta probabi-
lidade que qualquer modificao possa afetar outras partes do cdigo. Para isso, foi necessria
uma avaliao detalhada da arquitetura antes de implantar o algoritmo de aprendizagem au-
tomtica proposto. Resumidamente, o processo de produo desta tese englobou as seguintes
etapas:

Reviso da fundamentao terica sobre o padro HEVC.

Estudo dos principais algoritmos de aprendizagem de mquina e suas principais aplica-


es.

Estudo sobre as mtricas de avaliao de qualidade objetiva

Reviso do estado da arte sobre otimizao do processo de codificao HEVC. Essa re-
viso foi focada nos trabalhos publicados no peridico IEEE TCSVT (Transactions of
Circuits and Systems for Video Technology).

Simulaes e testes com bibliotecas de aprendizagem automtica.

Integrao da biblioteca no sistema de compilao do cdigo de referncia HM 16.7.

Estudo da arquitetura do cdigo fonte do HM 16.7 para receber as modificaes propos-


tas.

Implementao da etapa de treinamento e da etapa de predio.

Sincronizao do sistema de controle de treinamento e predio de acordo com a posio


do quadro dentro de um GOP.

Depurao e otimizao.

Planejamento das simulaes.

7.2 Propostas de Trabalhos Futuros


Durante o desenvolvimento dessa tese de doutorado vrias oportunidades de pesquisa se
mostraram viveis e podem gerar resultados e contribuies significativas para rea de pesquisa
de codificao de vdeo. So elas:

Avaliao da parametrizao do kernel utilizado pelo algoritmo Pegasus SVM, variando


os parmetros C e para reduzir a taxa de erro de classificao.
Concluso 86

Aumentar o tempo de treinamento para seleo de atributos, aumentando a quantidade de


vdeos utilizados.

Implementao de esquema de predio do tipo de particionamento intra-quadros utili-


zado. Nesse trabalho apenas o processo Inter foi explorado.

Usar o algoritmo Pegasos para determinar o resultado do processo de estimao de movi-


mento.

Combinar as tcnicas mencionadas acima em um mesmo codificador.

Implementao de um sistema de simulao automatizado seguindo as recomendaes do


documento JCTVC L.1100.

Implantao do algoritmo de deteco de mudana de cena para ativao da etapa de


treinamento.

Realizar as simulaes usando os vdeos de outras resolues recomendados no JCTVC


L.1100.

Realizar as simulaes com ESD desabilitado.


Concluso 87

7.3 Produo Bibliogrfica


1. ALENCAR, M. S. ; OLIVEIRA, J. F. F. REGIS, C. D. M. Televiso em Trs Dimen-
ses. Captulo em TV Digital. 2 ed. So Paulo: Editora rica Ltda., 2012, v. 1.
http://www.erica.com.br/

2. RTIC Revista de Tecnologia da Informao e Comunicao. Padro HEVC - Novas


Tecnologias para Aplicaes de Elevadas Taxas de Compresso de Vdeo Jean F. F. de
Oliveira, Marcelo S. de Alencar DOI: http://dx.doi.org/10.12721/2237-5112.v04n02a08

3. Performance Evaluation of the PWSSIM Metric for HEVC and H.264. Journal of Procedia
Computer Science by ELSEVIER (ISSN:1877-0509) Jean Felipe F. De Oliviera, Carlos
Danilo M. Regis, Marcelo Sampaio de Alencar. Aceito em maro 2015.

4. An Online Learning Early Skip Decision Method for the HEVC Inter Process using the
SVM-Based Pegasos Algorithm. Oliveira, Jean Felipe; Alencar, Marcelo. IET Eletronics
Letters, Volume 52, Edio 14, p. 1227-1229. Aceito para publicao em 07/07/2016.
Referncias Bibliogrficas

AHN, S.; LEE, B.; KIM, M. A Novel Fast CU Encoding Scheme Based on Spatiotemporal
Encoding Parameters for HEVC Inter Coding. IEEE Transactions on Circuits and Systems for
Video Technology, v. 25, n. 3, p. 422435, March 2015. ISSN 1051-8215.

ALENCAR, M. S. Televiso Digital. So Paulo: Editora rica, 2007.

ALVAREZ-MESA, M. et al. Parallel Video Decoding in the Emerging Standard. In: ICASSP.
[S.l.: s.n.], 2012. p. 15451548. ISBN 9781467300469.

BARJATYA, A.; MEMBER, S. Block Matching Algorithms For Motion Estimation. Search,
p. 16, 2004.

BARONCINI J. OHM, R. Report on Preliminary Subjective Testing of HEVC Compression Ca-


pability. ITU-T/ISO/IEC Joint Collaborative Team on Video Coding document JCTVC-H1004,,
San Jose, CA, 2012.

BJONTEGAARD, G. Calculation of Average PSNR Differences Between RD-curves. 2001.

BOSSEN, F. Common Test Conditions and Software Reference Configurations, document


JCTVC-L1100. JCT-VC, February, 2012.

BRACAMONTE, J. et al. A Low Complexity Change Detection Algorithm. Change, p. 712,


2005.

CHEN, K.-C. et al. Applying Automatic Kernel Parameter Selection Method to the Full
Bandwidth RBF Kernel Function for Hyperspectral Image Classification. In: IEEE Interna-
tional Geoscience and Remote Sensing Symposium (IGARSS). [S.l.: s.n.], 2014. p. 34423445.

CISCO. Cisco Visual Networking Index: Forecast and Methodology, 2015-2020. [S.l.], 2015.

CORPORATION, M.; WAY. Recent Developments in Standardization of High Efficiency Video


Coding ( HEVC ). v. 7798, n. 7798, 2010.

CORREA, G. et al. Fast HEVC Encoding Decisions Using Data Mining. IEEE Transactions
on Circuits and Systems for Video Technology, v. 25, n. 4, p. 660673, April 2015. ISSN 1051-
8215.
89

CORREA, G. et al. Classification-based Early Termination for Coding Tree Structure Deci-
sion in HEVC. In: 21st IEEE International Conference on Electronics, Circuits and Systems
(ICECS). [S.l.: s.n.], 2014. p. 239242.

DENG, X. et al. Complexity Control of HEVC Based on Region-of-Interest Attention Model.


In: Visual Communications and Image Processing Conference, 2014 IEEE. [S.l.: s.n.], 2014. p.
225228.

FANG, X. et al. Fast HEVC Intra Coding Unit Size Decision Based on an Improved Bayesian
Classification Framework. In: Picture Coding Symposium (PCS). [S.l.: s.n.], 2013. p. 273276.

FARIAS, C. Q. Visual Quality Estimation Using Objective Metrics. p. 764770, 2011.

FFMPEG, A complete, cross-platform solution to record, convert and stream audio and video.
Https://www.ffmpeg.org/. Accessed: 2015-11-30.

FURNARI, A. et al. Generalized Sobel Filters for Gradient Estimation of Distorted Images. In:
IEEE International Conference on Image Processing (ICIP). [S.l.: s.n.], 2015. p. 32503254.

GROUP, M. S. Implementation of Fast Motion Estimation Algorithms and Comparison with


Full Search Method in H . 264. Journal of Computer Science, v. 8, n. 3, p. 139143, 2008.

HSIEH, P.-J. et al. An Automatic Kernel Parameter Selection Method for Kernel Nonparametric
Weighted Feature Extraction With the RBF Kernel for Hyperspectral Image Classification. In:
IEEE International Geoscience and Remote Sensing Symposium (IGARSS). [S.l.: s.n.], 2015. p.
17061709.

HU, Q. et al. Analysis and Optimization of x265 encoder. In: Visual Communications and
Image Processing Conference, 2014 IEEE. [S.l.: s.n.], 2014. p. 502505.

JIA, Y.; LIN, W.; KASSIM, A. Estimating Just-Noticeable Distortion for Video. IEEE Transac-
tions on Circuits and Systems for Video Technology, v. 16, n. 7, p. 820829, July 2006. ISSN
1051-8215.

KAMOLRAT, B. et al. 3D Motion Estimation for Depth Image


Coding in 3D Video Coding. 2009. 824830 p. Disponvel em:
<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5174461>.

KIM, J.; BAE, S.-H.; KIM, M. An HEVC-Compliant Perceptual Video Coding Scheme Based
on JND Models for Variable Block-Sized Transform Kernels. IEEE Transactions on Circuits
and Systems for Video Technology, v. 25, n. 11, p. 17861800, Nov 2015. ISSN 1051-8215.

KORHONEN, J.; REITER, U.; UKHANOVA, A. Frame rate versus spatial quality: Which
video characteristics do matter? In: Visual Communications and Image Processing (VCIP),
2013. [S.l.: s.n.], 2013. p. 16.
90

KOUIROUKIDIS, N.; EVANGELIDIS, G. The Effects of Dimensionality Curse in High Di-


mensional kNN Search. In: 15th Panhellenic Conference on Informatics (PCI). [S.l.: s.n.],
2011. p. 4145.

LAMPERT, C. H. Machine Learning for Video Compression: Macroblock Mode Decision. In:
18th International Conference on Pattern Recognition, 2006. ICPR 2006. [S.l.: s.n.], 2006. v. 1,
p. 936940. ISSN 1051-4651.

LANGFORD, J.; LI, L.; ZHANG, T. Sparse Online Learning via Truncated Gradient. J.
Mach. Learn. Res., JMLR.org, v. 10, p. 777801, jun. 2009. ISSN 1532-4435. Disponvel em:
<http://dl.acm.org/citation.cfm?id=1577069.1577097>.

LEE, H. et al. Early Skip Mode Decision for HEVC Encoder With Emphasis on Coding Quality.
IEEE Transactions on Broadcasting, v. 61, n. 3, p. 388397, Sept 2015. ISSN 0018-9316.

LEE, J.-H. et al. Fast Intra Mode Decision Algorithm Based on Local Binary Patterns in High
Efficiency Video Coding (HEVC). In: IEEE International Conference on Consumer Electronics
(ICCE). [S.l.: s.n.], 2015. p. 270272.

LI, X. et al. Context-Adaptive Fast Motion Estimation of HEVC. In: IEEE International Sym-
posium on Circuits and Systems (ISCAS). [S.l.: s.n.], 2015. p. 27842787.

LIU, T. et al. Perceptual Quality Measurement of Video Frames Affected by both Packet Losses
and Coding Artifacts Polytechnic Institute of New York University Thomson Corporate Rese-
arch Brooklyn , NY Princeton , NJ. New York.

MAHMOUD, H. et al. A New Efficient Block-Matching Algorithm for Motion Es-


timation. The Journal of VLSI Signal ProcessingSystems for Signal Image and Vi-
deo Technology, v. 42, n. 1, p. 2133, 2006. ISSN 09225773. Disponvel em:
<http://www.springerlink.com/index/10.1007/s11265-005-4160-2>.

MALLIKARACHCHI, T.; FERNANDO, A.; ARACHCHI, H. Effective Coding Unit Size De-
cision Based on Motion Homogeneity Classification for HEVC Inter Prediction. In: IEEE In-
ternational Conference on Image Processing (ICIP). [S.l.: s.n.], 2014. p. 36913695.

MENON, A. K. Large-Scale Support Vector Machines: Algorithms and Theory. 2009.

NACCARI, M. et al. HEVC Coding Optimisation for Ultra High Definition Television Services.
In: Picture Coding Symposium (PCS), 2015. [S.l.: s.n.], 2015. p. 2024.

NALLURI, P.; ALVES, L.; NAVARRO, A. Improvements to TZ search motion estimation algo-
rithm for multiview video coding. In: International Conference on Systems, Signals and Image
Processing - IWSSIP. [S.l.: s.n.], 2012. v. 19, p. 388391.
91

NIGHTINGALE, J.; WANG, Q.; GRECOS, C. HEVStream: A Framework for Streaming and
Evaluation of High Efficiency Video Coding (HEVC) Content in Loss-prone Networks. IEEE
Transaction of Consumer Electronics, v. 58, n. 2, p. 404412, 2012.

OHM, J.-r.; SULLIVAN, G. J. High Efficiency Video Coding: The Next Frontier in Video
Compression. n. December 2012, p. 152158, 2013.

OHM, J.-r. et al. Comparison of the Coding Efficiency of Video Coding Standards Including
High Efficiency Video Coding ( HEVC ). IEEE Transactionsof Circuits and Systems for Video
Technologies., v. 22, n. 12, p. 16691684, 2012.

OHM, X. L.; WIEN, M.; JENS-RAINER. Rate-Complexity-Distorcion Evaluation for Hybrid


Video Coding. In: Multimedia and Expo (ICME), IEEE International Conference on. Suntec
City: [s.n.], 2010. p. 685690. ISBN 9781424474936.

PAN, Z. et al. Early MERGE Mode Decision Based on Motion Estimation and Hierarchical
Depth Correlation for HEVC. IEEE Transactions on Broadcasting, v. 60, n. 2, p. 405412, June
2014. ISSN 0018-9316.

PAN, Z. et al. Early termination for TZSearch in HEVC Motion Estimation. In: IEEE Interna-
tional Conference on Acoustics, Speech and Signal Processing (ICASSP). [S.l.: s.n.], 2013. p.
13891393. ISSN 1520-6149.

PODDER, P.; PAUL, M.; MURSHED, M. Efficient Coding Strategy for HEVC Performance
Improvement by Exploiting Motion Features. In: IEEE International Conference on Acoustics,
Speech and Signal Processing (ICASSP). [S.l.: s.n.], 2015. p. 14141418.

POURAZAD, B. M. T. et al. HEVC : The New Gold Standard for Video Compres-
sion. Consumer Electronics Magazine, IEEE, v. 1, n. 3, p. 3646, 2012. Disponvel em:
<http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6222536>.

REGIS, C. D. de M. et al. Design of Objective Video Quality Metrics Using Spatial and Tempo-
ral Informations. IEEE Latin America Transactions, v. 13, n. 3, p. 790795, March 2015. ISSN
1548-0992.

REGIS, C. D. M. Mtrica de Avaliao Objetiva de Vdeo Usando a Informao Espacial ,


a Temporal e a Disparidade. Tese (Doutorado) Federal University of Campina Grande
UFCG, 2013.

SEGALL, A. et al. Report of Results of the Joint Call for Proposals on Scalable High Efficiency
Video Coding (SHVC). Shanghai, China: ISO/IEC JTC1/SC29/WG11.

SESHADRINATHAN, K. et al. Study of Subjective and Objective Quality Assessment of Vi-


deo. IEEE Transactions on Image Processing, v. 19, n. 6, p. 14271441, June 2010. ISSN
1057-7149.
92

SHALEV-SHWARTZ, S.; SINGER, Y.; SREBRO, N. Pegasos: Primal Estimated sub-GrAdient


SOlver for SVM. In: Proceedings of the 24th International Conference on Machine Learning.
New York, NY, USA: ACM, 2007. (ICML 07), p. 807814. ISBN 978-1-59593-793-3. Dispo-
nvel em: <http://doi.acm.org/10.1145/1273496.1273598>.

SHANNON, C. E. A Mathematical Theory of Communication. The Bell System Technical Jour-


nal, v. 27, n. 3, p. 379423, July 1948. ISSN 0005-8580.

SHEN, L.; ZHANG, Z.; LIU, Z. Adaptive Inter-Mode Decision for HEVC Jointly Utilizing
Inter-Level and Spatiotemporal Correlations. IEEE Transactions on Circuits and Systems for
Video Technology, v. 24, n. 10, p. 17091722, Oct 2014. ISSN 1051-8215.

STOCKHAMMER, T.; HANNUKSELA, M. M.; WIEGAND, T. H.264/AVC in wireless en-


vironments. Circuits and Systems for Video Technology, IEEE Transactions on, v. 13, n. 7, p.
657 673, Julho 2003.

SUGAWARA, M.; CHOI, S.-Y.; WOOD, D. Ultra-High-Definition Television (Rec. ITU-R


BT.2020): A Generational Leap in the Evolution of Television [Standards in a Nutshell]. IEEE
Signal Processing Magazine, v. 31, n. 3, p. 170174, May 2014. ISSN 1053-5888.

SULLIVAN, G. J. et al. Overview of the High Efficiency Video Coding. IEEE Trans. Circuits
Syst. Video Techn, v. 22, n. 12, p. 16491668, 2012.

SZCZERBA, K. et al. Fast Compressed Domain Motion Detection in H.264 Video


Streams for Video Surveillance Applications. 2009 Sixth IEEE International Conference
on Advanced Video and Signal Based Surveillance, p. 478483, 2009. Disponvel em:
<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5279618>.

SZE MADHUKAR BUDAGAVI, G. J. S. V. High Efficiency Video Coding (HEVC) Algorithms


and Architectures. [S.l.]: Springer International Publishing, 2014.

SZE MADHUKAR BUDAGAVI, G. J. S. V. High Efficiency Video Coding (HEVC) Algorithms


and Architectures. [S.l.]: Springer International Publishing, 2014.

TAN, T. et al. Video Quality Evaluation Methodology and Verification Testing of HEVC Com-
pression Performance. IEEE Transactions on Circuits and Systems for Video Technology, PP,
n. 99, 2015. ISSN 1051-8215.

TOHIDYPOUR, H.; POURAZAD, M.; NASIOPOULOS, P. Online Learning-based Comple-


xity Reduction Scheme for 3D-HEVC. IEEE Transactions on Circuits and Systems for Video
Technology, PP, n. 99, p. 11, 2015. ISSN 1051-8215.

VAN, L. P. et al. Fast Transrating for High Efficiency Video Coding Based on Machine Lear-
ning. In: 20th IEEE International Conference on Image Processing (ICIP). [S.l.: s.n.], 2013. p.
15731577.
93

VANNE, J. et al. Comparative Rate-Distortion-Complexity Analysis of HEVC and AVC Video


Codecs. Circuits and Systems for Video Technology, IEEE Transactions on, v. 22, n. 12, p.
18851898, 2012.

VIITANEN, M.; VANNE, J.; HMLINEN, T. D. Complexity Analysis of Next-Generation


HEVC Decoder. p. 2023, 2013.

WANG, C.-C. et al. An Effective TU Size Decision Method for Fast HEVC Encoders. In: In-
ternational Symposium on Computer Consumer and Control (IS3C). [S.l.: s.n.], 2014. p. 1195
1198.

WANG, S. et al. Perceptual Video Coding Based on SSIM-Inspired Divisive Normalization.


IEEE Transactions on Image Processing, v. 22, n. 4, p. 14181429, 2013. Disponvel em:
<http://dblp.uni-trier.de/db/journals/tip/tip22.html>.

WIEGAND, P. H. et al. Block Merging for Quadtree-Based Partitioning in HEVC. IEEE Trans.
Circuits Syst. Video Techn., v. 22, n. 12, p. 17201731, 2012.

WIEGAND, T. et al. Overview of the H.264/AVC Video Coding Standard. IEEE Transactions
on Circuits and Systems for Video Technology, v. 13, n. 7, p. 560576, July 2003. ISSN 1051-
8215.

WITTEN, I. H.; FRANK, E. Data Mining: Practical Machine Learning Tools and Techniques.
2nd. ed. San Francisco: Morgan Kaufmann, 2005.

WOLFF, T. et al. H.264 Coding Artifacts and Their Relation to Perceived Annoyance. Signal
Processing, n. Eusipco, p. 15, 2006.

XIONG, J. et al. Fast and Efficient Inter CU Decision for High Efficiency Video Coding. In:
IEEE International Conference on Image Processing (ICIP). [S.l.: s.n.], 2014. p. 37153719.

XIONG, J. et al. A Fast HEVC Inter CU Selection Method Based on Pyramid Motion Diver-
gence. IEEE Transactions on Multimedia, v. 16, n. 2, p. 559564, Feb 2014. ISSN 1520-9210.

YASAKETHU, S. L. P. et al. Analyzing Perceptual Attributes of 3D Video. v. 55, n. 2, p. 864


872, 2009.

YU, H.; WINKLER, S. Image Complexity and Spatial Information. In: Fifth International
Workshop on Quality of Multimedia Experience (QoMEX). [S.l.: s.n.], 2013. p. 1217.

YU, T.; ZHANG, Y.; COSMAN, P. Classification Based Fast Mode Decision for Stereo Video
Coding. In: 20th IEEE International Conference on Image Processing (ICIP). [S.l.: s.n.], 2013.
p. 17241728.
94

ZENG ABDUL REHMAN, J. W. K.; WANG, Z.; . From H.264 to HEVC: Coding Gaing Pre-
dicted by Objective Video Quality Assessment Models. 2013 International Workshop on Video
Processing and Quality Metrics for Consumer Electronics ( VPQM2013 ), 2013.

ZENG, H.; MA, K.-K.; CAI, C. Fast Mode Decision for Multiview Video Coding Using Mode
Correlation. IEEE Transactions on Circuits and Systems for Video Technology, v. 21, n. 11, p.
16591666, Nov 2011. ISSN 1051-8215.

ZHANG, J.; LI, B.; LI, H. An Efficient Fast Mode Decision Method for Inter Prediction in
HEVC. IEEE Transactions on Circuits and Systems for Video Technology, PP, n. 99, p. 11,
2015. ISSN 1051-8215.

ZHANG, Y. et al. Machine Learning-Based Coding Unit Depth Decisions for Flexible Com-
plexity Allocation in High Efficiency Video Coding. IEEE Transactions on Image Processing,
v. 24, n. 7, p. 22252238, July 2015. ISSN 1057-7149.

ZUPANCIC, I.; BLASI, S.; IZQUIERDO, E. Inter Prediction Optimisations for Fast HEVC
Encoding of Ultra High Definition Content. In: International Conference on Systems, Signals
and Image Processing (IWSSIP). [S.l.: s.n.], 2015. p. 8588.

ZUPANCIC, I.; BLASI, S.; IZQUIERDO, E. Multiple Early Termination for Fast HEVC Co-
ding of UHD Content. In: IEEE International Conference on Acoustics, Speech and Signal
Processing (ICASSP). [S.l.: s.n.], 2015. p. 14191423.

Você também pode gostar