Название: Основы радиосвязи и телевидения (С.П. Новицкий, В.Н. Попантонопуло, )

Жанр: Технические

Просмотров: 802


3.2.2. новый алгоритм поиска идентичных блоков  в текущем и предшествующем кадрах  и способ передачи информации об адресах идентифицируемых блоков

 

Алгоритм поиска эталонного блока в предшествующем кадре, идентичного (c точностью до установленного порога) текущему блоку текущего кадра [10], предусматривает выполнение следующей последовательности операций:

а) построение первого текущего блока изображения текущего кадра и поля поиска предыдущего кадра, включающего опорный блок изображения, равный текущему по размерам и имеющий одинаковый с ним адрес в кадре, и множество блоков изображения, расположенных по отношению к опорному блоку в любом из возможных направлений и равных ему по размерам;

б) определение разностей значений сигналов между элементами изображения текущего блока изображения текущего кадра и блока изображения предыдущего кадра;

в) определение ошибки сравнения блока изображения текущего кадра и блока изображения предыдущего кадра, например, среднеквадратического отклонения или среднего значения модулей разностей элементов изображения текущего блока текущего кадра и блока изображения предыдущего кадра;

г) сопоставление ошибки сравнения с установленным порогом при нулевом шаге поиска (одинаковом адресе блоков текущего и предыдущего кадра); если ошибка сравнения не превышает заданного порогового значения, то формируют, запоминают и передают код флага 000 – «Отобразить» вместо текущего блока текущего кадра блок предыдущего кадра с тем же адресом

в кадре;

д) при не выполнении условия, указанного в операции г), производят во всем адресном пространстве поля поиска предыдущего кадра поиск, с шагом в один блок, блока, для которого ошибка сравнения не превышает заданного порогового значения; при нахождении такого блока формируют, запоминают и передают его относительный адрес и код флага 001 – «Отобразить» вместо текущего блока текущего кадра блок предыдущего кадра с относительным адресом, равным переданному;

е) если условия, указанные в операциях г) и д) не выполняются, то блок предыдущего кадра в адресном пространстве поля поиска, соответствующий минимальной ошибке сравнения, принимают за новый опорный блок и продолжают относительно его поиск во всех возможных направлениях с шагом в 1 пиксель блока, которому соответствует ошибка сравнения, не превышающая заданной. При нахождении такого блока формируют, запоминают и передают для этого блока косвенный адрес и код флага

010 – «Отобразить» вместо текущего блока текущего кадра блок изображения предыдущего кадра, косвенный адрес которого соответствует переданному;

ж) если же в адресном пространстве поля поиска предыдущего кадра отсутствует искомый блок изображения, удовлетворяющий указанным выше условиям операций г) – е), то формируют разностный сигнал для элементов изображения текущего блока и блока предыдущего кадра изображения, соответствующего минимальной ошибке сравнения, производят сжатие разностного сигнала методами внутрикадрового кодирования и передают сжатые данные, адрес блока, по отношению к которому определен разностный сигнал и код флага 100 – «Выполнить преобразование» по восстановлению данных блока текущего кадра из переданных данных, определенных при сопоставлении с блоком, адрес которого соответствует переданному.

На рис. 3.1 изображена блок-схема возможного устройства, реализующая описанный выше алгоритм поиска. Устройство содержит формирователь текущего блока изображения текущего кадра (ТК) размером N1×N2 пикселей; формирователь поля поиска предыдущего кадра (ПК) изображения, состоящего из M1×M2 пикселей и включающего опорный блок, положение в кадре которого одинаково с положением текущего блока текущего кадра, и множество блоков изображения, расположенных по отношению к опорному блоку в любом из возможных направлений движения. Формирователи подключены своими выходами через шину данных к входу сигнального процессора, который соединен своим выходом через другую шину данных с входами регистров флага и адреса и буфера памяти выходных данных.

 

 

Рис. 3.1. Блок-схема устройства, реализующая предложенный алгоритм поиска

 

При реализации алгоритма в начале в память формирователя текущего блока поиска ТК записывается цифровой сигнал изображения, например сигнал яркости Yij, текущего блока изображения, размером N1×N2 пикселей, а в память формирователя поля поиска – сигнал яркости Y`ij поля поиска предыдущего кадра, размером M1×M2 пикселей. Сигналы текущего блока ТК Yij и блока предыдущего кадра Y`ij по шине данных поступают в сигнальный процессор, где для каждой пары элементов изображения, имеющих одинаковое местоположение в сравниваемых блоках, определяется разностный сигнал

DYij = Yij – Y`ij,

который записывается в буфер данных. Из запомненных значений разностного сигнала в сигнальном процессоре определяется ошибка сравнения , равная, например, среднему значению модулей разностей

,

или среднеквадратическому отклонению

,

где m и n соответственно число элементов изображения в строке и в столбце блока изображения. Ошибка сравнения  =  или  =  заносится в буфер данных, где запоминается вместе с адресом блока, по отношению к которому она определена. Затем ошибка сравнения  считывается в сигнальный процессор, здесь она сравнивается с заданным пороговым значением . Если при нулевом шаге поиска, т.е. при одинаковом текущем адресе в кадре для текущего и опорного блоков, ошибка сравнения для этих блоков не превышает заданного порогового значения

 £ ,                              (3.1)

то сигнальный процессор формирует код флага 000 – «Отобразить» (при воспроизведении изображения) вместо текущего блока текущего кадра опорный блок предыдущего кадра. После чего сигнальный процессор записывает код флага в регистр флагов, а адрес опорного блока в регистр адреса .

Если условие (3.1) не выполняется, то производят во всем адресном пространстве поля поиска поиск с шагом в один блок, блока, ошибка сравнения с которым не превышает заданного порогового значения. При нахождении блока, которому соответствует условие £ , сигнальный процессор формирует код флага 001 – «Отобразить» вместо текущего блока текущего кадра блока предыдущего кадра по относительному адресу этого блока. Код флага записывают в регистр флагов, а относительный адрес эталонного блока – в регистр адресов. В этом случае на выход устройства передают относительный адрес найденного блока и код флага 001.

Если не удается найти блок, удовлетворяющий условию (3.1), то блок в адресном пространстве поля поиска предыдущего кадра, соответствующий минимальной ошибке сравнения, принимают за новый опорный блок. Продолжают поиск блока во всех возможных направлениях относительно нового опорного блока с шагом в 1 пиксель. Если находят блок изображения, для которого ошибка сравнения не превышает заданной, сигнальный процессор формирует код флага 010 – «Отобразить» вместо текущего блока в текущем кадре блок изображения предыдущего кадра с косвенным адресом. Код флага записывают в регистр флагов, а косвенный адрес найденного блока – в регистр адресов. В этом случае на выход устройства передают относительный и косвенный адреса блока и код флага 010.

Если же в адресном пространстве поля поиска предыдущего кадра отсутствует искомый блок изображения, удовлетворяющий условию (3.1), то формируют разностный сигнал для элементов изображения текущего блока текущего кадра и блока предыдущего кадра изображения, соответствующего минимальной ошибке сравнения. Производят сжатие разностного сигнала методами внутрикадрового кодирования и передают данные, адрес блока предыдущего кадра, по отношению к которому определен разностный сигнал, и код флага 100 – «Выполнить преобразование» по восстановлению данных текущего блока текущего кадра из переданных данных, определенных при сопоставлении с блоком предыдущего кадра по переданному адресу.

Рассмотренный выше алгоритм поиска ведет к повышению степени сжатия данных изображения за счет повышения вероятности отыскания в предыдущем кадре блока изображения, адекватного текущему блоку изображения и, следовательно, обеспечивает уменьшение требуемого объема памяти носителя информации при записи данных или снижение скорости потока данных и требуемой полосы пропускания канала связи – при их передаче.