Sobre Produtos Suporte Blog

Como validar streams HEVC com Zond 265

image

 

  By Olga Krovyakova - modified October 9, 2023, created April 2, 2019.

O que verificar

Como verificar por Zond 265

Guia Fluxo de bits

Guia Erros

Análise do tamanho do buffer de CEC

Gerando relatórios via interface de linha de comando

Referências

 

EXPERIMENTE ZOND 265 GRATUITAMENTE

 

button

O que verificar

Ao desenvolver, ajustar e testar componentes de codec de codificação de vídeo de alta eficiência (HEVC), os pesquisadores se deparam com a tarefa de validação de fluxo de vídeo. Para reproduzir corretamente um arquivo ou stream em qualquer reprodutor, não basta apenas verificar se ele está corretamente decodificado por uma ferramenta especial de referência. Além disso, você precisa determinar se o fluxo de vídeo testado está em conformidade com a especificação HEVC [1].

Para HEVC, existe um documento ISO especial que descreve como verificar streams de vídeo e decodificadores:

Tecnologia da informação - Codificação de alta eficiência e entrega de mídia em ambientes heterogêneos - Parte 5: Teste de conformidade HEVC e software de referência [2].

O processo de validação pode ser dividido em várias etapas. Um resultado de teste negativo de uma das condições resultará em erro. Os tipos de condição podem ser divididos em três grupos:

  1. restrições descritas na especificação HEVC
  2. para decodificar o fluxo pelo utilitário de HEVC Test Model (HM) projeto [3], para escrever todos os avisos
  3. admissibilidade e alteração dos parâmetros básicos do vídeo: resolução de quadros e taxa de quadros

As restrições descritas na especificação HEVC são as seguintes:

–  valores máximos e mínimos dos parâmetros da unidade Network Abstraction Layer (NAL)
–  compatibilidade de cada parâmetro com outros
–  validade da ordem das unidades NAL, validade da estrutura do fluxo
–  restrições de nível e perfil especificados
–  disponibilidade de parâmetros de decodificação de uma sequência de vídeo - Conjunto de parâmetros de vídeo (VPS), Conjunto de parâmetros de sequência (SPS), Conjunto de parâmetros de imagem (PPS) e quadros necessários para reconstrução
–  parâmetros do decodificador de referência hipotético (HRD), afetando a reprodução do fluxo em tempo real

Como verificar por Zond 265

Por exemplo, o arquivo «tractor_1920x1080p_25fps.yuv» [5] é codificado pelo compressor HM e, em seguida, em um arquivo compactado, alguns parâmetros das unidades NAL são ajustados em um editor HEX para cobrir parte dos erros potenciais com a ajuda do destaque recurso do Zond 265. Em seguida, o resultado é validado. É impossível modificar os parâmetros do arquivo para que todas as restrições sejam violadas. Portanto, apenas algumas restrições são selecionadas.

Fluxo de bits

É melhor usar o conteúdo da guia Bitstream para uma análise detalhada dos erros encontrados. Depois que um arquivo for aberto, todas as unidades NAL com todos os parâmetros deverão ser listadas na guia Bitstream. Ao decodificar, Zond 265

1) verifica as restrições descritas na especificação;
2) coleta todos os avisos que surgiram no utilitário de decodificação HM.

Se algo der errado, uma notificação aparecerá perto da unidade NAL correspondente. A notificação inclui o nome da unidade NAL, seu deslocamento no fluxo, o deslocamento de bit do parâmetro’onde um erro é encontrado e um link para a página de especificações (ela será aberta em uma nova janela do navegador) onde você pode encontrar os detalhes.

Você pode expandir uma após a outra uma série de listas de erros da Fatia B (quadro 0), SPS, Fatia B (quadro 4) clicando no ícone vermelho com o ponto de exclamação.

A Figura 1 mostra a lista de todos os erros encontrados no SPS.

image

Figura 1. Janela com lista de erros da aba Bitstream

Você pode então expandir a lista SPS e explorar valores e erros de parâmetros (figura 2).

image

Figura 2. Mensagem de erro para um único parâmetro do SPS

O resultado da verificação dos parâmetros SPS é descrito abaixo.

Mensagem Descrição
O valor de sps_max_sub_layers_minus1 deve estar no intervalo de 0 a 6, inclusive. É igual a 7 É uma restrição da especificação. O tipo está verificando o valor máximo
Quando vps_temporal_id_nesting_flag for igual a 1, sps_temporal_id_nesting_flag deverá ser igual a 1 É uma restrição da especificação. O tipo está verificando a compatibilidade de cada parâmetro com outros
O valor de pic_width_in_luma_samples deve ser menor ou igual a Sqrt( MaxLumaPs * 8 ), especificado para general_level_idc. Pela especificação, o valor de pic_width_in_luma_samples não deve ser maior que 1402 para o nível 2.1 É uma restrição da especificação. O tipo está verificando as restrições especificadas para determinado perfil e nível

Depois você expande uma fatia do primeiro quadro (figura 3).

image

Figura 3. Lista de erros para uma fatia do quadro 0

Erros de inacessibilidade do parâmetro de decodificação são apresentados em uma lista de erros do primeiro quadro.

Mensagem Descrição
Não há nenhum VPS ativo disponível
Não há SPS ativo disponível
É uma restrição da especificação. O tipo está verificando a acessibilidade dos parâmetros de decodificação

Você expande uma lista de erros do quadro 4 (figura 4).

image

Figura 5. Lista de todos os erros de um arquivo com menu de contexto

O resultado da validação do quadro 4 é descrito abaixo.

Mensagem Descrição
A imagem de referência de curto prazo com POC = 2 foi perdida ou não foi decodificada corretamente É uma restrição da especificação. O tipo está verificando a disponibilidade de quadros necessários para reconstrução
 

Guia Erros

É melhor usar o conteúdo da guia Erros quando for necessário encontrar todos os erros em um arquivo e classificá-los por tipo. As mensagens de erro são acumuladas tanto para o quadro atual quanto para todo o fluxo em listas na aba (figura 5).

image

Figura 6. Gráfico de plenitude da CEC desenhado, com base nos dados de HRD disponíveis nas mensagens SEI

image

Figura 7. Gráfico de plenitude da CEC desenhado, com base em dados coletados manualmente

Análise do tamanho do buffer de CEC

Os gráficos de plenitude do Coded Picture Buffer (CPB) disponíveis no Hypothetical Reference Decoder (HRD) são necessários para identificar problemas (por exemplo, atrasos) ao reproduzir fluxos de vídeo em uma rede com uma largura de banda pequena. Como fonte de informação, os dados registrados em mensagens de informação suplementar de aprimoramento (SEI) (atraso inicial, taxa de bits, etc.) podem ser usados, ou esses dados podem ser definidos manualmente. As áreas de overflow ou underflow (destacadas em vermelho) indicam problema no intervalo (figura 6, figura 7). Em caso de problemas na elaboração dos gráficos, a mensagem de erro correspondente será exibida nas abas Bitstream e Erros.

image

Figura 8. Relatório de erros importado para planilhas do Google

Gerando relatórios via interface de linha de comando


A geração de relatórios via interface de linha de comando é útil quando um fluxo de vídeo deve ser validado automaticamente. Para gerar um relatório você deve iniciar o Zond 265 com os parâmetros abaixo.

Parâmetro Descrição
-relatório Afirma que o Zond 265 deve funcionar no modo de geração de relatórios
t = erros Define o tipo de relatório
o= Define o caminho do arquivo CSV de saída. É igual a “out.csv” por padrão

Por exemplo, para analisar o arquivo «tractor.265» em busca de erros e salvá-los no arquivo «tractor-errors.csv», você precisa executar o comando:

zond265.exe trator.265 -relatório t = erros o =”trator-errors.csv”

Como resultado, você obtém um arquivo CSV que pode ser importado para o software processador de tabelas. A Figura 8 mostra o arquivo “tractor-errors.csv” importado para o Google Spreadsheets.

Referências

1. Especificação HEVC – http://www.itu.int/rec/T-REC-H.265
2. «Tecnologia da informação - Codificação de alta eficiência e entrega de mídia em ambiente heterogêneo - Parte 5: Teste de conformidade HEVC e software de referência»  – http://mpeg.chiariglione.org/standards/mpeg-h/hevc-conformance- teste/rascunho de trabalho-conformidade com hevc
3. Página inicial do projeto HM – https://hevc.hhi.fraunhofer.de/
4. Projeto residencial Zond 265 – https://www.solveigmm.com/en/products/zond/
5. URL da sequência de teste – https://media.xiph.org/ldv/pub/test_sequences/1080p/tractor.yuv

 

 

EXPERIMENTE ZOND 265 GRATUITAMENTE

 

  • https://www.solveigmm.com/en/howto/netflix-vmaf-how-to-measure-video-quality-with-vmaf-in-zond-265/
  • https://www.solveigmm.com/en/howto/zond-265-tutorial/

 

 About the author

imageOlga Krovyakova is the Technical Support Manager in Solveig Multimedia since 2010.

She is the author of many text and video guidelines of company's products: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ and TriMP4.

She works with programs every day and therefore knows very well how they work. Сontact Olga via support@solveigmm.com if you have any questions. She will gladly assist you!