Автор работы: Пользователь скрыл имя, 16 Июля 2013 в 13:17, курсовая работа
Мультимедиа (multimedia) - это современная компьютерная информационная технология, позволяющая объединить в компьютерной системе текст, звук, видеоизображение, графическое изображение и анимацию(мультипликацию)
Целью работы является разработка мультимедиа приложения «Справочник по изучению программирования на языке С++».
В ходе выполнения работы необходимо решить следующие задачи:
- спроектировать программный интерфейс с использованием объектной декомпозиции компонентов;
- разработать приложение используя мультимедийные компоненты MS Visual Studio.Net;
ВВЕДЕНИЕ………………………………………………………………………..5
1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ МУЛЬТИМЕДИА ТЕХНОЛОГИЙ………6
1.1 Общие сведения……………………………………………………………6
1.2 Типы данных мультимедиа-информации и средства их обработки …..10
1.2.1 Неподвижные изображения………………………………………...10
1.2.2 Видео и анимация…………………………………………………...12
1.2.3 Звук…………………………………………………………………..15
1.2.4 Текст…………………………………………………………………15
2. РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА…………………………..16
2.1 Постановка задачи………………………………………………………..16
2.1.1 Предметная область программирования………………………….16
2.1.2 Алгоритм программы………………………………………………16
2.2 Тестирование программы………………………………………………...17
ЗАКЛЮЧЕНИЕ………………………………………………………………….19
1.2.2 Видео и анимация
Сейчас, когда сфера применения персональных компьютеров всё расширяется, возникает идея создать домашнюю видеостудию на базе компьютера. Однако, при работе с цифровым видеосигналом возникает необходимость обработки и хранения очень больших объёмов информации, например одна минута цифрового видеосигнала с разрешением SIF (сопоставимым с VHS) и цветопередачей true color (миллионы цветов) займёт (288 x 358) пикселов x 24 бита x 25 кадров/с x 60 c = 442 Мб, то есть на носителях, используемых в современных ПК, можно сохранить достаточный объем видео, но оно будет не пригодно для использования в виде копий. Современные носители информации позволяют сохранять необработанное видео для его дальнейшего преобразования и сжатия.
MPEG - это аббревиатура от Moving Picture Experts Group. Эта экспертная группа работает под совместным руководством двух организаций - ISO (Организация по международным стандартам) и IEC (Международная электротехническая комиссия). Официальное название группы - ISO/IEC JTC1 SC29 WG11. Ее задача - разработка единых норм кодирования аудио- и видеосигналов. Стандарты MPEG используются в технологиях CD-i и CD-Video, являются частью стандарта DVD, активно применяются в цифровом радиовещании, в кабельном и спутниковом ТВ, Интернет-радио, мультимедийных компьютерных продуктах, в коммуникациях по каналам ISDN и многих других электронных информационных системах. Часто аббревиатуру MPEG используют для ссылки на стандарты, разработанные этой группой. На сегодняшний день известны следующие:
MPEG-1 предназначен для записи
синхронизированных
MPEG-2 предназначен для обработки видеоизображения соизмеримого по качеству с телевизионным при пропускной способности системы передачи данных в пределах от 3 до 15 Мбит/с, профессионалы используют и большие потоки. В аппаратуре используются потоки до 50 Мбит/с.
MPEG-3 - предназначался для
MPEG-4 - задает принципы работы
с цифровым представлением
Базовым объектом кодирования в стандарте MPEG является кадр телевизионного изображения. Поскольку в большинстве фрагментов фон изображения остается достаточно стабильным, а действие происходит только на переднем плане, сжатие начинается с создания исходного кадра. Исходные кадры кодируются только с применением внутрикадрового сжатия по алгоритмам, аналогичным используемым в JPEG . Кадр разбивается на блоки 8х8 пикселов. Над каждым блоком производится дискретно-косинусное преобразование (ДКП) с последующим квантованием полученных коэффициентов. Вследствие высокой пространственной корелляции яркости между соседними пикселами изображения, ДКП приводит к концентрации сигнала в низкочастотной части спектра, который после квантования эффективно сжимается с использованием кодирования кодами переменной длины. Обработка предсказуемых кадров производится с использованием предсказания вперёд по предшествующим исходным или предсказуемым кадрам.
Кадр разбивается на макроблоки 16х16 пикселов, каждому макроблоку ставится в соответствие наиболее похожий участок изображения из опорного кадра, сдвинутый на вектор перемещения. Эта процедура называется анализом и компенсацией движения. Допустимая степень сжатия для предсказуемых кадров превышает возможную для исходных в 3 раза. В зависимости от характера видеоизображения, кадры двунаправленной интерполяции кодируются одним из четырёх способов: предсказание вперёд; обратное предсказание с компенсацией движения - используется когда в кодируемом кадре появляются новые объекты изображения; двунаправленное предсказание с компенсацией движения; внутрикадровое предсказание - при резкой смене сюжета или при высокой скорости перемещения злементов изображения. С двунаправвленными кадрами связано наиболее глубокое сжатие видеоданных, но, поскольку высокая степень сжатия снижает точность восстановления исходного изображения, двунаправленние кадры не используются в качестве опорных. Если бы коэффициенты ДКП передавались точно, восстановленное изображение полностью совпадало бы с исходным. Однако ошибки восстановления коэффициентов ДКП, связванные с квантованием, приводят к искажениям изображения.
Чем грубее производится квнтование, тем меньший объём занимают коэффициенты и тем сильнее сжатие сигнала, но и тем больше визуальных искажений
1.2.3 Звук
Возможна цифpовая запись, pедактиpование, pабота с волновыми фоpмами звуковых данных (WAVE), а также фоновое воспpоизведение цифpовой музыки. Пpедусмотpена pабота чеpез поpты MIDI. Упомянутый выше конвеpтоp пpеобpазует также и аудиоданные между фоpматами WAVE, PCM, AIFF. В последнее время особую популярность получил формат Mp3. В его основу MPEG-1 Layer III положены особенности челевеческого слухового восприятия, отраженные в "псевдоаккустической" модели. Разработчики MPEG исходили из постулата, что далеко не вся информация, которая содержится в звуковом сигнале, является полезной и необходимой - большинство слушателей ее не воспринимают. Поэтому определенная часть данных может быть сочтена избыточной. Эта информация удаляется без особого вреда для субъективного восприятия. Приемлемая степень "очистки" определялась путем многократных экспертных прослушиваний. При этом стандарт позволяет в заданных пределах менять параметры кодирования - получать меньшую степень сжатия при лучшем качестве или, наоборот, идти на потери в восприятии ради более высокого коэффициента компрессии. Звуковой wav-файл, преобразованный в формат MPEG-1 Layer III со скоростью потока 128 Кбайт/сек, занимает в 10-12 раз меньше места на диске.
1.2.4 Текст
В pуководстве Microsoft уделено особое внимание сpедствам ввода и обpаботки больших массивов текста. Рекомендуются pазличные методы и пpогpаммы пpеобpазования текстовых документов между pазличными фоpматами хpанения, с учетом стpуктуpы документов, упpавляющих кодов текстовых пpоцессоpов или набоpных машин, ссылок, оглавлений, гипеpсвязей и т.п., пpисущих исходному документу. Возможна pабота и со сканиpованными текстами, пpедусмотpено использование сpедств оптического pаспознания символов
2. РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА
2.1. Постановка задачи
2.1.1 Предметная область программирования.
Microsoft Visual Studio - линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Отличная среда для любительского программирования, на текущий момент выпущена Visual Studio ® 2010 Express. IDE представляет собой набор бесплатных инструментов программирования на различных языках. Помогает приобрести начальный опыт работы с профессиональной интегрированной средой разработки, поставляется вместе с NET Framework 4.
2.1.2 Алгоритм программы
При разработки программы предполагалось использование среды Microsoft Visual C# 2010 Express Edition. Эта среда разработки программного обеспечения содержит набор шаблонов, которые часто используют при разработки программ.
В программе я использовался ряд шаблонов:
Класс Button предоставляет в распоряжение программиста кнопку. Она может содержать помимо надписи еще и изображение.
Компонент TreeView предназначен для отображения ветвящейся иерархических структур, таких как дерево наследования объектов или файловая структура диска. Для наполнения компонента на этапе проектирования используется редактор свойства Nodes, который создает окно.
Компонент TextBox способен хранить множество текстовых строк.
Это облегчило задачу в написании программы, так как часть кода была сгенерирована автоматически.
Приведенные выше принципы и элементы стали основой алгоритм
2.2 Тестирование программы
Рисунок 1. Первоначальное окно программы при открытии
При нажатии пункта с названием «подробное описание» открывается перечень информации содержащийся в данном справочнике.
Рисунок 2. Перечень содержания справки
Функция Файл - содержит команду выхода из справочника;
Функция Вид – содержит команды изменения шрифта, цвета текста и фона;
Функция Справка – содержит информацию о программе и инструкцию.
ЗАКЛЮЧЕНИЕ
В результате выполнения данного курсового проекта я изучила основные возможности работы с мультимедиа в среде программирования C#. При помощи встроенных мультимедиа компонентов MS Visual Studio. разработан справочник по изучению программирования на языке С++ .
ПРИЛОЖЕНИЕ А
Листинг программы
namespace Обучение_С__
{
public partial class Form1 : Form
{
//String sSearchString;
//StreamReader fs;
//FileStream f;
//string s;
public Form1()
{
InitializeComponent();
}
//----------------------------
//Само открытие файлов
//----------------------------
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Name == "y1")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y2")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y3")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y4")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y21")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y22")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y23")
{
try
{
richTextBox1.LoadFile(Director
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y5")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y24")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y25")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y26")
{
try
{
richTextBox1.LoadFile(Director
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y27")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y6")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }
}
if (e.Node.Name == "y28")
{
try
{
richTextBox1.LoadFile(
}
catch (Exception ex) { richTextBox1.Text = ex.Message; }