обработка видеоизображения
Классы МПК: | H04N7/26 с использованием уменьшения ширины полосы частот H04N11/02 с сокращением ширины полосы пропускания |
Автор(ы): | КЯРККЯЙНЕН Туомас (FI) |
Патентообладатель(и): | ГУРУЛОДЖИК МАЙКРОУСИСТЕМС ОЙ (FI) |
Приоритеты: |
подача заявки:
2005-08-09 публикация патента:
20.10.2009 |
Изобретение относится к способу обработки видеоизображения, обеспечивающему минимизацию объема данных, получаемых после сжатия видеоизображения и предназначенных для хранения в накопителе или для дальнейшей передачи через коммуникационную сеть. Техническим результатом является минимизирование объема видеоданных для передачи или сохранения. Предложен видеопроцессор (1), который предназначен для сравнения (7) отдельного кадра, содержащегося в принятом видеосигнале (3), с предшествующим обработанным кадром, с тем чтобы выявить изменения. Для получения сжатой видеоинформации в наиболее компактном формате процессор (1) выполняет следующие операции: выявляет (7) изменения путем распределения пикселей отдельного кадра в подвижные блоки и идентифицирует как изменяемый тот подвижный блок, в котором имеется определенное количество пикселей, изменение цветовой величины которых по сравнению с соответствующими пикселями предшествующего обработанного кадра, превышает заданный порог, а также заменяет (8) цветовые величины пикселей неизменяемых подвижных блоков в обрабатываемом кадре на заданные величины и формирует сигнал, показывающий эти изменения. 4 н. и 9 з.п. ф-лы, 5 ил.
Формула изобретения
1. Видеопроцессор (1), который предназначен для того, чтобы
принимать видеосигнал (3), сформированный камерой (2);
сравнивать (7) отдельный обрабатываемый кадр, содержащийся в обрабатываемом сигнале (3), с предшествующим обработанным кадром с тем, чтобы выявить изменения;
формировать сигнал (4), который отображает эти изменения, характеризующийся тем, что процессор (1) предназначен для того, чтобы
выявлять изменения путем выделения пикселей отдельного кадра в подвижные блоки заданного размера и идентифицировать данный подвижный блок как изменяемый, если в указанном подвижном блоке находится, по меньшей мере, данное количество пикселей, изменение величины цвета которых по сравнению с величиной цвета пикселей предшествующего обработанного кадра превышает установленный порог;
изменять (8) в обрабатываемом кадре цветовые величины всех других пикселей, за исключением пикселей изменяемых подвижных блоков, путем установки величин цвета пикселей, которые являются неизменяемыми по сравнению с предшествующим обработанным кадром, заданного значения; и
формировать указанный сигнал (4), который отображает изменения путем включения в указанный сигнал информации о подвижных блоках, идентифицированных как изменяемые, а также информацию о неизменяемых подвижных блоках.
2. Процессор по п.1, характеризующийся тем, что если процессор (1) идентифицирует данный подвижный блок как изменяемый на основе проверки величины пикселей в указанном подвижном блоке, тогда процессор (1) идентифицирует все подвижные блоки, окружающие данный подвижный блок, как изменяемые.
3. Процессор по п.1 или 2, характеризующийся тем, что процессор (1) выполнен с возможностью анализа изменения в величинах цвета путем анализа изменений в RGB величинах таким образом, что если абсолютное значение изменения в RG величине или в GB величине отдельного пикселя превышает указанный заданный порог, то процессор (1) определяет величины цвета указанного пикселя измененными.
4. Процессор по п.1, характеризующийся тем, что процессор (1) выполнен с возможностью преобразования предшествующего обработанного кадра путем копирования на него из обрабатываемого кадра пикселей подвижного блока, идентифицированного (7) как изменяемый, и использования указанного кадра, измененного таким же образом, при сравнении, которое будет выполняться процессором (1) с кадром, последующим за обрабатываемым кадром.
5. Процессор по п.1, характеризующийся тем, что процессор (1) выполнен с возможностью установления заданного значения величины цвета пикселей неизменяемых подвижных блоков, отображающих пиксели черного цвета.
6. Процессор по п.1, характеризующийся тем, что процессор (1) выполнен с возможностью подачи сформированного сигнала (4) на видеокодер (9), который может быть объединен с процессором или отделен от него.
7. Устройство воспроизведения изображения (11), выполненное с возможностью
принимать сигнал (13), содержащий видеоинформацию, и
формировать видео сигнал (17) на основе видеоинформации,
характеризующееся тем, что для формирования видеосигнала устройство воспроизведения выполняет следующие операции:
распределяет пиксели отдельного исследуемого кадра принятой видеоинформации в подвижные блоки заданного размера,
идентифицирует (15) подвижные блоки исследуемого кадра как неизменяемые те подвижные блоки, в которых имеется, по меньшей мере, данное количество пикселей, величина цвета которых соответствует с заданной точностью величине данного цвета, а также идентифицировать все остальные подвижные блоки как изменяемые,
модифицировать (15) предшествующий полный кадр в памяти (16) путем копирования пикселей подвижных блоков, идентифицированных как изменяемые в указанном исследуемом кадре, на предшествующий полный кадр в памяти, и
включать указанный модифицированный кадр в памяти (16) в формируемый видеосигнал (17).
8. Устройство воспроизведения изображения по п.7, характеризующееся тем, что устройство воспроизведения (11), выполненное с возможностью идентифицировать (15) как неизменяемые тех подвижных блоков исследуемого кадра, в которых имеется, по меньшей мере, данное количество пикселей, цветовые величины которых с заданной точностью отображают пиксель черного цвета.
9. Способ обработки видеосигнала, сформированного видеокамерой, содержащий
прием (А) видеосигнала от видеокамеры,
сравнение отдельного обрабатываемого кадра, содержащегося в видеосигнале, с предшествующим обработанным кадром с тем, чтобы выявить изменения, и
формирование сигнала, который показывает эти изменения,
характеризующийся тем, что содержит
выявление (D) изменений путем распределения пикселей отдельного кадра в подвижные блоки заданного размера и идентификацию данного подвижного блока как изменяемого, если имеется, по меньшей мере, данное количество пикселей, изменение цветовых величин которых по сравнению с соответствующими пикселями в предыдущем обработанном кадре превышает заданный порог,
изменение (Н) в обрабатываемом блоке цветовых величин всех других пикселей, за исключением пикселей изменяемых подвижных блоков, путем установки заданного значения цветовых величин пикселей в этих неизменяемых подвижных блоках по сравнению с предшествующим обработанным кадром, и
формирование (J) указанного сигнала, который отображает изменения за счет включения в этот сигнал информации как об изменяемых, так и о неизменяемых подвижных блоках.
10. Способ по п.9, характеризующийся тем, что позволяет анализировать изменения (D) цветовых величин с помощью анализа изменений RGB величин, и цветовые величины отдельного пикселя идентифицируются как изменяемые, если абсолютное значение RG величины или GB величины пикселя превышает заданный порог.
11. Способ по п.9 или 10, характеризующийся тем, что позволяет преобразовывать (I) указанный предшествующий обработанный кадр путем копирования на него пикселей изменяемых подвижных блоков из обрабатываемого кадра и использовать преобразованный предшествующий обработанный кадр для сравнения последующего кадра с обрабатываемым.
12. Способ формирования видеосигнала для воспроизведения, содержащий
прием (L) сигнала, содержащего видеоинформацию, и
формирование видеосигнала на основе видеоинформации,
характеризующийся тем, что содержит
распределение (М) пикселей отдельного обрабатываемого кадра в составе принятой видеоинформации в подвижные блоки заданного размера,
идентифицирование (N) тех подвижных блоков обрабатываемого кадра, в которых, по меньшей мере, данное количество пикселей, цветовые величины которых соответствуют с заданной точностью величинам данного цвета, как неизменяемые, и идентифицирование всех остальных подвижных блоков как изменяемые,
модифицирование (Q) предыдущего полного кадра в памяти путем копирования пикселей подвижных блоков, идентифицированных как изменяемые, в указанном отдельном обрабатываемом кадре предшествующим полным отдельным кадром в памяти, и
включение (S) указанного модифицированного кадра в памяти в состав формируемого сигнала.
13. Способ по п.12, характеризующийся тем, что идентифицируются (N) как неизменяемые те обрабатываемые подвижные блоки кадра, в которых, по меньшей мере, имеется определенное количество пикселей, цветовые величины которых с заданной точностью отображают пиксели черного цвета.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Настоящее изобретение относится к виду обработки видеоизображения, обеспечивающему минимизацию объема данных, получаемых после сжатия видеоизображения и предназначенных для хранения в накопителе или для дальнейшей передачи через коммуникационную сеть.
Предшествующий уровень техники
Известны видео кодеры в соответствии со стандартами DivX, MPEG4 и т.п., способные сжимать видеоизображение в такой степени, что размер файла значительно сокращается по сравнению с тем размером файла, который был бы, если бы видеоизображение сохранялось в формате, полученном непосредственно с видеокамеры. Например, по методу сжатия MPEG используется решение, которое основано на передаче с кодера не всех видеокадров, а только отдельного сжатого видеокадра. Последующие за ним видеокадры не передаются, а выбираются измененные фрагменты кадра, и с кодера передаются изменения видеоизображения от одного кадра к другому. При этом, например, нет необходимости передавать непрерывно информацию на неизменяемый задний план. На экране дисплея воспроизводится отдельный видеокадр, после чего информация об изменениях последующих видеокадров используется для изменения указанного отдельного видеокадра с той же скоростью передачи вместе с первоначальным видеоизображением. Таким образом, зритель увидит изображение, практически идентичное тому, что снято видеокамерой.
Недостаток кодера на основе вышеописанных известных алгоритмов сжатия заключается в том, что более часто, чем необходимо, происходит преобразование измененного видеоизображения, что требует передачи полного нового видеокадра. Однако повторное прохождение полного кадра от кодера ведет к увеличению размера файла.
Из опубликованной международной заявки 86/03922 известно решение, в котором запоминающие устройства передатчика и приемника видеоизображения сохраняют одинаковое ранее отснятое опорное изображение, и по мере изменения изображения происходит проверка соответствия измененных областей блокам в сохраняемом опорном изображении. При наличии соответствия от передатчика на приемник посылается кодовая комбинация, на основе которой приемник может выбирать из опорного изображения, хранящегося в его памяти, изменяемые подвижные блоки. Если изменяемые подвижные блоки не согласуются с соответствующими блоками в опорном видеоизображении, то изменяемые подвижные блоки передаются с передатчика на приемник.
Но известное из опубликованной международной заявки 86/03922 решение имеет недостаток, заключающийся в том, что оно эффективно работает, когда задний фон кадра остается неизменным, другими словами, на практике камера должна оставаться неподвижной. Кроме того, решение, основанное на передаче кодовой комбинации, несовместимо с известными кодерами, и соответственно алгоритмы сжатия кодеров, признанных эффективными, неприменимы.
Сущность изобретения
Цель настоящего изобретения - решить вышеуказанные проблемы известных решений, обеспечив обработку видеоизображения новым способом, который позволяет минимизировать объем видеоданных для передачи или сохранения, что дает возможность использовать кодеры с известными алгоритмами сжатия видеоизображения. Другая цель изобретения - обеспечить решение, с помощью которого обработанное в соответствии с изобретением видеоизображение могло быть воспроизведено. Эти цели достигаются благодаря использованию процессора согласно независимому пункту 1 формулы изобретения, устройства воспроизведения согласно независимому пункту 7 формулы изобретения, способа согласно независимому пункту 9 формулы изобретения и способа согласно независимому пункту 12 формулы изобретения.
Настоящее изобретение дает возможность полностью избежать передачи или сохранения полных кадров, когда изменяемые подвижные блоки передаются или сохраняются в первоначальном формате. Для того чтобы совместить данное решение с известными алгоритмами сжатия видеокадров, предлагается осуществлять передачу и сохранение всех подвижных блоков полного кадра. Цветовые величины пикселей в неизменяемых подвижных блоках изменяются в соответствии с величинами заданного цвета. Благодаря такому процессу известные кодеры способны осуществлять сжатие видеокадра в очень компактном формате. Практика показала, что полученный размер файла благодаря обработке, предложенной в изобретении, сокращается в десять раз. Значительное сокращение размера файла для хранения видеоданных или объема видеоданных для передачи является наиболее важным преимуществом решения согласно изобретению.
Предпочтительные варианты реализации процессора, устройства воспроизведения и способов обработки и воспроизведения раскрыты в зависимых пунктах 2-6, 8, 10-11 и 13 формулы изобретения.
Краткое описание чертежей
Далее настоящее изобретение описывается более подробно с помощью примера со ссылкой на сопровождающие его чертежи, где
Фиг.1 - блок-схема первого предпочтительного варианта реализации процессора в соответствии с данным изобретением;
Фиг.2 - схема последовательности операций первого предпочтительного варианта реализации способа обработки в соответствии с данным изобретением;
Фиг.3 - блок-схема первого предпочтительного варианта реализации устройства воспроизведения в соответствии с данным изобретением;
Фиг.4 - иллюстрация получения видеоизображения с помощью устройства воспроизведения и
Фиг.5 - схема последовательности операций первого предпочтительного варианта реализации способа воспроизведения в соответствии с данным изобретением.
Описание предпочтительных вариантов реализации изобретения
Работа блоков процессора 1 на блок-схеме Фиг.1 осуществляется с помощью программного или схемного обеспечения или их комбинацией. Функционирование блоков может осуществляться представленным способом, или операции одного или более блоков могут быть объединены.
Практически процессор 1 может быть объединен с камерой, которой снято видеоизображение. Эта камера может быть, например, стандартной видеокамерой, камерой управления или подвижной станцией со встроенной камерой. Преимуществом является то, что процессор обрабатывает видеоизображение непосредственно после камеры, то есть до его сохранения в файле или дальнейшей передачи по коммуникационной сети, что дает возможность минимизировать помехи видеоизображения во время его обработки. Такой вид помех увеличивает размер файла для сохранения или передачи видеоданных.
В случае, представленном на Фиг.1, процессор 1 принимает видеосигнал 3 с видеокамеры. После обработки видеосигнала процессор 1 формирует и передает далее сигнал 4. Самый последний кадр, полученный с камеры 2, то есть кадр, находящийся в процессе обработки, сохраняется в запоминающем устройстве 5. Второе запоминающее устройство 6 сохраняет предшествующий обработанный кадр. Блок сравнения 7 сравнивает содержание запоминающих устройств 5 и 6 и определяет изменяемые подвижные блоки на основе изменения цвета пикселей подвижных блоков.
Блок преобразования 8 преобразовывает обрабатываемый кадр на основе сравнения, осуществляемого блоком сравнения 7. Преобразование выполняется с подвижными блоками, хранящимися в запоминающем устройстве 5, которые являются неизменяемыми по сравнению с кадром, хранящимся в запоминающем устройстве 6. При преобразовании цветовые величины пикселей неизменяемого подвижного блока установлены в соответствии со значениями определенного цвета. Цветовые величины пикселей устанавливаются преимущественно черного цвета.
Блок преобразования 8 также преобразовывает кадр, хранящийся в запоминающем устройстве 6. Это происходит путем копирования пикселей всех изменяемых подвижных блоков из запоминающего устройства 5 на соответствующие подвижные блоки кадра в запоминающем устройстве 6, где они сохраняются. Указанный изменяемый кадр в запоминающем устройстве 6 затем используется в качестве опорного для последующего кадра с камеры 2 с целью определения изменяемых подвижных блоков.
Процессор 1 использует изменяемые и неизменяемые подвижные блоки кадра, сохраняемого в запоминающем устройстве 5, для формирования сигнала 4 и его последующей передачи. Указанный сигнал поступает на кодер 9, который может быть известным кодером с форматом сжатия принятого видеоизображения MPEG4 или Div X. После сжатия кодером 9 полученный видеофайл хранится, например, на жестком диске компьютера 10 или каком-либо другом носителе информации и считывается с помощью устройства воспроизведения видеоизображения. По другому варианту полученный видеофайл проходит от кодера 9 через коммуникационную сеть на устройство воспроизведения видеоизображения.
На Фиг.1 кодер 9 изображен отдельно от процессора. По другому варианту кодер 9 объединен с процессором, и, следовательно, процессор и кодер могут быть выполнены, например, с помощью одной микросхемы.
Фиг.2 представляет собой схему последовательности операций первого предпочтительного варианта реализации способа обработки согласно изобретению. Фиг.2 более подробно объясняет работу процессора, изображенного на Фиг.1.
Процесс обработки начинается с выполнения подготовительных операций. Необработанный видеоматериал, захваченный камерой, устанавливается неизмененным в формате RGB (Red, Green, Blue). Подвижные блоки определяются как квадраты, имеющие равную ширину (MBW) и высоту (МВН), то есть 4 пикселя. Размер подвижного блока (MBSIZE) вычисляется умножением ширины подвижного блока (MBW) на его высоту (МВН) (MBW * МВН)=MBSIZE.
Ширина (FW) и высота (FH) видеокадра (FRAME) определяется делением на ширину (MBW) и высоту (МВН) подвижного блока (MB). Число фиксированных подвижных блоков (MB) вычисляется умножением ширины кадра (FW) на высоту кадра (FH), и произведение делится на размер подвижного блока (MBSIZE), т.е. ((FH * FM)=FRAMESIZE/MBSIZE)=MBCOUNT.
В соответствии с числом (MBCOUNT) подвижных блоков (MB) формируется матрица (MBMATRIX), например полученная при делении кадра на сегменты (4×4), начиная от верхнего левого угла и заканчивая нижним правым углом. Для каждого подвижного блока (MB) в кадре вычисляются угловые координаты Х и Y квадрата P1, P2, Р3, Р4, которые помещены в матрице в соответствии с порядковым номером (MBINDEX) подвижного блока. Угловые координаты подвижного блока распределяются следующим образом: Р1 - верхний левый угол, P2 - верхний правый угол, Р3 - нижний правый угол и Р4 - нижний левый угол.
Формируются также буфер видеокадра (FRAMEBUFFER) и буфер последнего кадра (LASTFRAMEBUFFER), равные по размеру. Размер буферов (FRAMEBUFFERSIZE, LASTFRAMEBUFFER-SIZE) вычисляется умножением ширины кадра (FM) на высоту кадра (FH) и на глубину цвета (COLORDEPTH) в байтах, то есть (FH * FW * COLOR-DEPTH)=FRAMEBUFFERSIZE=LASTFRAMEBUFFERSIZE.
Поскольку пиксель изменяется, формируется общая величина цветочувствительности (COLORSENSIVITY), которая определяет изменение пикселя. Чем выше эта величина, тем больше должно быть изменение цвета в сравниваемых пикселях, чтобы текущий пиксель определить как изменяемый.
Общая величина переключений (MBTRIGGERVALUE) формируется для определения изменений в подвижных блоках. Чем выше эта величина, тем большее количество пикселей должно измениться, чтобы текущий подвижный блок был изменен.
Формируется величина счетчика изменяемых пикселей (CHANGECOUNTER), который указывает количество изменяемых пикселей в текущем подвижном блоке.
Формируется таблица (CHANGELIST) изменяемых подвижных блоков, которая указывает порядковый номер изменяемых подвижных блоков.
После этих подготовительных операций начинается прием видеосигнала с камеры на блок А. Видеоизображение, поступающее с камеры или модуля камеры, копируется в буфер памяти кадра (FRAMEBUFFER). Буфер памяти последнего кадра (LASTFRAMEBUFFER) обнулен, если он совсем не используется. Обнуление памяти означает, что каждый байт равен нулю. Устанавливается таблица изменяемых подвижных блоков (CHANGELIST). Величина цветочувствительности подвижного блока (COLORSENSIVITY) устанавливается, например, в диапазоне от 4096 до 8192. Эта величина может быть ниже (от 2048 до 4096), если объект изображения находится в темноте, и выше (от 8192 до 16384), если объект освещен свыше нормы. Величина переключений изменения в подвижных блоках (MBTRIGGERVALUE) устанавливается, например, от 4 до 8. Эта величина может быть ниже (от 2 до 4), если объект более удален, или выше (от 8 до 16), если на объекте изображения присутствуют шумы или помехи.
Блок С начинает избирательное сравнение подвижных блоков с соответствующими подвижными блоками в предшествующем кадре. Операции блоков от D до G выполняются с каждым подвижным блоком.
Блок D выясняет, включает ли в себя текущий подвижный блок данное количество пикселей, изменение величины цвета которых превышает определенный порог. Это может быть выполнено следующим образом.
Во-первых, счетчик изменений пикселей в подвижном блоке (CHANGECOUNTER) устанавливается равным нулю. Формируется подцикл, в котором каждый (MBSIZE) пиксель подвижного блока (MB), подвергнутый обработке (MBINDEX), исследуется в соответствии с матрицей (MBMATRIXC) от координат Р1 до координат Р4, исключая координаты Р2 и координаты РЗ благодаря квадратной форме матрицы. На каждом пикселе выполняются следующие операции:
RGB величины пикселей, указанных с помощью координат, выбираются из обрабатываемого кадра (FRAMEBUFFER) и предшествующего кадра (LASTFRAMEBUFFER).
RG величины (PIXELRG) пикселя в обрабатываемом кадре (FRAMEBUFFER) сравниваются с RG величинами (LASTPIXELRG) пикселя в предшествующем кадре так, чтобы получить изменение в абсолютной величине компонентов красного цвета (RED) и зеленого (GREEN), то есть абсолютную (ABS) разницу (ABSRGDIFFERENCE). Счет выполняется так, что разница между RG величинами пикселей в обрабатываемом кадре (FRAMEBUFFER) и предшествующем кадре (LASTFRAMEBUFFER) является функцией ABS, т.е. ABS(PIXELRG - LASTPIXELRG)=ABSRGDIFFERENCE. Если абсолютная разница (ABSRGDIFFERENCE) в компонентах красного цвета (RED) и зеленого цвета (GREEN) больше, чем цветочувствительность (COLORSENSIVITY) подвижных блоков, величина счетчика изменения пикселя увеличивается на единицу.
Если не обнаружены изменения в пикселях компонентов красного цвета (RED) и зеленого цвета (GREEN), тогда сравниваются компоненты зеленого цвета (GREEN) и синего цвета (BLUE) таким же образом, как описано для RG величин. GB величины (PIXELGB) пикселя обрабатываемого кадра (FRAMEBUFFER) в этом случае сравниваются с GB величинами (LASTPIXELGB) пикселя предшествующего кадра (LFSTFRAMEBUFFER) так, чтобы получить абсолютную (ABS) разницу (ABSGBDIFFERENCE) в компонентах зеленого (GREEN) цвета и синего (BLUE) цвета. Счет выполняется так, что разница между GB величинами пикселей в обрабатываемом кадре (FRAMEBUFFER) и в предшествующем кадре (LASTFRAMEBUFFER) является функцией ABS, то есть ABS(PIXELGB - LASTPIXELGB)=ABSGBDIFFERENCE. Если абсолютная разница (ABSGBDIFFERENCE) в компонентах зеленого (GREEN) цвета и синего (BLUE) цвета больше, чем цветочувствительность (COLORSENSIVITY) подвижных блоков, величина счетчика изменения пикселя (CHANGECOUNTER) увеличивается на единицу.
Когда все пиксели в подвижном блоке исследованы вышеупомянутым способом, счетчик изменения пикселя останавливается. Если величина счетчика изменения пикселя (CHANGECOUNTER) выше, чем величина включений изменения подвижного блока (MBTRIGGERVALUE), подвижный блок идентифицируется как изменяемый, и процесс обработки переходит на блок F, где порядковый номер изменяемого подвижного блока (MBINDEX) устанавливается в таблице (CHANGELIST). Если величина счетчика изменения пикселя ниже, чем величина включений изменения подвижного блока, установленный порог не превышен, подвижный блок идентифицируется как неизменяемый, и процесс переходит на блок Е.
В блоке G осуществляется проверка, все ли обрабатываемые подвижные блоки кадра были исследованы. Если нет, то процесс возвращается к блоку С, с которого начинается обработка следующего подвижного блока.
В блоке Н устанавливаются заданные значения цветовых величин пикселей в подвижных блоках, идентифицированных как неизменяемые. В соответствии с изобретением выгодно устанавливать цветовые величины пикселей подвижного блока черными, так как опыт показывает, что известные алгоритмы сжатия видеоизображения способны производить быструю обработку этих подвижных блоков, к тому же размер файла сжатого видеоизображения мал. Однако возможно устанавливать цветовые величины, соответствующие другому цвету, что позволяет с таким же успехом использовать алгоритмы сжатия.
Установка цветовых величин может быть выполнена с помощью создания цикла, в котором исследуются все изменяемые подвижные блоки (CHANGELIST). В этом цикле исследуются те подвижные блоки, которые не появляются в таблице как изменяемые (CHANGELIST). Каждый пиксель этих неизменяемых подвижных блоков установлен черным в буфере кадра (FRAMEBUFFER).
В блоке I пиксели изменяемых подвижных блоков копируются в предшествующий кадр в соответствующих подвижных блоках. Это может быть выполнено с помощью исследования в этом цикле тех подвижных блоков, которые появляются в таблице как изменяемые (CHANGELIST). Каждый пиксель этих подвижных блоков копируется неизменяемым на то же самое место в буфере предшествующего кадра (LASTFRAMEBUFFER).
В блоке J формируется сигнал на основе информации (FRAMEBUFFER) об изменяемых и неизменяемых подвижных блоках. Этот сигнал переносит изображение до обработки, которое может быть сжато средствами алгоритма сжатия.
В блоке К происходит наблюдение за тем, приходят ли видеоданные с камеры. В случае подтверждения процесс возвращается на блок А, с которого начинается обработка вновь полученного кадра.
В отличие от схемы последовательности операций на Фиг.2 возможно после выявления определенного изменяемого подвижного блока совместно с блоком F фиксировать подвижные блоки (8 блоков), окружающие указанный изменяемый подвижный блок, тоже как изменяемые, например, за счет добавления их в таблицу (CHANGEDLIST). Опыты показали, что в некоторых случаях в этих окружающих блоках могут появляться помехи при воспроизведении видеоизображения.
Фиг.3 представляет блок-схему первого предпочтительного варианта осуществления устройства воспроизведения в соответствии с изобретением. Операции, производимые блоками устройства воспроизведения 11, представленного на Фиг.3, могут быть выполнены с помощью программного или аппаратного обеспечения или их комбинацией. Работа блоков может осуществляться представленным здесь способом, либо операции одного или более блоков могут быть объединены. На практике блок воспроизведения 11 может содержать компьютер, телевизионную периферию, мобильную станцию или любое другое устройство воспроизведения, которое способно воспроизвести видеоизображение.
В случае, представленном на Фиг.3, предполагается, что сжатые видеоданные поступают с жесткого диска 10, далее декодер 12 декодирует сжатие (MPEG4 или DivX) и передает сигнал 13, содержащий видеоинформацию, на устройство воспроизведения 11. Изображения, содержащиеся в сигнале 13, сохраняются в блоке памяти 14, откуда устройство воспроизведения 11 их извлекает и обрабатывает один за другим.
Блок преобразования 15 выбирает из кадра, хранящегося в блоке памяти 14, подвижные блоки, содержащие, по меньшей мере, данное количество пикселей, цветовые величины которых соответствуют с заданной точностью величинам данного цвета. Блок преобразования 15 идентифицирует эти подвижные блоки как неизменяемые. Блок преобразования 15 идентифицирует все остальные блоки как изменяемые подвижные блоки. Блок преобразования 15 копирует пиксели изменяемых подвижных блоков из кадра, хранящегося в блоке памяти 14, на соответствующие подвижные блоки предшествующего кадра для сохранения в блоке памяти 16. Устройство воспроизведения 11 использует изображение, образованное в блоке памяти 16, включая его в видеосигнал 17 для передачи на дисплей 18.
На Фиг.3 показано с помощью примера, что жесткий диск 10 (или иной вид накопителя видеофайлов), декодер 12 и дисплей 18 вынесены из устройства воспроизведения 11. На практике эти компоненты могут быть объединены с устройством воспроизведения. Более того, возможен вариант, когда видеоданные для воспроизведения не сохраняются на накопителе совсем, а принимаются от коммуникационной сети, откуда подаются на декодер 12.
Фиг.4 иллюстрирует получение видеоизображения с помощью устройства воспроизведения. Слева на Фиг.4 показан предыдущий обработанный и воспроизведенный кадр. В середине показан блок в процессе обработки, где неизменяемые подвижные блоки имеют черный цвет, а изменяемые подвижные блоки находятся в первоначальном виде. Когда изменяемые подвижные блоки кадра в середине копируются на соответствующие места в предыдущем кадре слева, получится новый измененный кадр, показанный справа.
Фиг.5 представляет последовательность операций первого предпочтительного варианта реализации способа воспроизведения в соответствии с изобретением. Сначала для воспроизведения видеоизображения выполняются некоторые подготовительные операции.
Декодированное видеоизображение принимается в RGB формате. Подвижные блоки представляют собой равные по размеру квадраты, ширина (MBW) и высота (МВН) которых равны, например, 4 пикселям. Размер подвижного блока (MBSIZE) вычисляется умножением ширины (MBW) подвижного блока на его высоту (МВН), (MBW * МВН)=MBSIZE. Ширина (FW) и высота (FH) кадра (FRAME) определяются как делимое на ширину (MBW) и высоту (МВН) подвижного блока. Количество фиксированных подвижных блоков вычисляется умножением ширины кадра (FW) на высоту кадра (FH), и произведение делится на размер подвижного блока (MBSIZE), то есть ((FH * FW)=FRAMESIZE/MBSIZE)=MBCOUNT.
Матрица (MBMATRIX) формируется в соответствии с количеством (MBCOUNT) подвижных блоков (MB), например, таким образом, что кадр делится на сегменты (4×4), начиная от верхнего левого угла и кончая нижним правым углом. Для каждого (MBCOUNT) подвижного блока (MB) в кадре вычисляются угловые координаты Х и Y квадрата, Р1, Р2, Р3, Р4, которые размещены в матрице согласно порядковому номеру (MBINDEX) подвижного блока. Угловые координаты подвижного блока располагаются следующим образом: Р1 - верхний левый угол, Р2 - верхний правый угол, Р3 - нижний правый угол и Р4 - нижний левый угол.
Формируются буфер видеокадра (FRAMEBUFFER) и буфер кадра, который надо обработать (PREFRAMEBUFFER), равные по размеру. Размер буферов (FRAMEBUFFERSIZE, PREFRAMRBUFFERSIZE) рассчитывается умножением ширины кадра (FW), высоты кадра (FH) и глубины цвета (COLORDEPTH), то есть (FH * FW * COLORDEPTH)=FRAMEBUFFERSIZE=PREFRAMEBUFFERSIZE.
Формируется общая величина включений (MBTRIGGERVALUE) (например, 4), которая определяет изменение в подвижном блоке. Чем выше эта величина, тем больше пикселей требуется изменить, чтобы подвижный блок считать изменяемым. Формируется также величина счетчика изменяемых пикселей (CHANGECOUNTER), которая означает количество изменяемых пикселей в обрабатываемом подвижном блоке.
Прием сигнала, содержащего видеоинформацию, начинается в блоке L. Видеоинформация, содержащаяся в принятом сигнале, сохраняется в памяти (PREFRAMEBUFFER). Память (FRAMEBUFFER) полного кадра для воспроизведения обнулена, если она еще совсем не использовалась. Обнуление памяти означает, что величина каждого байта установлена на нуль.
В блоке М пиксели исследуемого кадра составляются в подвижные блоки. Таким образом, пиксели, которые принадлежат последующему исследуемому подвижному блоку, определяются в одном подвижном блоке за один прием.
В блоках от N до О все подвижные блоки кадра исследуются один за другим так, чтобы выяснить, содержится ли в подвижном блоке данное количество пикселей, цветовые величины которых соответствуют с заданной точностью тем, которые имеют данный цвет. Если - да, то рассматривается неизменяемый подвижный блок. В противном случае рассматривается изменяемый подвижный блок. Это может быть осуществлено, например, таким образом, что на каждом подвижном блоке выполняются следующие операции:
счетчик изменения пикселя (CHANGECOUNTER) подвижного блока устанавливается на нуль;
формируется подцикл, в котором каждый (MBSIZE) пиксель подвижного блока (MB), который следует обработать (MBINDEX), исследуется в соответствии с матрицей (MBMATRIX), начиная с координат Р1 до координат Р4, исключая координаты Р2 и координаты Р3 благодаря квадратной форме матрицы;
цвет пикселя, обозначенный координатами, устанавливается из обработанного кадра (PREFRAMEBUFFER);
если неизменяемые подвижные блоки обозначены путем установки их цветовых величин в соответствии с величинами черного цвета, тогда, если величина цвета пикселя (PIXELCOLOR) обрабатываемого кадра (PREFRAMEBUFFER) превышает величину чувствительности к черному цвету (BLACKSENSIVITY) изменяющихся пикселей (например, 4096), показатель счетчика изменения пикселя (CHANGECOUNTER) увеличивается на единицу. (Другими словами, если цвет пикселя не черный, показание счетчика изменения пикселя увеличивается на единицу.)
Если неизменяемые подвижные блоки обозначены путем установки их цветовых величин в соответствии с величинами другого цвета, тогда:
если сумма компонентов красного (RED) и зеленого (GREEN) цвета пикселя отличается в значительной степени с определенной допустимой погрешностью от суммы компонентов цвета красный (RED) и зеленый (GREEN) заданного цвета, показатель счетчика изменения пикселя (CHANGECOUNTER) увеличится на единицу.
Если допустимая погрешность не превышает при сравнении красный (RED) и зеленый (GREEN) компоненты цвета, тогда сравниваются также зеленый (GREEN) и синий (BLUE) компоненты цвета. Если сумма компонентов цвета пикселя зеленый (GREEN) и синий (BLUE) отличается в значительной степени с определенной допустимой погрешностью от суммы зеленого (GREEN) и синего (BLUE) цветовых компонентов заданного цвета, показатель счетчика изменения пикселя (CHANGECOUNTER) увеличится на единицу.
После того как все пиксели будут исследованы, проверяется показатель счетчика изменения пикселя (CHANGECOUNTER). Если этот показатель превышает величину переключения изменения подвижного блока (MBTRIGGERVALUE), рассматривается изменяемый подвижный блок, в результате процесс обработки переходит от блока Р к блоку Q. Если же этот показатель не выше величины переключения изменения, процесс обработки переходит от блока О к блоку R.
В блоке Q пиксели изменяемых подвижных блоков копируются на предшествующий кадр. Это может быть осуществлено путем копирования каждого пикселя обрабатываемого неизменяемого подвижного блока на то же самое место в буфере кадра (FRAMEBUFFER).
Из блока R процесс обработки возвращается к блоку М для обработки последующего подвижного блока, если в обрабатываемом кадре присутствуют еще неисследованные подвижные блоки.
В блоке S формируется видеосигнал на основе преобразованного кадра (FRAMEBUFFER).
Если прием сигнала продолжается и при этом сигнал содержит больше кадров, которые должны обрабатываться, то процесс возвращается от блока Т к блоку L для обработки видеоинформации последующего принятого кадра.
Должно быть понятно, что вышеприведенное описание и сопровождающие его чертежи служат лишь иллюстрацией настоящего изобретения. Для специалистов ясно, что возможны другие варианты в пределах сущности и объема изобретения, охватываемые приведенной формулой.
Класс H04N7/26 с использованием уменьшения ширины полосы частот
Класс H04N11/02 с сокращением ширины полосы пропускания