Автор работы: Пользователь скрыл имя, 05 Января 2014 в 12:51, курсовая работа
Целью работы является рассмотрение различных способов представления мультимедийной информации в компьютере.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Выявить особенности представления различных видов графической информации.
2. Рассмотреть различные цветовые схемы, а также графические форматы.
3. Написать программу для наглядного представления построения некоторых видов фракталов.
4. Рассмотреть способы представления звуковой информации и распространенных аудио форматов.
При смешении сигналов основные проблемы возникают с видео–изображением. Различные ТВ–стандарты, существующие в мире (NTSC, PAL, SECAM), применение разных мониторов и видеоконтроллеров диктует разнообразие подходов в разрешении возникающих проблем. Однако в любом случае требуется синхронизация двух изображений, для чего служит устройство генлок (genlock). С его помощью на экране монитора могут быть совмещены изображение, сгенерированное компьютером (анимированная или неподвижная графика, текст, титры), и “живое” видео. Если добавить еще одно устройство — кодер (encoder), компьютерное изображение может быть преобразовано в форму ТВ–сигнала и записано на видеопленку. "Настольные видео–студии”, являющиеся одним из примеров применения систем мультимедиа, позволяют готовить совмещенные видео–компьютерные клипы, титры для видеофильмов, помогают при монтаже кинофильмов.
Системы такого рода не позволяют как-то обрабатывать или редактировать само аналоговое изображение. Для того, чтобы это стало возможным, его необходимо оцифровать и ввести в память компьютера. Для этого служат так называемые платы захвата (capture board, frame grabbers). Оцифровка аналоговых сигналов порождает огромные массивы данных. Так, кадр стандарта NTSC (525 строк), преобразованный платой типа Truevision, превращается в компьютерное изображение с разрешением 512x482 пиксель. Если каждая точка представлена 8 битами, то для хранения всей картинки требуется около 250 Кбайт памяти, причем падает качество изображения, так как обеспечивается только 256 различных цветов. Считается, что для адекватной передачи исходного изображения требуется 16 млн. оттенков, поэтому используется 24-битовый формат хранения цветной картинки, а необходимый размер памяти возрастает. Оцифрованный кадр может затем быть изменен, отредактирован обычным графическим редактором, могут быть убраны или добавлены детали, изменены цвета, масштабы, добавлены спецэффекты, типа мозаики, инверсии и т.д. Естественно, интерактивная экранная обработка возможна лишь в пределах разрешения, обеспечиваемого данным конкретным видеоадаптером. Обработанные кадры могут быть записаны на диск в каком–либо графическом формате и затем использоваться в качестве реалистического неподвижного фона для компьютерной анимации. Возможна также покадровая обработка исходного изображения и вывод обратно на видеопленку для создания псевдореалистического мультфильма.
NTSC (от англ. National Television Standards Committee — Национальный комитет по телевизионным стандартам) — система аналогового цветного телевидения, разработанная в США. 18 декабря 1953 года впервые в мире было начато цветное телевизионное вещание с применением именно этой системы.
AVI (Audio-Video Interleaved) был разработан корпорацией Microsoft для хранения и воспроизведения видеороликов. Представляет собой контейнер, в котором может быть что угодно, начиная от MPEG1 и заканчивая MPEG4. Он может содержать в себе потоки 4 типов - Video, Audio, MIDI, Text. Причем видеопоток может быть только один, тогда как аудио - несколько. В частности, AVI может содержать и только один поток - либо видео, либо аудио. Сам формат AVI не накладывает совершенно никаких ограничений на тип используемого кодека, ни для видео, ни для аудио - они могут быть любыми. Таким образом, в AVI файлах могут совершенно спокойно сочетаться любые видео- и аудиокодеки.
RealVideo формат, созданный компанией RealNetworks. RealVideo используется для живой телевизионной трансляции в Интернете. Например, телекомпания CNN одной из первых стала вещать в Сети. Обладает небольшим размером файла и самым низким качеством, зато вы, не особенно загружая свой канал связи, сможете посмотреть последний выпуск теленовостей на сайте выбранной вами телекомпании. Расширения RM, RA, RAM.
MPEG-1 - формат сжатия для компакт-дисков (CD-ROM). Качество видео - как у обычного видеомагнитофона, разрешение 352х240, диск с фильмом в таком формате обычно обозначается VCD (VideoCD).
MPEG-2 - формат для DVD-дисков, цифрового телевидения. В этом формате снимают видео DVD-, HDD-, Flash-камеры.
MPEG-4 - это формат, получаемый с помощью известных кодеков DivX, XviD, H.264 и др. Часто его называют просто MP4. Уменьшает видеопоток еще сильнее, чем MPEG-2, но картинка еще приличного качества, поэтому этот формат поддерживает большинство современных DVD-плееров.
MOV - формат Apple Macintosh QuickTime, может содержать кроме видео также графику, анимацию, 3D. Чаще всего для проигрывания этого формата нужен QuickTime Player.
Matroska (Матрёшка, также записывается как Matröşka) — проект, нацеленный на создание открытого, гибкого формата мультимедийного контейнера и набора инструментов и библиотек для работы с данными в этом формате. Этот проект является развитием проекта MCF, но значительно отличается тем, что основан на EBML (Extensible Binary Meta Language — расширяемый двоичный метаязык) — двоичном аналоге языка XML. Использование EBML позволяет расширять формат без потери совместимости со старыми программами.
Для того, чтобы написать программу, я выбрала четыре наиболее распространенных фрактала: треугольник Серпинского, драконова ломаная, бассейны Ньютона и биоморфы.
Для его построения из центра треугольника мысленно вырежем кусок треугольной формы, который своими вершинами будет упираться в середины сторон исходного треугольника. Повторим эту же процедуру для трех образовавшихся треугольников (за исключением центрального) и так до бесконечности. Теперь если взять любой из образовавшихся треугольников и увеличить его - получится точная копия целого. В данном случае мы имеем дело с полным самоподобием.
Драконова ломаная относится
к классу самоподобных рекурсивно порождаемых
геометрических структур. Ломаная нулевого порядка представляет
собой просто прямой угол. Изображение
фигуры каждого следующего порядка строится
путем рекурсивных замен каждого из отрезков
фигуры младшего порядка на два отрезка,
сложенных также в виде прямого угла.
При этом каждый первый угол оказывается "вывернутым" наружу, а каждый второй - вовнутрь. Несмотря на внешнюю простоту, построение драконовой ломаной - увлекательная алгоритмическая задачка, решение которой может потребовать определенных мыслительных усилий. На рисунке проиллюстрирован алгоритм построения драконовой ломаной и изображен вполне взрослый "дракон" десятого порядка.
Бассейны Ньютона.
Бассейны Ньютона, фракталы Ньютона – разновидность алгебраических фракталов. Области с фрактальными границами появляются при приближенном нахождении корней нелинейного уравнения алгоритмом Ньютона на комплексной плоскости (для функции действительной переменной метод Ньютона часто называют методом касательных, который, в данном случае, обобщается для комплексной плоскости). Применим метод Ньютона для нахождения нуля функции комплексного переменного, используя процедуру: Zn+1=Zn – f(Zn)/f’(Zn). Выбор начального приближения Z0 представляет особый интерес. Так как функция может иметь несколько нулей, в различных случаях метод может сходится к различным значениям. Однако, что за области обеспечат сходимость к тому или иному корню? Ввиду того, что Ньютон применял свой метод исключительно к полиномам, фракталы, образованные в результате такого применения, обрели название фракталов Ньютона или бассейнов Ньютона.
Биоморфы.
Биоморфы строятся простейшим алгоритмом многократного возведения в квадрат комплексного числа. Каждому комплексному числу соответствует точка на плоскости. Поэтому каждый раз при возведении в квадрат получаются новые комплексные числа, а соответственно и новые точки. Далее возможны три варианта: комплексное число резко растет, резко уменьшается и третий – числа начинает группироваться вокруг некоторой области(первые два варианта не интересны, так как рано или поздно мы перестанем наблюдать изображение). Клиффорд Пикоувер первым заметил схожесть этих группировок с микроорганизмами и дал им упомянутое выше название. Пример построения биоморфа, в указанной ниже программе, получен с помощью итерационных вычислений по формуле: Zn+1=Z9n+C. Внешний вид биоморфа зависит от действительной и мнимой составляющей комплексного числа.
Интерфейс программы (Рис. 1) представляет собой окно, содержащее вкладки переключения фракталов, описание каждого фрактала, и панель построения.
Рис.1 Стартовое окно программы
Переключение между фракталами осуществляется нажатием на соответствующие вкладки (Рис. 2)
Рис.2 Выбор фрактала
Описание фрактала располагается в правой части окна программы. В описание входят краткие сведения о фрактале, а также рассказан ход построения (Рис. 3)
Рис.3 Описание фрактала «Треугольник Серпинского»
Панель построения представляет собой секцию исполняющих и управляющих элементов (Рис. 4)
|
|
|
Панель построения фракталов «Треугольник Серпинского» и «Драконова ломаная» |
Панель построения фрактала «Бассейны Ньютона» |
Панель построения фрактала «Биоморф» |
Рис.4 Панели построения
Рассмотрим подробнее процесс управления построением фрактала «Треугольник Серпинского».
Рис.5 ТреугольникСерпинского
Уровень – это глубина построения фрактала. Построение фрактала определенного уровня осуществляется нажатием кнопки «Нарисовать». Также управлять построением фрактала можно с помощью кнопок «Следующий» и «Предыдущий», которые осуществляют построение фрактала следующего и предыдущего уровня соответственно. |
Построение фрактала «Драконова ломаная» осуществляется аналогично треугольнику «Серпинского», но для наглядности при построении драконовой ломаной красным цветом показана ломаная предыдущего уровня. (Рис. 6)
Рис.6 Драконова ломаная. Красным цветом выделен фрактал предыдущего уровня.
Рассмотрим построение фрактала «Бассейны Ньютона»
Построение осуществляется
нажатием на кнопку «Нарисовать |
|
|
Рис.7 Бассейны Ньютона. Слева – коэффициент масштабирование равен 20, справа коэффициент равен 4.
Построение фрактала «Биоморфы».
Рис.8 Биоморфы
Построение осуществляется нажатием на кнопку «Нарисовать». Также можно выбрать масштабный коэффициент построения и коэффициенты, влияющие на внешний вид. (Рис. 9) |
|
|
Рис.9 Биморфы с различными значениями коэффициентов внешнего вида.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, Buttons, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet3: TTabSheet;
Panel1: TPanel;
Panel2: TPanel;
SpinEdit1: TSpinEdit;
Panel6: TPanel;
Image4: TImage;
Panel5: TPanel;
Label8: TLabel;
SpinEdit6: TSpinEdit;
TabSheet4: TTabSheet;
Button1: TButton;
Label6: TLabel;
Label7: TLabel;
SpinEdit8: TSpinEdit;
btn1: TButton;
Button3: TButton;
TabSheet5: TTabSheet;
Image5: TImage;
btn2: TButton;
SpinEdit9: TSpinEdit;
Label9: TLabel;
Label10: TLabel;
Label1: TLabel;
SpinEdit2: TSpinEdit;
SpinEdit3: TSpinEdit;
Image3: TImage;
Image1: TImage;
Image2: TImage;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
Button2: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
procedure Button1Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
// объявление глобальных переменных
var
Form1: TForm1;
rnd,x1,x2,x3,y1,y2,y3,
c:char;
ot:string;
cc,UgolR,UgolL,StartUgol,
implementation
{$R *.dfm}
// Вспомогательная процедура для рисования линии на заданном холсте
procedure Line(x1,y1,x2,y2:real; C:TCanvas);
begin
c.Moveto(round(x1),round(y1));
c.lineto(round(x2),round(y2));
end;
// Процедура построения треугольника Серпинского по заданным параметрам
Procedure Treugolnik_serpinskogo(uroven:
var
xd,yd,xe,ye,xf,yf:real;
begin
inc(uroven);
if uroven= FinalUroven then
begin
line(x1,y1,x2,y2, Form1.Image1.Canvas);
line(x2,y2,x3,y3, Form1.Image1.Canvas);
line(x3,y3,x1,y1, Form1.Image1.Canvas);
form1.Image1.Canvas.Refresh;
end
else
begin
xd:=round((x1+x2)/2);
yd:=round((y1+y2)/2);
xe:=round((x2+x3)/2);
ye:=round((y2+y3)/2);
xf:=round((x1+x3)/2);
yf:=round((y1+y3)/2);
Treugolnik_serpinskogo(uroven,
Treugolnik_serpinskogo(uroven,
Treugolnik_serpinskogo(uroven,
end;