В последние годы активно развивается инфраструктура широкополосной передачи данных, а поставщиков таких услуг становится все больше. Данная инфраструктура сделала реальностью не только голосовую связь по протоколу IP (VoIP), но и видеосвязь. Компании, деятельность которых сконцентрирована в Интернете, например Google, Skype и MSN, позволяют миллионам людей, имеющих персональный компьютер и веб-камеру, снизить расходы на связь, используя Интернет для обмена аудио- и видеоданными. Но зачастую для видеосвязи удобно использовать не системы на базе персональных компьютеров, а специализированные видеотелефонные терминалы. Эффективные решения для построения таких терминалов предлагает компания Texas Instruments (TI).
Несмотря на популярность систем связи на основе персонального компьютера, велика потребность и в специализированных устройствах аудио- и видеосвязи. Персональный компьютер может быть выключен в нужный момент или использоваться в многозадачном режиме, что снижает его производительность при обработке видеоданных в реальном времени. Кроме того, для компьютеров необходимы охлаждающие вентиляторы. Они создают дополнительный шум, который при звуковой связи совсем нежелателен, особенно для гарнитур hands free, требующих подавления акустического эха.
Вот почему спрос на выделенные видеотелефонные терминалы постоянно растет. Для таких терминалов необходимы высокопроизводительные встроенные процессоры, которые потребляют мало энергии и не требуют вентиляторов. Процессоры семейства DaVinci компании Texas Instruments соответствуют этим требованиям.
Аппаратные компоненты видеотелефона
Прежде чем рассмотреть преимущества технологии DaVinci для видеотелефонии, посмотрим, какие основные компоненты необходимы для создания видеотелефона.
К базовым аппаратным компонентам видеотелефона относятся (рис.1): устройство ввода видеоизображений, подключенное к декодеру видеоданных для преобразования сигнала в цифровую форму; видеомонитор, который подключают к видеокодеру, если необходимо преобразовать данные в аналоговую форму; клавиатура; микрофон, динамик и аудиокодек для ввода-вывода речи; внешняя память для хранения программ и данных (например, видеобуферы); средства подключения к Ethernet для передачи аудио-, видео- и других данных; процессор общего назначения для управления, обеспечения сетевых функций и графического пользовательского интерфейса. Основной компонент схемы – цифровой сигнальный процессор (ЦСП), оптимизированный для поддержки современных мультимедийных кодеков.
Программные компоненты видеотелефона
Из соображений функциональной совместимости почти все видеотелефоны используют программные компоненты, основанные на действующих стандартах. К этим программным компонентам относятся кодеки видеоданных (H.26x), кодеки аудиоданных (G.711, G.72x), а также сетевые протоколы (H.323, SIP, RTP, RTCP).
Несмотря на необходимость соответствовать стандартам, реализация алгоритмов допускает различные варианты. Кодек состоит из кодера и декодера. Комитет по стандартам ITU определяет спецификации только для декодеров. Реализация кодера оставлена на усмотрение поставщика. Единственное требование состоит в том, что выходные данные кодера должны иметь синтаксис, распознаваемый любым совместимым декодером. Реализация кодера может существенно различаться для разных видеотелефонов.
Различные программные решения возможны и в ряде других приложений: системах подавления акустического эха, синхронизации звука и видеоизображений, для распознавания речи, обмена текстовыми сообщениями и др.
Список дополнительных возможностей видеотелефонов велик. Ограничивают его обычно лишь производительность устройств и время от начала разработки изделия до его выхода на рынок. Чтобы создать лучшее в своей категории изделие за минимальное время, очень важно эффективно применить все имеющиеся ресурсы, то есть использовать оптимизированные программные компоненты. Зачем заново изобретать колесо? В решении этой задачи могут помочь процессоры компании TI, в которых реализована технология DaVinci.
Процессоры DaVinci
В "системе-на-кристалле" DaVinci интегрированы два высокопроизводительных программируемых ядра, память и периферийные устройства. Такое решение позволяет упростить проектирование и ускорить разработку приложений в области видео. Пример системы DaVinci – процессор DM6446 (рис.2).
Аппаратная реализация DM6446 объединяет высокопроизводительное программируемое ядро ЦСП (C64x+) с RISC-процессорным ядром общего назначения (ARM9). ARM9 (с частотой 300 МГц) представляет собой процессор общего назначения. Он хорошо приспособлен для управления системой, поддержки сетевых протоколов, графического пользовательского интерфейса и даже кодеков аудиоданных нижнего уровня, например G.711. Этот процессор работает под управлением операционной системы Monta Vista Linux, так что в распоряжении пользователя оказывается множество приложений с открытым исходным кодом, например стеки сетевых протоколов (TCP IP), мультимедийные приложения (mplayer, ffmpeg), графические оболочки (QTopia, X windows), а также браузеры с поддержкой Java. Доступ ко всем периферийным устройствам производится через процессор ARM при помощи драйверов для Linux. Например, драйверы V4L2 (захват видео) и FBDEV (показ видео) дают пользователю непосредственный доступ к подсистеме обработки видеоданных (Video Processing Subsystem, VPSS), что упрощает и ускоряет процесс разработки.
Интегрированная подсистема обработки видеоданных (VPSS) облегчает захват видеоданных и их отображение на экране, тем самым освобождая ЦСП от этой части процесса обработки. Подсистема VPSS также способна обеспечить ряд функций видеотелефона, например масштабирование, преобразование цветового пространства, вычисление статистики и даже формирование экранного меню (On-Screen-Display, OSD). Подсистема VPSS работает параллельно с ЦСП и способна одновременно отображать два окна видеоизображений (полноэкранное окно и окно "картинка в картинке"), а также два графических окна экранного меню. И, наконец, система VPSS может производить вывод в аналоговом или в цифровом формате. Это обеспечивает универсальность и делает ненужным отдельный кодер видеоданных.
Возложение всех перечисленных функций на процессор ARM и подсистему VPSS позволяет занять ЦСП (с частотой 600 МГц) его главной функцией – кодированием и декодированием аудио- и видеоданных с высокой производительностью. ЦСП также может использовать встроенный в него видеоускоритель, который обеспечивает работу в режиме реального времени при использовании ряда наиболее требовательных к вычислительным ресурсам видеокодеков, например H.264. Кодек H.264 – новейший стандарт в области технологии видеоконференций, обеспечивающий наилучшее сжатие данных. Этот кодек необходим для любого современного видеотелефона. В приложениях, связанных с видеоконференциями, заметна задержка в обмене данными более 200 мс. Задержка в 300 мс действует раздражающе, а при задержке более 600 мс система непригодна к применению. Без специализированного аппаратного обеспечения и средств обработки данных эти задержки неизбежны. Используя технологию DaVinci, разработчик может самостоятельно разработать, оптимизировать, отладить и протестировать кодек с необходимыми характеристиками либо применить проверенную реализацию кодека от сторонних разработчиков, уже оптимизированную и протестированную для данной архитектуры. Если надежность и время от начала разработки изделия до его выхода на рынок являются определяющими факторами, то кодеки от сторонних разработчиков могут стать оптимальным решением для успешной реализации конкретного устройства.
Широкий ряд интегрированных в DM6446 периферийных устройств позволяет реализовать практически любую функцию, необходимую для современного видеотелефона. Наличие порта USB обеспечит удобное хранение данных или возможность подключения мыши или клавиатуры. Интегрированный контроллер EMAC (Ethernet Media Access Controller) снижает стоимость системы и обеспечивает подключение по протоколу IP. Интерфейс ATA применяется для подключения жесткого диска, на который записываются видеотелефонные звонки. Здесь же может размещаться операционная система Linux. Интерфейс DDR2 обеспечивает быстрое соединение с внешней памятью, где часто находятся видеобуферы. Второй интерфейс внешней памяти (External Memory Interface – EMIF) также позволяет подключаться к внешним устройствам с флэш-памятью NAND- или NOR-типа, которые применяют в том числе для загрузки системы. Разъем для модулей памяти SD/MMC – очень удобный и недорогой способ обмена данными и/или хранения операционной системы. И наконец, DM6446 предусматривает соединения через последовательный интерфейс, которые можно применять при невысокой скорости обмена данными, а также для управляющих устройств, например для контроллера жидкокристаллического сенсорного экрана.
В семейство DaVinci входит не только аппаратное обеспечение – это целый комплекс решений, который включает в себя оптимизированное программное обеспечение и техническую поддержку и позволяет разработчикам воспользоваться существующими ресурсами. Компания Texas Instruments предоставляет вместе с процессорами DaVinci программную среду Codec Engine (CE), с помощью которой разработчики могут реализовать все возможности процессора. В своей простейшей форме CE дает программисту ARM-процессоров возможность отвлечься от сложностей реализации цифрового сигнального процессора, чтобы сосредоточиться на разработке приложений на уровне ARM в операционной системе Linux, используя при этом все мощные средства ЦСП. В более сложной форме среда Codec Engine связывает ряд программных компонентов, в том числе управление прямым доступом к памяти, управление памятью и межпроцессорными взаимодействиями. При хорошем знакомстве с программированием встроенных цифровых сигнальных процессоров среда Codec Engine позволяет реализовать все возможности ЦСП .
Таким образом, технология DaVinci значительно облегчает разработку и снижает стоимость видеотелефонных терминалов. Благодаря технологии DaVinci массовое применение видеотелефонов становится реальностью.
Вот почему спрос на выделенные видеотелефонные терминалы постоянно растет. Для таких терминалов необходимы высокопроизводительные встроенные процессоры, которые потребляют мало энергии и не требуют вентиляторов. Процессоры семейства DaVinci компании Texas Instruments соответствуют этим требованиям.
Аппаратные компоненты видеотелефона
Прежде чем рассмотреть преимущества технологии DaVinci для видеотелефонии, посмотрим, какие основные компоненты необходимы для создания видеотелефона.
К базовым аппаратным компонентам видеотелефона относятся (рис.1): устройство ввода видеоизображений, подключенное к декодеру видеоданных для преобразования сигнала в цифровую форму; видеомонитор, который подключают к видеокодеру, если необходимо преобразовать данные в аналоговую форму; клавиатура; микрофон, динамик и аудиокодек для ввода-вывода речи; внешняя память для хранения программ и данных (например, видеобуферы); средства подключения к Ethernet для передачи аудио-, видео- и других данных; процессор общего назначения для управления, обеспечения сетевых функций и графического пользовательского интерфейса. Основной компонент схемы – цифровой сигнальный процессор (ЦСП), оптимизированный для поддержки современных мультимедийных кодеков.
Программные компоненты видеотелефона
Из соображений функциональной совместимости почти все видеотелефоны используют программные компоненты, основанные на действующих стандартах. К этим программным компонентам относятся кодеки видеоданных (H.26x), кодеки аудиоданных (G.711, G.72x), а также сетевые протоколы (H.323, SIP, RTP, RTCP).
Несмотря на необходимость соответствовать стандартам, реализация алгоритмов допускает различные варианты. Кодек состоит из кодера и декодера. Комитет по стандартам ITU определяет спецификации только для декодеров. Реализация кодера оставлена на усмотрение поставщика. Единственное требование состоит в том, что выходные данные кодера должны иметь синтаксис, распознаваемый любым совместимым декодером. Реализация кодера может существенно различаться для разных видеотелефонов.
Различные программные решения возможны и в ряде других приложений: системах подавления акустического эха, синхронизации звука и видеоизображений, для распознавания речи, обмена текстовыми сообщениями и др.
Список дополнительных возможностей видеотелефонов велик. Ограничивают его обычно лишь производительность устройств и время от начала разработки изделия до его выхода на рынок. Чтобы создать лучшее в своей категории изделие за минимальное время, очень важно эффективно применить все имеющиеся ресурсы, то есть использовать оптимизированные программные компоненты. Зачем заново изобретать колесо? В решении этой задачи могут помочь процессоры компании TI, в которых реализована технология DaVinci.
Процессоры DaVinci
В "системе-на-кристалле" DaVinci интегрированы два высокопроизводительных программируемых ядра, память и периферийные устройства. Такое решение позволяет упростить проектирование и ускорить разработку приложений в области видео. Пример системы DaVinci – процессор DM6446 (рис.2).
Аппаратная реализация DM6446 объединяет высокопроизводительное программируемое ядро ЦСП (C64x+) с RISC-процессорным ядром общего назначения (ARM9). ARM9 (с частотой 300 МГц) представляет собой процессор общего назначения. Он хорошо приспособлен для управления системой, поддержки сетевых протоколов, графического пользовательского интерфейса и даже кодеков аудиоданных нижнего уровня, например G.711. Этот процессор работает под управлением операционной системы Monta Vista Linux, так что в распоряжении пользователя оказывается множество приложений с открытым исходным кодом, например стеки сетевых протоколов (TCP IP), мультимедийные приложения (mplayer, ffmpeg), графические оболочки (QTopia, X windows), а также браузеры с поддержкой Java. Доступ ко всем периферийным устройствам производится через процессор ARM при помощи драйверов для Linux. Например, драйверы V4L2 (захват видео) и FBDEV (показ видео) дают пользователю непосредственный доступ к подсистеме обработки видеоданных (Video Processing Subsystem, VPSS), что упрощает и ускоряет процесс разработки.
Интегрированная подсистема обработки видеоданных (VPSS) облегчает захват видеоданных и их отображение на экране, тем самым освобождая ЦСП от этой части процесса обработки. Подсистема VPSS также способна обеспечить ряд функций видеотелефона, например масштабирование, преобразование цветового пространства, вычисление статистики и даже формирование экранного меню (On-Screen-Display, OSD). Подсистема VPSS работает параллельно с ЦСП и способна одновременно отображать два окна видеоизображений (полноэкранное окно и окно "картинка в картинке"), а также два графических окна экранного меню. И, наконец, система VPSS может производить вывод в аналоговом или в цифровом формате. Это обеспечивает универсальность и делает ненужным отдельный кодер видеоданных.
Возложение всех перечисленных функций на процессор ARM и подсистему VPSS позволяет занять ЦСП (с частотой 600 МГц) его главной функцией – кодированием и декодированием аудио- и видеоданных с высокой производительностью. ЦСП также может использовать встроенный в него видеоускоритель, который обеспечивает работу в режиме реального времени при использовании ряда наиболее требовательных к вычислительным ресурсам видеокодеков, например H.264. Кодек H.264 – новейший стандарт в области технологии видеоконференций, обеспечивающий наилучшее сжатие данных. Этот кодек необходим для любого современного видеотелефона. В приложениях, связанных с видеоконференциями, заметна задержка в обмене данными более 200 мс. Задержка в 300 мс действует раздражающе, а при задержке более 600 мс система непригодна к применению. Без специализированного аппаратного обеспечения и средств обработки данных эти задержки неизбежны. Используя технологию DaVinci, разработчик может самостоятельно разработать, оптимизировать, отладить и протестировать кодек с необходимыми характеристиками либо применить проверенную реализацию кодека от сторонних разработчиков, уже оптимизированную и протестированную для данной архитектуры. Если надежность и время от начала разработки изделия до его выхода на рынок являются определяющими факторами, то кодеки от сторонних разработчиков могут стать оптимальным решением для успешной реализации конкретного устройства.
Широкий ряд интегрированных в DM6446 периферийных устройств позволяет реализовать практически любую функцию, необходимую для современного видеотелефона. Наличие порта USB обеспечит удобное хранение данных или возможность подключения мыши или клавиатуры. Интегрированный контроллер EMAC (Ethernet Media Access Controller) снижает стоимость системы и обеспечивает подключение по протоколу IP. Интерфейс ATA применяется для подключения жесткого диска, на который записываются видеотелефонные звонки. Здесь же может размещаться операционная система Linux. Интерфейс DDR2 обеспечивает быстрое соединение с внешней памятью, где часто находятся видеобуферы. Второй интерфейс внешней памяти (External Memory Interface – EMIF) также позволяет подключаться к внешним устройствам с флэш-памятью NAND- или NOR-типа, которые применяют в том числе для загрузки системы. Разъем для модулей памяти SD/MMC – очень удобный и недорогой способ обмена данными и/или хранения операционной системы. И наконец, DM6446 предусматривает соединения через последовательный интерфейс, которые можно применять при невысокой скорости обмена данными, а также для управляющих устройств, например для контроллера жидкокристаллического сенсорного экрана.
В семейство DaVinci входит не только аппаратное обеспечение – это целый комплекс решений, который включает в себя оптимизированное программное обеспечение и техническую поддержку и позволяет разработчикам воспользоваться существующими ресурсами. Компания Texas Instruments предоставляет вместе с процессорами DaVinci программную среду Codec Engine (CE), с помощью которой разработчики могут реализовать все возможности процессора. В своей простейшей форме CE дает программисту ARM-процессоров возможность отвлечься от сложностей реализации цифрового сигнального процессора, чтобы сосредоточиться на разработке приложений на уровне ARM в операционной системе Linux, используя при этом все мощные средства ЦСП. В более сложной форме среда Codec Engine связывает ряд программных компонентов, в том числе управление прямым доступом к памяти, управление памятью и межпроцессорными взаимодействиями. При хорошем знакомстве с программированием встроенных цифровых сигнальных процессоров среда Codec Engine позволяет реализовать все возможности ЦСП .
Таким образом, технология DaVinci значительно облегчает разработку и снижает стоимость видеотелефонных терминалов. Благодаря технологии DaVinci массовое применение видеотелефонов становится реальностью.
Отзывы читателей