Изобретение относится к фото- и видеоинформационной технике и может найти применение при разработке цифровых кодирующих устройств в цифровых фото- и видеокамерах, видеотелефонии, видеоконференцсвязи, телевизионного цифрового вещания стандартной и высокой четкости, обработки и хранении видеоинформации и фотоизображений.
Известно множество различных фото- и видеокодеров, позволяющих кодировать фото- и видеоматериалы с уменьшением объема информации (с цифровым сжатием). Наиболее известны такие кодеры, как JPEG (G.K.Wallace. The JPEG Still Picture Compression Standard Communication of the ACM. - 1991, Vol.34, N4). JPEG-2000 (ISO/IEC FCD 15444-1:2000 (V.1.0 16 March 2000) "JPEG 2000 Image Coding System") (для фото) и MPEG-2 (ISO/IEC 13818-2. Information Technology Generic Coding of Moving Pictures and Associated Audio Information. Part 2: Video./ Ed.l JTS I/SC 29, 1994), MPEG-4 (ISO/IEC 14496-2:1999. "Information technology - Coding of audiovisual objects - Part2: Visual")(для видео).
Указанные кодеры реализованы в аппаратных устройствах, реализующих конкретный алгоритм сжатия, а также в программных продуктах различных фирм, устанавливаемых на персональный компьютер конечного пользователя. В качестве аппаратных устройств можно назвать цифровые фото- и видеокамеры, аппаратные кодеры, устанавливаемые в телевизионных студиях для кодирования цифрового видеосигнала (MPEG-2-кодер COD/CO Е-1000 корпорации Tadiran Scopus. (www.scoMS.co.il)) и (MPEG-2-кодер NEC SmartVision HG/V корпорации NEC (www.nec.com)) дополнительные аппаратные платы, устанавливаемые в компьютер (PV 251/C-Cube DVXplore - MPEG-2 кодер корпорации ProVideo (www.nevton.ru]: Canopus DVStorm MPEG Module-Аппаратный MPEG-1, MPEG-2 кодер (www. canoouscorp. ru)).
В качестве программных продуктов можно привести различные драйверы для компрессии фото- или видеоинформации (Программа MPEG-2 кодера LSX ENCODER 3.5 (www.liqos.com): Программа MPEG-2 кодера MPEG Power Professional V2.0h (www.heuris.com): DivX Pro 5.0 - драйвер кодека divX/MPEG-4 (www.divX.com)).
В указанных выше аппаратных и программных кодерах кодирование фото- или видеоинформации осуществляется внутри данных устройств без использования вычислительных и аппаратных ресурсов, удаленных от данных аппаратных средств, которые могут находиться не в собственности пользователя, использующего фото- или видеокодер.
Наиболее близкой к предлагаемому изобретению является система кодирования видеоинформации, в которой пользователь пересылает по цифровым каналам связи на удаленный сервер системы весь материал (видеофильм или фотоизображение), подлежащий кодированию, на сервере выполняется полное кодирование материала с использованием конкретного фото- или видеокодера, и через некоторое время пользователь получает готовый закодированный материал (Система кодирования видео по Интернет корпорации LoudEye (www.loudeye.com)).
Недостатком указанной выше системы является огромный объем данных, подлежащих передаче на удаленный сервер, что увеличивает стоимость использования системы и ограничивает ее производительность.
Задачей настоящего изобретения является разработка способа кодирования фото- и видеоинформации, который позволяет экономичным образом передавать большой объем информации на удаленный кодер с высокой производительностью.
Сущность изобретения заключается в способе кодирования фото- и видеоинформации, включающем преобразование фотоизображения или последовательности видеокадров в цифровую форму, цифровую обработку в кодере значений пикселов яркости и цветности с уменьшением конечного объема информации (сжатием), причем на промежуточном этапе кодирования вся текущая информация, присутствующая в кодере и относящаяся к одному или нескольким кадрам, разбивается на две или большее число групп, имеющих различный объем, бoльшая часть данных обрабатывается внутри самого кодера, а небольшая (остальная) группа данных (одна или несколько) пересылается на дополнительное одно или несколько удаленных устройств кодирования (удаленный сервер или серверы), в котором обрабатывается по определенному (заданному) алгоритму кодирования и возвращается обратно кодеру, после чего в кодере производится окончательное кодирование всех данных.
В отличие от известной системы в предлагаемом способе поток данных, передаваемых на удаленный сервер, в десятки и сотни раз меньше размера исходных данных, что значительно повышает производительность и эффективность предлагаемого способа кодирования по сравнению с существующими.
Система кодирования в предлагаемом изобретении отличается также от известных устройств кодирования фото- и видеоинформации, в которых удаленные вычислительные ресурсы используются только для передачи уже готовой закодированной информации, а само кодирование производится полностью внутри самого устройства. К таким системам можно отнести существующие видеотелефоны, устройства видеоконференцсвязи, кодеры телевизионного сигнала. В этих системах удаленные вычислительные ресурсы используются лишь для создания среды передачи данных от кодера к другим устройствам (обеспечения связи), а также контроля за доступом к закодированным данным и времени использования канала передачи данных (биллинга).
На чертеже изображен один из возможных вариантов устройства для реализации способа кодирования фото- и видеоинформации.
Устройство, изображенное на чертеже, содержит кодер фото- и видеоинформации, состоящий из подключенного ко входу блока 1 преобразования исходных данных в формат, используемый для кодирования, блока 2 разделения данных на данные, которые будут продолжать обрабатываться внутри кодера, и данные, которые будут передаваться на удаленный сервер, подключенного к нему блока 3, в котором осуществляется кодирование внутренних данных, блока 6, осуществляющего передачу данных для удаленного кодирования, а также функций контроля за соединением с удаленным устройством-сервером, блока 4, осуществляющего обработку и мультиплексирование внутренних данных с данными, полученными от удаленного устройства-сервера, и блока 5 преобразования данных в конечный формат, а также содержит удаленное устройство-сервер, состоящее из блока 7, осуществляющего контроль за соединением и обеспечивающего прием и передачу данных от кодера, и транскодирующего модуля 8, обеспечивающего кодирование данных, поступающих с кодера.
Предлагаемый способ с использованием устройства, изображенного на чертеже, реализуется следующим образом.
Исходные данные, поступающие на вход устройства, попадают в блок 1 (блок преобразования исходных данных к внутреннему формату кодера), где они преобразуются в цифровой формат, необходимый для реализации заданного алгоритма сжатия. Преобразование может включать в себя стандартные компоненты, такие как оцифровка аналогового сигнала в цифровой в случае применения аналогового входа, выделение из трех цветовых компонент сигнала (RGB) яркостной компоненты (Y) и двух цветоразностных компонент (Cr, Cb), изменение пространственного разрешения цветовых компонент Сr, Cb, фильтрацию шумов с использванием цифровых фильтров. На выходе блока 1 формат цифровых данных должен соответствовать формату, требуемому для кодера сжатия. Например, в случае кодера JPEG таким форматом является формат данных в виде яркостной компоненты Y и двух цветоразностных компонент Сr, Сb, имеющих уменьшенное вдвое пространственное разрешение.
В блоке 2 (блок разделения кодируемых данных на внутренние и обрабатываемые удаленно на внешнем устройстве) происходит выделение из всех цифровых данных небольшой группы, которая будет обрабатываться на удаленном устройстве. Выделение группы данных может осуществляться различными способами. Например, выделяемая группа данных может относиться только к одному (пример 1 ниже) или нескольким кадрам изображения (примеры 2 и 3). Выделению группы данных могут также предшествовать ряд цифровых преобразований, осуществляемых в блоке 2 согласно заданному алгоритму кодирования. В случае кодеров JPEG и MPEG-2/4 такими преобразованиями являются разбиение изображения на блоки 16×16 и 8×8 пикселов, компенсация движения между кадрами, вычисление коэффициентов спектра дискретного косинусного преобразования (ДКП) в блоках 8×8 пикселов. В расмотренном ниже примере 2 группа данных (один старший коэффициент ДКП) выделяется из спектра ДКП всего блока 8×8 пикселов. Данные, выделенные блоком 2, пересылаются через блок 6 (интерфейсный модуль обмена данных по сети) на удаленное устройство, состоящее из блоков 7 (интерфейсный сетевой модуль удаленного устройства) и 8 (транскодирующий модуль удаленного устройства). При отправке данных в блоке 6 происходит их преобразование к требуемому сетевому протоколу передачи (например, протоколу TCP/IP). После прохождения по сети выделенные данные попадают через интерфейс приема данных 7 в блок сервера 8, где производится их обработка по заданному алгоритму. Данная обработка включает в себя элементы кодирования выделенной группы данных согласно алгоритму кодирования. В примере 1 такой обработкой является кодирование опорных кадров. В примере 2 такой обработкой является квантование и кодирование кодами переменной длины старщих коэффициентов ДКП блоков 8×8 пикселов.
Обработанные на сервере данные возвращаются на кодер через интерфейсный блок сервера 7 и блок приема кодера 6. При этом в блоке 7 одновременно осуществляется контроль за соединением между кодером и сервером и учет времени соединения и количества переданных данных (биллинг).
Одновременно с удаленной обработкой данных на сервере в блоке 3 (блок кодирования внутренних данных) кодера производится обработка оставшихся данных после их разделения в блоке 2. Данная обработка включает в себя этапы цифрового кодирования оставшихся данных согласно используемому алгоритму кодирования. В расмотренном ниже примере 1 в блоке 3 осуществляется полное кодирование кадров с компенсацией движения. В примере 2 в блоке 3 осуществляется полное кодирование всех коэффициентов ДКП спектра за исключением старшего коэффициента. Кодирование включает в себя квантование коэффициентов и кодирование их кодами переменной длины. В блоке 3 в случае применения видеокодера также осуществляется кодирование векторов движения, типов макроблоков и коэфициентов квантования согласно стандарту MPEG.
В случае видеоинформации блок 3 может использовать результаты кодирования данных, обработанных удаленно на сервере. Данные результаты кодирования поступают из блока 4 (мультиплексор внутренних и закодированных удаленных данных) в блок 3 и используются в блоке 3 для восстановления закодированного кадра, что необходимо для осуществления компенсации движения при кодировании последующего кадра (группы кадров). После того как выделенные для удаленного кодирования и оставшиеся данные будут закодированы отдельно в блоках 3 и 8, в блоке 4 осуществляется их мультиплексирование. В этой процедуре данные, закодированные на удаленном устройстве, записываются (вставляются) в выходной поток в определенные места, которые они должны занимать согласно заданному стандарту кодирования.
Окончательная обработка закодированных данных осуществляется в блоке 5 (преобразователь к конечному выходному формату). Производится формирование выходного цифрового потока посредством добавления требуемых заголовков, стартовых и управляющих кодов.
Пример 1. Кодирование видеоинформации
В качестве алгоритма кодирования видео используется известный метод, основанный на компенсации движения между кадрами, с периодическим кодированием кадров без компенсации движения (так называемых опорных кадров).
При кодировании с компенсацией движения опорный кадр является исходным кадром для кодирования на стороне кодера и восстановления всех кадров на стороне декодера, без которого обработка промежуточных кадров (использующих компенсацию движения) невозможна. В рассматриваемом примере способа кодирования на удаленное устройство передаются все или определенная часть данных, относящихся к опорному кадру. Поскольку частота следования опорных кадров обычно значительно меньше полной частоты кадров, например в телевизионных MPEG-2 кодерах обычно в 10-15 раз (один раз в 1/2 с при частоте кадров 25 кадров/с), а в MPEG-4 видеокодерах обычно в 200-250 раз (один раз в 8-10 с), то объем передаваемых данных на удаленное устройство-сервер в данном примере будет в 10-200 раз меньше объема исходного видеоматериала. В случае передачи на удаленное устройство лишь части данных, относящихся к опорному кадру, поток данных будет еще меньше. В данном примере блок 8 на чертеже осуществляет функции кодирования опорного кадра с использованием оригинального алгоритма, компоненты которого отсутствуют на стороне кодера и без работы которого невозможно кодирование всех кадров видеопоследовательности.
Пример 2. Кодирование фото- или видеоинформации
В каждом кадре выделяется небольшой объем данных, отправляемых на сервер для кодирования и необходимых для формирования конечной битовой последовательности выходных данных. Эта небольшая информация может быть различной и отражать определенные особенности используемого алгоритма сжатия. Например, в случае использования кодека JPEG для фотоизображений или кодера MPEG-2/4 для видеоизображений в качестве такой информации могут выступать нулевые (старшие) коэффициенты дискретного косинусного преобразования блоков 8×8 пикселов исходного изображения, используемого в данных кодерах. В отсутствие значений амплитуд данных коэффициентов дальнейшее кодирование изображения невозможно. Поскольку количество данных коэффициентов в 8×8=64 раз меньше общего количества пикселов в кадре, то поток данных между кодером и удаленным устройством значительно меньше исходного объема всей кодируемой информации.
Пример 3. Система удаленного кодирования видеоинформации на основе оригинального алгоритма сжатия видео "Motion Wavelets" (Артамонов А.Е., Сергеев А., Соколов А.Ю. Лучше один раз увидеть, чем сто раз услышать...., Сумма Технологий. - 2002, №1 (9), с. 65; Система удаленного кодирования видеофирмы ИДМ с использованием алгоритма Motion Wavelets (www.codec.ru)).
В данном примере осуществляется использование как описанного выше удаленного кодирования опорных кадров, так и выделение лишь небольшой части данных, относящихся к опорному кадру, тесно взаимосвязанных со спецификой кодирования по алгоритму "Motion Wavelets". В результате удалось получить значительное снижение потока данных, передаваемых на удаленное устройство. Например, при использовании разрешения видео 352×176 пикселов и частоте кадров 25 кадров/с (поток исходных данных в несжатом виде составляет примерно 35 Мбит/с), поток данных между кодером и удаленным устройством-сервером не превышает 3 кбит/с.
В общем случае использования оригинального алгоритма кодирования фото- или видеоинформации данные, передаваемые на сервер удаленного кодирования по предлагаемому способу кодирования фото- и видеоинформации, должны отражать специфику цифровых преобразований, осуществляемых для реализации данного алгоритма кодирования (сжатия).
Достигаемый с использованием предложенного способа результат выражается в возможности кодирования фото- или видеоинформации, при котором осуществляется лишь частичная передача пользователю компонент фото- или видеокодера, и процесс кодирования фото- или видеоинформации осуществляется пользователем на своем персональном компьютере (мобильном компьютере, мобильном устройстве связи, в локальной вычислительной среде пользователя, построенной на нескольких компьютерах, в фото- или видеокамере, в отдельном аппаратном вычислительном устройстве) без передачи пользователю всех компонент кодера, необходимых для его полной работы; в значительном уменьшении объема данных, передаваемых конечным пользователем на удаленный сервер обработки информации, по сравнению с первоначальным объемом имеющейся информации, подлежащей кодированию.
Кроме того, обеспечивается возможность для разработчика используемого фото- или видеокодера защитить свой кодер от несанкционированного копирования и использования, а также контролировать процесс кодирования на удаленных устройствах конечного потребителя.
Изобретение относится к фото- и видеоинформационной технике. Его применение при разработке цифровых кодирующих устройств для применения в цифровых фото- и видеокамерах, видеотелефонии, цифровом телевидении позволяет получить технический результат в виде многократного снижения нагрузки на линии передачи данных. Этот результат достигается благодаря тому, что на промежуточном этапе кодирования вся текущая информация, присутствующая в кодере и относящаяся к одному или нескольким кадрам, разбивается на две или большее число групп, имеющих различный объем, большая часть данных обрабатывается внутри самого кодера, а остальная группа данных (одна или несколько) пересылаются на дополнительное (одно или несколько) удаленных устройств кодирования (удаленный сервер или серверы), в котором обрабатывется по определенному заданному алгоритму кодирования и возвращается обратно кодеру, после чего в кодере производится окончательное кодирование всех данных. 1 ил.
Способ кодирования фото- и видеоинформации, включающий преобразование фотоизображения или последовательности видеокадров в цифровую форму, цифровую обработку в кодере значений пикселов яркости и цветности с уменьшением конечного объема информации (сжатием), отличающийся тем, что на промежуточном этапе кодирования вся текущая информация, присутствующая в кодере и относящаяся к одному или нескольким кадрам, разбивается на две или большее число групп, имеющих различный объем, большая часть данных обрабатывается внутри самого кодера, а остальная группа данных (одна или несколько) пересылаются на дополнительное одно или несколько удаленных устройств кодирования (удаленный сервер или серверы), в котором обрабатывается по определенному заданному алгоритму кодирования и возвращается обратно кодеру, после чего в кодере производится окончательное кодирование всех данных.
УСТРОЙСТВО ДЛЯ ПОЛУЧЕНИЯ СИНХРОНИЗИРОВАННЫХ ВОСПРОИЗВЕДЕННЫХ СИГНАЛОВ ЗВУКА И ИЗОБРАЖЕНИЯ | 1994 |
|
RU2142210C1 |
Авторы
Даты
2004-04-20—Публикация
2002-07-18—Подача