Elecard StreamEye Tools представляет собой набор инструментальных средств созданных специально для медиа-профессионалов и любителей, который позволяет анализировать качество видео, устранять проблемы в кодированном потоке для дальнейшей оптимизации видео компрессии, гарантируя соответствие видео стандартам.
Рис. 2.6.1 Результат микширования.
Рис. 2.6.2 Изменения на кадре.
На рисунке 2.6.2 показана разница между кадром на входе кодера микшера и кадром на выходе кодера. Синие точки означают, что данные пиксели были изменены (потеря качества). Как видно, потери в основном сконцентрированы в правом нижнем углу – месте, где было наложено новое изображение. Остальная область кадра имеет намного меньше искажений, что позволяет судить о качественной кодировке неизмененных участков кадра. Наличие редкие синих точек вызвано на неизмененной области тем, что дискретное косинусное преобразование вносит некоторое искажение.
По результатам тестирования оптимизированной системы микширования можно сделать вывод об успешности оптимизации. Удалось заметно уменьшить требования к аппаратуре, предъявляемые системой, что позволило запускать ее на более дешевых аппаратных платформах. Были заметно снижены добавляемые шумы при повторном кодировании, что положительно сказалось на качестве выходного изображения. Повсеместный переход на цифровое телевидение может вызвать спрос на подобные системы в ближайшем будущем. bcредъявляемые системой, что позволило запускать ее на более дешевых аппаратны
В связи с большим объемом исходного кода (декодер 10 000 строк кода, кодер 13 000 строк кода) приводятся только заголовочные файлы библиотек декодера и кодера, а также тестовое консольное приложение, реализующее быстрое микширование.
1. vsm2_stypes.h – Переопределение стандартных типов для упрощения портации кода на другие системы.
/**
* @file vsm2_stypes.h
* Standart types redefinition for simple code porting.
*
* - Copyright (c) 2002-2006, Vanguard Software Solutions, Inc.
* - Project: MPEG2 video codecs
**/
#ifndef _VSM2_STYPES_H
#define _VSM2_STYPES_H
typedef unsigned char t_ui8;
typedef signed char t_si8;
typedef unsigned short t_ui16;
typedef signed short t_si16;
typedef unsigned int t_ui32;
typedef signed int t_si32;
typedef unsigned int t_bool;
#endif // !_VSM2_STYPES_H
2. vsm2.h – Определение структур MPEG2 стандарта (заголовки, расширения)
/**
* @file vsm2.h
* Standart MPEG2 data structures and definitions.
*
* - Copyright (c) 2002-2006, Vanguard Software Solutions, Inc.
* - Project: MPEG2 video codecs
**/
#ifndef _VSM2_VSM2_H
#define _VSM2_VSM2_H
#include "vsm2_stypes.h"
////////////////////////////// MPEG2 Video Define section //////////////////////////////
/// START CODES
#define PICTURE_START_CODE 0x00 /// Picture start code
#define SLICE_START_CODE_MIN 0x01 /// [001, 175] - slice start codes
#define SLICE_START_CODE_MAX 0xAF
#define NONE_START_CODE 0xB0 /// NONE_START_CODE determines absent of start codes
#define USER_DATA_START_CODE 0xB2 /// [178, 184] - headers, user data, extensions
#define SEQUENCE_HEADER_CODE 0xB3
#define SEQUENCE_ERROR_CODE 0xB4
#define EXTENSION_START_CODE 0xB5
#define SEQUENCE_END_CODE 0xB7
#define GROUP_START_CODE 0xB8
#define SYSTEM_START_CODE_MIN 0xB9 /// [185, 255] - system start codes
#define ISO_END_CODE 0xB9
#define PACK_START_CODE 0xBA
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.