Определите скорость модема, если он может передавать 640x480 пикселей за 256 с
Обновлено: 24.11.2024
Оборудование
- Ардуино Мега
- Последовательная камера VC0706
- Модуль SD-карты с интерфейсом SPI
Программное обеспечение
- Интегрированная среда разработки Arduino
- Обработка (версия 3.3.2 или выше)
- Библиотека Adafruit VC0706 (доступна на GitHub)
- Библиотека Bodmer JPEGDecoder (также на GitHub)
Несмотря на то, что описанное выше вполне возможно, стоит упомянуть, почему именно мы берем на себя все проблемы с декодированием фотографии в формате JPEG. В конце концов, в приведенных выше требованиях к оборудованию указан модуль SD, и вы спросите: «Можем ли мы просто сохранить фотографию на SD-карте в виде файла photo.jpg?» Конечно, на самом деле это важная часть всего процесса, но попробуйте взглянуть на это с другой точки зрения: что, если мы хотим отправить эту фотографию куда-нибудь, используя медленное, несколько ненадежное соединение? Если мы просто нарежем фотографию JPEG на пакеты и отправим их по медленному соединению, мы рискуем, что некоторые из них могут быть повреждены, а другие могут быть полностью потеряны. В этом случае мы, скорее всего, не сможем восстановить исходную фотографию из поврежденных данных.
Однако, когда мы декодируем JPEG в растровое изображение, а затем отправляем фактические пиксели, мы ничем не рискуем. Если некоторые данные будут повреждены или потеряны во время передачи, у нас все равно будет изображение, только с поврежденными данными, которые каким-то образом обесцвечиваются, теряются или просто отсутствуют. Конечно, это не та картинка, с которой мы изначально начали, но она по-прежнему несет большую часть исходной информации и по-прежнему «удобочитаема». Теперь, когда мы знаем, почему мы это делаем, давайте посмотрим, как мы можем подойти к этому методу.
Фотосъемка
Прежде чем мы начнем декодировать фотографии JPEG, мы должны сделать фотографии. Поскольку наша конечная цель — сделать фото, сохранить его на SD-карте и потом куда-то отправить. Давайте начнем с простой настройки, которая позволит нам это сделать.
Рис. 1. Установка, которая позволит нам делать и сохранять фотографии с помощью Arduino.
Поскольку для декодирования фотографий нам требуется довольно много оперативной памяти, мы будем использовать Arduino Mega. Кроме того, у Mega есть дополнительный бонус в виде четырех отдельных аппаратных последовательных портов, поэтому мы можем использовать порт Serial1 для связи с камерой, а последовательный порт — для связи с нашим ПК.
Вы, наверное, заметили, что на линии RX камеры есть простой резистивный делитель напряжения. Это связано с тем, что логический уровень микросхемы VC0706 равен 3,3 В (даже при том, что напряжение питания равно 5 В), а логический уровень Arduino Mega равен 5 В. Дружеский совет: всегда используйте как минимум делитель напряжения на RX. линия при сопряжении Arduino 5 В с модулями 3,3 В. Это гораздо быстрее, чем ждать, пока прибудет новый модуль. Устройство чтения SD-карт подключается напрямую через интерфейс SPI.
Теперь, когда оборудование настроено, нам нужно разобраться с кодом. Поскольку библиотека для SD-карт уже является частью стандартной установки Arduino IDE, мы можем исключить SD-карту из списка.
Другое устройство, которым мы должны управлять, — это камера VC0706. Элементы управления относительно просты, нам просто нужно отправить несколько команд, используя последовательную линию, и получить фотографию JPEG, используя ту же линию. Мы могли бы написать для этого библиотеку, но, поскольку общий размер скетча нас сейчас не волнует, мы собираемся использовать библиотеку VC0706, разработанную Adafruit. Чтобы сделать снимок и сохранить его на SD-карту, мы будем использовать следующий код, который представляет собой слегка измененный пример Snapshot, поставляемый с библиотекой.
Теперь Arduino будет делать снимки каждые 10 секунд или около того, пока не закончится место на SD-карте. Но поскольку фотографии обычно имеют размер около 48 КБ, а сейчас я использую SD-карту на 2 ГБ, у нас достаточно места для более чем 43 000 фотографий. Кажется разумным сказать, что нам не нужно так много. Но теперь, когда у нас есть несколько фотографий, мы можем перейти к забавным вещам: превратить их из сложной в управлении тарабарщины, сжатой в формате JPEG, в простой массив пикселей!
Декодирование и отправка изображений JPEG
Прежде чем мы начнем декодирование, давайте кратко рассмотрим, как именно данные изображения хранятся в файле JPEG. Если вас это не волнует, пожалуйста, пропустите следующие три абзаца. Если вы действительно знаете кое-что о графике и сжатии — в отличие от меня — вы также можете пропустить эту часть. Следующий текст несколько упрощен.
Когда мы говорим о хранении любых графических данных, существует два основных подхода: сжатие без потерь или сжатие с потерями.Разница между ними очевидна: когда изображение кодируется с использованием сжатия без потерь, например PNG, каждый пиксель точно такой же, как в начале процесса в конце. Это отлично подходит для таких вещей, как компьютерная графика, но, к сожалению, это происходит за счет увеличения размера файла. С другой стороны, при сжатии с потерями, таком как JPEG, мы теряем некоторые детали, но результирующий размер файла становится намного меньше.
Способ, которым это достигается в JPEG, может быть довольно сложным для понимания, поскольку он включает в себя нечто, называемое «дискретным косинусным преобразованием», но основной принцип на самом деле довольно прост. Сначала изображение преобразуется из цветового пространства RGB в YCbCr. Все мы знаем цветовое пространство RGB — оно хранит цвета как значения красного (R), зеленого (G) и синего (B). YCbCr совсем другой — он использует яркость (Y — в основном исходное изображение в градациях серого), сине-разностную составляющую цветности (Cb — «голубизна» изображения) и красно-разностную составляющую цветности (Cr — «красность» изображения) .
Рис. 2. Фотография в формате JPEG с разделенными компонентами. Вверху слева — исходное изображение, внизу слева — компонент Y, вверху справа — компонент Cb, а внизу справа — компонент Cr.
То, как JPEG достигает уменьшения размера файла, на самом деле тесно связано с тем, как человеческий глаз обрабатывает цвета. Взгляните на три изображения компонентов Y, Cb и Cr на рисунке выше. Какой из них больше похож на оригинал? Правильно, в оттенках серого! Это связано с тем, что человеческий глаз гораздо более чувствителен к яркости, чем к двум другим компонентам. Сжатие JPEG использует это очень умным способом, который позволяет уменьшить объем информации в компонентах Cb и Cr, сохраняя при этом исходный компонент Y. Это приводит к тому, что изображение намного меньше исходного файла, а поскольку большая часть сжатой информации содержится в компонентах, к которым человеческий глаз не слишком чувствителен, вы едва заметите разницу между сжатым изображением и несжатым.
Теперь давайте запустим код, который делает настоящее волшебство, превращая JPEG в массив пикселей. К счастью, есть библиотека, которая делает именно это — JPEGDecoder от Bodmer (доступна на GitHub), которая основана на отличной библиотеке picojpeg Рича Гелдрайха (также на GitHub). Несмотря на то, что JPEGDecoder изначально был написан для отображения изображений на TFT-дисплее, с небольшими изменениями он будет работать для нас отлично.
Использовать библиотеку довольно просто: мы передаем ей файл JPEG, и библиотека начинает генерировать массивы пикселей — так называемые минимальные кодированные единицы, или сокращенно MCU. MCU представляет собой блок размером 16 на 8 пикселей. Функции в библиотеке будут возвращать значение цвета для каждого пикселя в виде 16-битного значения цвета. Старшие 5 бит — это значение красного цвета, средние 6 — зеленого, а младшие 5 — синего. Теперь мы можем отправлять эти значения по любому каналу связи, который нам нравится. Я собираюсь использовать последовательный порт, чтобы мы могли легко получить данные позже. Следующий скетч Arduino декодирует изображение, затем отправляет 16-битное значение RGB для каждого пикселя в MCU и повторяет это для всех MCU в файле изображения.
Большая часть работы, выполняемой компьютерами, заключается в простом перемещении данных из одного места в другое. Прежде чем программа начнет работать, она должна быть загружена в ОЗУ (память). Это может включать копирование нескольких мегабайт данных с жесткого диска в оперативную память. Когда вы посещаете веб-сайт, веб-страница (HTML-страница) передается на ваш компьютер. Это может быть 100 килобайт данных или больше. Если вы смотрите анимацию (видео), на мониторе должно отображаться несколько кадров в секунду. Это может включать копирование примерно полмегабайта с диска на экран, повторяющееся несколько раз в секунду.
Единицы измерения скорости
Скорость измеряется разными способами для разных устройств. Вот некоторая базовая лексика:
Дроби | Память | Частота |
ms = миллисекунды = 10^-3 (1/тысячная) | бит = 0 или 1 | Гц = Герц = 1 повторение в секунду |
s = микросекунды = 10^-6 (1/миллионная) | Байт = 8 бит = 1 символ (код ASCII) = 1 пиксель (точка) при 256 цветах | КГц = килогерц = 1000 повторений/сек td> |
ns = наносекунда = 10^-9 (1/миллиардная) | K = кило = 2^10 ( тысяча) КБ = килобайт = 1024 байта | МГц = мегагерц = 1 миллион повторений в секунду |
M = мега = 2^20 (миллион) MB = мегабайт Mb = мегабит | RPM = обороты в минуту, используется для измерения скорости, a дисковод вращается | |
G = гига = 2^30 (миллиард) GB = гигабайт | ||
Картинка стоит 1000 слов
Представьте, что вы увидели в Интернете красивое изображение автомобиля и хотите загрузить его на свой компьютер, а затем использовать в эссе.
Типичное полноэкранное изображение VGA имеет размер 640 x 480 пикселей и использует 256 цветов. Это означает, что для хранения каждого пикселя используется 1 байт, поэтому для хранения изображения требуется 640x480x1 байт = 307 200 байт или около 300 КБ. Многие изображения в Интернете хранятся в виде файлов .GIF, которые сжимают данные до меньшего размера - примерно 80 КБ.
Возможно, у вас есть модем 33,6 Кбит/с. Что это значит? Это K килобиты, а не килобайты. Ваш модем может передавать 33,6 Кбит/с (килобит в секунду), но в байте 8 бит, так что это примерно 4 Кбит/с (килобайт в секунду). При отсутствии помех и незанятости интернета можно было скачать картинку примерно за 20 секунд (80/4). Но модемы не всегда работают на максимальной скорости. Скорее всего, вы получите только 1 или 2 КБ/с, поэтому это займет больше времени.
Изображение перемещается через Интернет на ваш модем, затем на ваш компьютер через COM-порт (коммуникационный порт) и поступает в оперативную память. Теперь изображение должно быть еще передано в видеопамять видеокарты (видеопамять), прежде чем его можно будет передать на монитор и отобразить. Если в вашем компьютере материнская плата PCI, то передача ОЗУ-видеокарты происходит напрямую по шине данных, которая работает на частоте 66 МГц (мегагерц). Если это 32-битная шина данных, то за один раз можно передать 4 байта со скоростью 66 МГц, то есть всего 264 МБ в секунду (66x4). Таким образом, для передачи 80 КБ требуется всего 80 К/264 М = 0,0003 сек, что меньше миллисекунды. Однако чипы ОЗУ, вероятно, имеют время отклика 60 нс (наносекунды), что означает, что 1 байт может быть передан за 60 нс, что составляет всего 16 МБ/с, поэтому на самом деле изображение занимает 80 КБ / 16 МБ = 5 мс. (миллисекунд). Ну, все же намного быстрее, чем Интернет!
Ах, но давайте будем осторожны. Помните, что файл .GIF размером 80 КБ был сжат, а изображение на самом деле требует 300 КБ для хранения. Когда изображение поступает на ваш компьютер, оно должно быть распаковано микропроцессором, прежде чем его можно будет отобразить на графической карте. Это займет небольшое количество времени и приведет к 300 КБ данных в памяти. Теперь 300 КБ должны быть переданы на видеокарту, которая занимает 300 КБ / 16 МБ, что составляет около 19 миллисекунд для передачи - все еще довольно быстро.
После того как изображение поступает на видеокарту, оно отображается на мониторе. На самом деле он рисуется снова и снова, 70 раз в секунду (обновление 70 Гц). Означает ли это, что каждую секунду может отображаться 70 различных изображений? Что ж, это было бы так, если бы все 70 картинок можно было хранить в VRAM (видеопамять), но для этого потребовалось бы 70x300 КБ = 21 МБ видеопамяти, а ведь даже очень дорогая видеокарта, вероятно, имеет не более 4 МБ. В любом случае, большинство видеокарт сохраняют только одно изображение за раз. Таким образом, если ОЗУ будет передавать изображение только каждые 20 мс, то оно может передавать только 50 изображений в секунду, а не 70.
Если вы хотите сохранить изображение на жестком диске, это займет немного больше времени. Типичный жесткий диск может сохранять около 1 МБ (мегабайта) в секунду. Таким образом, для сохранения изображения потребуется 1/3 секунды.
Анимация и видео
Чтобы отображать анимацию, компьютер должен отображать несколько разных изображений каждую секунду. Это создает проблемы как с хранилищем, так и со скоростью.
Обычный фильм длится около 90 минут. Он отображается со скоростью 24 кадра в секунду, что означает 24 разных изображения в секунду. Если фильм будет храниться на CD-ROM или другом диске, то потребуется 24x60x90 = 129 600 кадров. Если на каждый кадр требуется 300 КБ, то весь фильм занимает
129 600 x 300 КБ = 38800 МБ = 38800 гигабайт. Обычный компакт-диск может хранить только
650 МБ, поэтому для хранения фильма требуется 50 компакт-дисков. Если бы вы хотели посмотреть фильм таким образом, вы бы меняли CD-ROM каждые 2 минуты.
Новый стандарт DVD (цифровой видеодиск) пытается обеспечить больше места для хранения за счет записи питов (маленьких отверстий, по одной на каждый бит) ближе друг к другу, чтобы уместить больше на диске, затем сохранения на обеих сторонах диска и записи двух слоев с каждой стороны диска. Такой диск с четырехкратной плотностью может хранить до 17 ГБ (гигабайт). Этого все равно мало для фильма, но если фильм сжать, то влезет. (Удивительно, но приводы разрабатываются только с одним лазером, поэтому пользователь должен физически перевернуть диск, чтобы использовать вторую сторону.)
Тем не менее, скорость остается проблемой. Для отображения 24 кадров в секунду при нормальном разрешении VGA требуется 300 КБ x 24 = 7,2 МБ в секунду для передачи на графическую карту. Если изображения находятся в оперативной памяти, они могут передаваться со скоростью несколько сотен мегабайт в секунду. Однако оперативной памяти недостаточно для хранения всего фильма — очень дорогой ПК может содержать 64 МБ оперативной памяти, но уж точно не 17 ГБ! Нет, фильм придется считывать с DVD-привода и отображать в реальном времени — это значит, что передача данных должна быть такой же быстрой, как и отображение. Насколько быстр DVD? Это остается неясным. Первоначальные приводы CD-ROM (односкоростные) могли передавать данные со скоростью 150 КБ/с. Двухскоростной привод CD-ROM передает 300 КБ/сек. 24-скоростной диск передает 150 x 24 КБ/сек = 3,6 МБ в секунду. Это только половина скорости, необходимой для нормального видео. Таким образом, привод DVD должен работать со скоростью, в 48 раз превышающей стандартную скорость CD-ROM.
А, но не забывайте о сжатии. Нет необходимости передавать так много данных так быстро. Если метод сжатия обеспечивает 50%-ное сжатие, то требуется только 24-кратная скорость передачи данных. К сожалению, данные также должны распаковываться достаточно быстро, чтобы не отставать от отображения. Декомпрессия не происходит мгновенно. В настоящее время это одна из самых острых проблем. Существует множество идей о «наилучшем» методе сжатия, и это привело к тому, что на рынке появилось множество несовместимых стандартов DVD. В результате DVD не становятся популярными. Все ждут стандарта, который реально работает и поддерживается многими производителями. Это близко, но не совсем там. И даже если бы это работало, видео все равно было бы плохого качества, потому что «настоящее» видео имеет намного больше, чем 256 цветов.
Дешевые хитрости
Под видеоконференциями понимается передача видео в реальном времени для создания видеотелефона, где люди на обоих концах могут наблюдать друг за другом. Это уже возможно, но как? Самые быстрые модемы управляют 8 КБ в секунду. Это далеко не 7 МБ/с, необходимые для видео. Сжатие может помочь, но не с коэффициентом 1000 к 1. Другие приемы более эффективны. Существующие системы видеоконференцсвязи передают небольшие изображения — например, 200х150 = 30000 пикселей, вместо 300000 пикселей, необходимых для всего экранного изображения. Затем снижается и частота кадров — до 1-2 кадров в секунду. Действительно, 30000 х 2 = 60000 байт в секунду, которые необходимо передать. Это все еще в 8 раз больше, чем может передать быстрый модем, но сжатие может сильно помочь. Да, видеоконференция в реальном времени возможна, но только с очень маленькими, некачественными, дергающимися изображениями. А любые идеи транслировать по интернету целые фильмы — не более чем фантазии.
Реальные улучшения
Показ прерывистого, крошечного видео плохого качества на самом деле не является улучшением — он просто использует существующую технологию до ее логического предела. Разработчики компьютеров постоянно (и быстро!) разрабатывают лучшее оборудование, которое на самом деле работает быстрее, чем старое оборудование. В следующей главе описываются общие методы ускорения работы, в том числе:
Видео – основная техническая информация
Несжатая 24-битная неподвижная графика
640 x 480 пикселей = 307 200 пикселей на кадр
307 200 x 24 бит на пиксель /8 (бит на байт) = 921 600 байт на кадр <>Количество бит -Уменьшение глубины больше для графики с небольшим количеством цветов, такой как штриховые рисунки или иллюстрации. Для фотографических изображений требуется много цветов, поэтому сжатие обычно дает лучшие результаты. Форматы JPEG и GIF работают хорошо. Выберите желаемую степень сжатия. Сжатие 20-75 % и изменение размера цифровых фотографий для использования на компьютере дает приемлемый компромисс между качеством и размером файла. Тест.
Несжатое 24-битное видео
("легальное" видео имеет частоту 29,97 кадров в секунду и, следовательно, меньше; цветовое пространство YUV имеет 16-битное разрешение, поэтому файлы меньше)
Для отображения на мониторе компьютера предпочтительнее уменьшить размер кадра до 320 x 240 (одна четверть размера).
Уменьшение частоты кадров до 24 кадров в секунду допустимо.
Уменьшение частоты кадров до 10 кадров в секунду может привести к прерывистому качеству и оставит скорость передачи данных на уровне 2,3 МБ/с. (Эта скорость передачи данных слишком высока для старых жестких дисков, старых компакт-дисков (2x привод ~ 200 Кбайт/сек) или модемов (модем 28,8 ~2,88 Кбайт/сек; модем 56,6~5,66 Кбайт/сек).
Более сильное сжатие уменьшит это еще больше, но более высокая битовая глубина сделает сжатое видео лучше.
Кодеки (компрессор/декомпрессор):
Cinepak, Indeo и Power Video — лучший выбор кодеков для воспроизведения компакт-дисков с помощью QuickTime или Video For Windows. Эти кодеки в настоящее время не поддерживают потоковую передачу или обеспечивают хорошее качество изображения при низких скоростях передачи данных, необходимых для доставки через Интернет. Решения для этого класса видео включают Real Media, VDOLive, Xing, TrueStream, Vivo, Vosaic и VXtreme.
- MPEG – 1 — качество компакт-диска.
- MPEG-2 – качество DVD (файлы в этом формате слишком большие и медленные для Интернета)
- MPEG–3 – mp3
- MPEG – 4 -- ACC
В каждом из них используются разные кодеки (сжатие/распаковка) и работают с разными программами просмотра.
Оборудование, необходимое для создания видеоклипов NTSC:
Для записи одной секунды видео требуется около 15 МБ дискового пространства.
Одна минута отснятого видео (высококачественный формат DV/AVI) потребует 178 Мб дискового пространства. Итак, 3 минуты заполнят CD-ROM.
Один час отснятого видео займет около 13 гигабайт на жестком диске.
Поэтому вам нужен жесткий диск с большим количеством свободного места, желательно непрерывным (используйте дефрагментацию перед захватом фильма) - еще лучше, используйте второй жесткий диск, предназначенный только для работы со звуком/видео, чтобы вы могли полностью стереть его. между проектами.
Для захвата видео с видеомагнитофона требуется карта видеозахвата.
Вам нужна цифровая видеокамера/мини-камера DV. (Mini-DV намного лучше, чем VHS.) Профессиональные модели (5000-6000 долларов) имеют широкоэкранный формат 16:9 и соотношение сторон 4:3, частоту кадров 30 или 24 и 3CCD для отдельной обработки RGB. Более простые модели (от 600 долларов США) имеют один ПЗС-чип для фильтрации основных цветов RGB.
Для захвата видео с камеры mini DV (IEEE 1394, с кабелем FireWire — 4-контактный и 6-контактный) вам потребуется
1) карта видеоввода и FireWire (IEEE 1394) для подключения камеры к ПК; теперь ПК управляет камерой -- у Mac это встроено)
2) плата адаптера PCI или встроенный FireWire для подключения видеокамеры DV
или
3) порт USB или внешний видеоадаптер -- подключите аналоговый видеокабель от видеокамеры или видеомагнитофона
и
4) внешний жесткий диск (128 Гб)
5) быстрый процессор (1,5 Гб и выше ).
Для создания компакт-диска или DVD-диска вам потребуется привод для записи компакт-дисков или DVD-дисков.
В настоящее время максимальная скорость устройства для записи компакт-дисков составляет 32 X. Вам потребуется устройство для записи компакт-дисков со скоростью не менее 12 X; у записывающего устройства DVD — 8 X. Когда вы покупаете носитель, убедитесь, что его скорость соответствует скорости записывающего устройства, или уменьшите его настройки, чтобы оно создавало компакт-диск или DVD со скоростью, для которой предназначен диск.
Необходимое программное обеспечение:
Windows XP поставляется с Windows Movie Maker 2 (в папке Аксессуары), который позволяет записывать видео с видеокамеры или видеомагнитофона. Затем вы можете вносить базовые изменения с помощью NLE (нелинейного редактирования), вырезания и вставки, вставки переходов и эффектов, а также добавления заголовков и титров. Наконец, вы можете сохранить в формате DV/AVI (самое высокое качество для DVD -- 30 секунд = 116 МБ) или в сжатом формате WMV для электронной почты, веб-страницы или компакт-диска (30 секунд = 2 МБ). р>
Imovie для Mac является эквивалентом. Он имеет очень приятный интерфейс и позволяет сохранять в формате Quicktime .qt или .avi или создавать DVD.
(Для профессиональной работы необходимо приобрести более качественное программное обеспечение для редактирования видео.)
Подключите камеру к компьютеру с помощью FireWire и откройте Windows Movie Maker.
Чтобы захватить пленку с камеры, установите элемент управления в положение «Воспроизвести видеомагнитофон». Таким образом ПК будет управлять камерой, и вы сможете легко настроить параметры, отображаемые на ПК, запускать и останавливать.
Если для элемента управления не установлено значение «Воспроизвести видеомагнитофон», вы можете записывать прямую трансляцию непосредственно на компьютер.
Всегда записывайте в максимальном качестве, экспортируйте/сохраняйте в любом формате, который может использовать ваша целевая аудитория. Для длинного видео создайте CD или DVD диски.
После редактирования видео сохраните его в формате, который может быть использован вашей аудиторией:
Большие файлы должны храниться на веб-сервере, поддерживающем потоковое видео, либо на компакт-диске или DVD.
Очень маленькие файлы, сжатые, могут быть загружены на ваш веб-сайт или в Blackboard для просмотра в Интернете или для загрузки на чужой компьютер.
Убедитесь, что они работают с одним из трех или четырех самых популярных в настоящее время проигрывателей/просмотрщиков, которые можно бесплатно загрузить и легко установить:
QuickTime, Real, Windows Media Player, Winamp. Последняя версия QuickTime Pro (v. 7) превосходна.
Ссылки:
Windows Movie Maker 2 (входит в состав Windows XP — убедитесь, что вы загрузили последний пакет обновлений):
P83-28) Изображение размером 1024*768 пикселей с 3 байтами на пиксель. Предположим, что изображение несжатое. Как
сколько времени уходит на его передачу по каналу модема со скоростью 56 кбит/с? Через кабельный модем со скоростью 1 Мбит/с? Больше
10-мегабитный Ethernet?Ethernet со скоростью более 100 Мбит/с?
Изображение размером 1024*768*3 байта или 2 359 296 байт. Это 18 874 368 бит. При скорости 56 000 бит/с
это занимает около 337,042 сек. При скорости 1 000 000 бит/с это занимает около 18 874 сек.
При скорости 10 000 000 бит/с это занимает около 18,87 сек. При скорости 100 000 000 бит/с это занимает около 0,819 сек.
P83-29) Ethernet и беспроводные сети имеют некоторые сходства и некоторые различия. Одно свойство
Ethernet заключается в том, что по сети Ethernet может передаваться только один кадр за раз. Разделяет ли 802.11
это свойство с Ethernet? Обсудите свой ответ.
Подумайте о скрытой проблеме с терминалом. Представьте себе беспроводную сеть из пяти станций, A
через E так, чтобы каждый из них находился в пределах досягаемости только своих промежуточных соседей . Тогда А может говорить
с B в то же время, когда D разговаривает с E. Беспроводные сети обладают потенциальным параллелизмом, и в этом
отличается от Ethernet.
P177-1) Вычислить коэффициенты Фурье для функции f( t) = t, (0
p177-2) Бесшумный канал 4 кГц оцифровывается каждую 1 мс. Какова максимальная скорость передачи данных?
Канал без помех может передавать сколь угодно большой объем информации независимо от того, как часто
это выборка. Просто отправьте много данных на образец. Для канала 4 кГц сделайте 8000 выборок/сек.
Если каждая выборка имеет длину 16 бит, канал может передавать данные со скоростью 128 кбит/с. Если каждая выборка имеет длину 1024 бита,
канал может передавать 8,2 Мбит/с. Ключевое слово здесь «бесшумный». При обычном канале 4 кГц
Ограничение Шеннона не позволяет этого.
p177- 3) Телевизионные каналы имеют ширину 6 МГц. Сколько бит/сек можно передать, если четырехуровневый цифровой
сигналы используются? Предположим, что это бесшумный канал.
Используя теорему Найквиста, мы можем делать выборки 12 миллионов раз в секунду. Четырехуровневые сигналы обеспечивают 2 бита
Мы получаем много вопросов о том, как найти оптимальное соотношение разрешения и битрейта. Правда в том, что на самом деле нет правильного или неправильного ответа. В зависимости от вашего кодировщика, видеоконтента, аудитории и места назначения потоковой передачи ваше разрешение и битрейт, вероятно, будут разными. При этом вы можете оптимизировать разрешение и битрейт, чтобы обеспечить постоянное качество видео и сделать его доступным для просмотра большей части вашей аудитории.
Что такое резолюции? Что такое битрейт?
Чтобы лучше определить оптимальное соотношение для вашего потока, давайте сначала определим, что такое разрешение и битрейт и как они влияют на качество видео.
Разрешение – это количество пикселей, распределенных по дисплею, которое обычно записывается в виде пикселей по горизонтали x пикселей по вертикали, например 1920 x 1080. Разрешение вашего дисплея влияет на максимальное разрешение потока, который вы можете смотреть. Разрешение иногда называют в сокращенном формате, используя только вертикальные пиксели, например 720p вместо 1280x720.
Например, если у вас есть монитор с разрешением 720p и вы смотрите трансляцию с разрешением 720p, это идеально. Ваш монитор может отображать каждый пиксель видео. Однако, если поток транслировался в формате 1080p, ваш монитор масштабирует изображение до 720p. Это не повлияет на качество видео, но, поскольку монитор может видеть только 720 пикселей, все, что выходит за эти пределы, будет потрачено впустую.
Битрейт – это объем данных, закодированных за единицу времени. Для потоковой передачи обычно указывается в мегабитах в секунду (Мбит/с) для видео и в килобитах в секунду (кбит/с) для аудио. С точки зрения потоковой передачи более высокий битрейт видео означает более высокое качество видео, которое требует большей пропускной способности. Так почему же все просто не загружают видео с максимально возможным битрейтом? Ну, не каждый зритель может скачивать с максимально возможным битрейтом.
Если у вас скорость загрузки 5 Мбит/с, и вы смотрите поток со скоростью 6 Мбит/с, качество просмотра будет прерывистым, и вы, вероятно, застрянете в буферизации, потому что ваше соединение не справляется с этой скоростью. информации, отправляемой в потоке.
Ключевые факторы выбора разрешения и битрейта
- Какая пропускная способность у меня есть для вещания?
Вы должны оценить свое сетевое подключение, чтобы определить, достаточно ли оно надежно для поддержки потоковой передачи с желаемым разрешением. Потоковая передача с разрешением 1080p60 требует большей пропускной способности, чем потоковая передача с разрешением 1080p30 или 720p60. Мы рекомендуем выделять только 50 % скорости загрузки для вашего потока на случай, если ваше соединение внезапно станет нестабильным или вы столкнетесь с непредвиденными помехами при отправке через Интернет на платформу потоковой передачи.
Если доступной пропускной способности недостаточно для поддержки потоковой передачи с желаемым разрешением и битрейтом, вы можете использовать сетевое связывание, чтобы объединить пропускную способность из нескольких интернет-источников в одно более надежное соединение. Подключив совместимый кодировщик к платформам управления облачными потоками Teradek, Core или Sharelink, вы можете связать сетевые подключения через Ethernet, Wi-Fi, сотовые модемы и даже мобильные телефоны, чтобы преодолеть ограничения пропускной способности на стороне кодировщика.
Наконец, если у вас ограниченная пропускная способность на сайте вещания, но ваш кодировщик поддерживает потоковую передачу с использованием более эффективного видеокодека, такого как HEVC/H.265, а не только H.264, вы можете отправлять поток HEVC с более низким битрейтом из ваш кодировщик и перекодируйте его в H.264 в облаке для окончательной доставки в места назначения потоковой передачи и зрителям.
- Как смотрит моя аудитория? Какая у них пропускная способность?
Подумайте, где и как ваша аудитория будет смотреть ваше видео, а также какие у них могут быть ограничения пропускной способности. Они на компьютерах или мобильных телефонах? Используете Ethernet или LTE? Если у большей части вашей аудитории недостаточно пропускной способности для просмотра вашего видео в формате 1080p, вам не нужно увеличивать пропускную способность только для того, чтобы загрузить видео в разрешении 1080p.
Облачное перекодирование может помочь тем, кто смотрит с более медленным подключением или на мобильных устройствах с ограничениями данных, поскольку оно позволяет преобразовать один поток, отправляемый вашим кодировщиком, в несколько потоков с более низким разрешением и более низким битрейтом, которые зрители могут выбрать вместо каждого зрителя. получение того же потока с более высоким разрешением / более высоким битрейтом. Платформы, поддерживающие облачное перекодирование, включают Facebook Live, YouTube Live, Vimeo и IBM Cloud Video.
- Контент какого типа я отправляю? Сколько мне нужно отправить?
Более динамичный контент требует более высокого битрейта для обеспечения хорошего качества, поэтому вам потребуется более высокий битрейт для трансляции спортивных мероприятий или соревнований по видеоиграм, а не для выступлений докладчиков на конференциях или церемониях вручения дипломов.
Частота закодированных кадров также влияет на требуемый битрейт. При потоковой передаче спортивных событий вы можете кодировать поток со скоростью 60 кадров в секунду (fps) в разрешении 1080p60 или 720p60; для событий с низким уровнем движения, таких как лекции или конференции, кодирование и отправка со скоростью 60 кадров в секунду может не дать видимого преимущества, но требует значительно большей пропускной способности, чем потоковая передача с более распространенными 30 кадрами в секунду. Не все потоковые онлайн-платформы могут принимать поток с частотой 60 кадров в секунду, и не все зрители могут принимать видео с частотой 60 кадров в секунду, поэтому обязательно примите это во внимание.
Наконец, существует два разных метода кодирования видео: постоянный и переменный. Постоянный битрейт кодирует примерно с одинаковой скоростью во всем потоке. Хотя это может помочь поддерживать постоянное качество, постоянный битрейт не всегда идеален для потоковой передачи через Интернет, поскольку тот же объем данных отправляется даже в том случае, если контент не очень сложный, что требует более высоких затрат на мобильные данные. р>
Кодеры Teradek используют кодирование с переменным битрейтом для более эффективного кодирования. Если движение невелико (например, выступающий на трибуне), ваш кодировщик будет использовать более низкий битрейт для экономии исходящих данных, но при необходимости улучшит качество кодирования, например, когда вы панорамируете камеру или увеличиваете масштаб для более широкого снимка.< /p>
Если вы транслируете в одно место назначения — например, прямо в Facebook Live или YouTube Live, — тогда настройки кодировщика должны соответствовать требованиям этого места назначения к битрейту и разрешению входящего потока.
Некоторым платформам, таким как YouTube Live или IBM Cloud Video, требуется, чтобы битрейт видео находился в определенном диапазоне для разрешения, поэтому, если на вашем сайте недостаточно пропускной способности для потоковой передачи 1080, вам необходимо уменьшить разрешение потоковой передачи. и битрейт, чтобы соответствовать их требованиям.
Если вы используете Core или Sharelink для одновременной потоковой передачи в несколько мест назначения, вам необходимо выбрать параметры кодирования, совместимые с каждым местом назначения, поскольку кодировщик будет отправлять только один поток в Core или Sharelink, и этот поток затем реплицируется в каждое место назначения.
Имейте в виду, что каждая платформа потокового вещания поставляется с различными предустановками, которые могут ограничивать приемлемую комбинацию битрейта видео и разрешения. Вот некоторые популярные места для потоковой передачи и их настройки:
Читайте также: