способ кодирования/декодирования многоракурсной видео последовательности на основе адаптивной локальной коррекции яркости опорных кадров без передачи дополнительных параметров (варианты)
Классы МПК: | G06K9/46 выделение деталей или характеристик изображения G06T15/00 Передача трехмерного (3D) изображения, например от модели к побитовому изображению |
Автор(ы): | Фартуков Алексей Михайлович (RU), Ковлига Игрь Миронович (RU), Мишуровский Михаил Наумович (RU), Дубков Константин Сергеевич (RU) |
Патентообладатель(и): | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." (KR) |
Приоритеты: |
подача заявки:
2012-07-03 публикация патента:
10.04.2014 |
Изобретение относится к вычислительной технике, а именно к технологиям обработки цифровых сигналов. Техническим результатом является повышение эффективности кодирования. Предложен способ адаптивной локальной коррекции изменения яркости опорного кадра для кодирования многоракурсной видеопоследовательности, в котором получают значения пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значения пикселей опорного блока, принадлежащего опорному кадру. Далее согласно способу получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значения пикселей, соседних по отношению к опорному блоку опорного кадра. А также исключают из рассмотрения пиксели, которые отличаются от общей совокупности полученных восстановленных пикселей по заранее заданному критерию. 3 н. и 18 з.п. ф-лы, 10 ил.
Формула изобретения
1. Способ адаптивной локальной коррекции изменения яркости опорного кадра для кодирования многоракурсной видеопоследовательности, включающий в себя следующие этапы:
- получают значения пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значения пикселей опорного блока, принадлежащего опорному кадру;
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значения пикселей, соседних по отношению к опорному блоку опорного кадра;
отличающийся тем, что:
- исключают из рассмотрения при определении параметров изменения яркости пиксели, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех пикселей и статистических характеристик в указанных областях;
- оценивают степень подобия полученных восстановленных пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно;
- определяют числовые соотношения между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, и соотношения между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- рассчитывают значения расстояний между всеми пикселями опорного блока и всеми пикселями, соседними по отношению к опорному блоку;
- на основе найденных на предыдущем шаге числовых соотношений, значений расстояний между всеми пикселями опорного блока и пикселями, соседними по отношению к опорному блоку, значений пикселей опорного блока, восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку, определяют параметры коррекции яркости для коррекции различия в яркости опорного блока в сравнении с текущим кодируемым блоком;
- выполняют коррекцию различия в яркости для опорного блока, используя найденные параметры коррекции, в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое задано наперед, или адаптивно изменяется в процессе коррекции.
2. Способ по п.1, отличающийся тем, что процедура определения соотношений для пикселей текущего кодируемого кадра и опорного кадра, определение параметра коррекции изменения яркости, а также выполнение коррекции различия в яркости опорного блока в сравнении с текущим кодируемым блоком включают с себя следующие этапы:
- вычисляют первую оценку estDi,j для каждого положения (i,j) пикселя в опорном блоке; причем первая оценка estDi,j является линейной комбинацией восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, k=0, ,N-1, N - число пикселей, соседних по отношению к текущему кодируемому и опорным блокам;
- вычисляют вторую оценку estRi,j для каждого положения (i,j) пикселя в опорном блоке; причем вторая оценка estRi,j является линейной комбинацией значений пикселей, соседних по отношению к опорному блоку, k=0, ,N-1;
- определяют на основе первой оценки estD i,j, второй оценки estRi,j, значений Ri,j пикселей опорного блока, восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку, параметр коррекции изменения яркости для каждого положения пикселя в опорном блоке;
- выполняют коррекцию изменения яркости для каждого пикселя опорного блока с помощью ранее определенных параметров коррекции.
3. Способ по п.2, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке и определения параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют первую оценку estD i,j как , где Wk(i,j), k=0, ,N-1 - весовые коэффициенты, и , k=0, ,N-1 - восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;
- вычисляют вторую оценку estRi,j как , где Wk(i,j), k=0, ,N-1 - весовые коэффициенты, и , k=0, ,N-1 - значения пикселей, соседних по отношению к опорному блоку;
- в том случае если вторая оценка estRi,j не равна нулю, определяют параметр коррекции изменения яркости для коррекции различия в яркости каждого пикселя в опорном блоке; этот параметр представляет собой отношение ;
в противном случае параметр коррекции i,j задается равным 1;
- выполняют коррекцию яркости опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий параметр коррекции i,j.
4. Способ по п.2, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке и определения параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют первую оценку estD i,j как где Wk(i,j), k=0, ,N-1 и Lk(i,j), k=0 N-1 - два набора весовых коэффициентов, и , k=0, ,N-1 - восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;
- вычисляют вторую оценку estRi,j как где Wk(i,j), k=0, ,N-1 и Lk(i,j), k=0 N-1 - два набора весовых коэффициентов, и , k=0, ,N-1 - значения пикселей, соседних по отношению к опорному блоку;
- в том случае если вторая оценка estRi,j не равна нулю, определяют параметр коррекции изменения яркости для коррекции различия в яркости каждого пикселя в опорном блоке; этот параметр представляет собой отношение ;
в противном случае параметр коррекции i,j задается равным 1;
- выполняют коррекцию яркости опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий параметр коррекции i,j.
5. Способ по п.3, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют весовые коэффициенты Wk(i,j), k=0, ,N-1 для первой оценки estDi,j и для второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен невозрастающей функции абсолютной разности:
,
что обеспечивает обратно пропорциональное увеличение/уменьшение Wk(i,j) в зависимости от уменьшения/увеличения абсолютной разности, где Ri,j - значение пикселя опорного блока; (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
6. Способ по п.4, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют весовые коэффициенты Lk(i,j), k=0 N-1 для первой оценки estDi,j и для второй оценки estRi,j для каждого положения (i,j) пикселя в опорном блоке так, что весовой коэффициент Lk(j,j) равен невозрастающей функции f расстояния между пикселями :
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Lk(i,j) в зависимости от приближения или удаления пикселя (k=0, ,N-1) от корректируемого пикселя Ri,j, где R i,j - значение пикселя опорного блока; (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
7. Способ по п.4, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют весовые коэффициенты Wk(i,j), k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен невозрастающей функции абсолютной разности:
,
что обеспечивает обратно пропорциональное увеличение/уменьшение Wk(i,j) в зависимости от уменьшения/увеличения абсолютной разности; в случае когда , где Thr - предопределенный порог; в противном случае Wk(i,j)=0. Здесь Ri,j - это значение пикселя опорного блока, (k=0, ,N-1) - это значение пикселя, соседнего по отношению к опорному блоку.
8. Способ по п.3, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют весовые коэффициенты Wk(i,j), k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен невозрастающей функции абсолютной разности:
что обеспечивает обратно пропорциональное увеличение/уменьшение Wk(i,j) в зависимости от уменьшения/увеличения абсолютной разности; в случае , где (k=0, ,N-1) - значение пикселя, соседнего по отношению к текущему кодируемому блоку, Thr1 является первым предопределенным порогом; и где Thr2 - второй предопределенный порог; в противном случае Wk(i,j)=0; здесь Ri,j - значение пикселя опорного блока, (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку.
9. Способ по п.5, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют весовые коэффициенты Wk(i,j), k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен Wk (i,j)=exp(-C1·Ak(i,j)C2+C3), где C1, C2, C3 - параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i,j), и Ak(i,k) равно , где Ri,j - значение пикселя опорного блока, (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку; в случае , где Thr - предопределенный порог; иначе Wk (i,j)=0.
10. Способ по п.3, отличающийся тем, что вычисляют весовые коэффициенты Wk(i,j), k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен
где и - параметры, функционально зависящие от расстояния между пикселем Ri,j в опорном блоке и пикселями (k=0, ,N-1), которые задают нелинейную зависимость весового коэффициента Wk(i,j) от величины Ak(i,j), которая определяется как: , где Ri,j - значение пикселя опорного блока, (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку.
11. Способ по п.3, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя следующие этапы:
- вычисляют весовые коэффициенты Wk(i,j), k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен Wk (i,j)=ехр(-C1·Ak(i,j)C2+C3), где С1, С2, С3 - численные параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i,j), и A k(i,j)равняется , где Ri,j - это значение пикселя опорного блока, (k=0, ,N-1) - это значение пикселя, соседнего по отношению к опорному блоку, в случае , где (k=0, ,N-1) является значением пикселя, соседнего по отношению к текущему кодируемому блоку, Thr1 - первый предопределенный порог; и , где Thr2 - второй предопределенный порог; иначе W k(i,j)=0.
12. Способ по п.1, отличающийся тем, что позиции восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и позиции значений пикселей, соседних по отношению к опорному блоку, определяют адаптивно вместо соответствующих пикселей с наперед заданными позициями.
13. Способ по п.1, отличающийся тем, что оценка степени подобия пикселей, соседних по отношению к кодируемому блоку, и пикселей, соседних по отношению к опорному блоку, которые используются в процедуре оценки параметров различия яркости для опорного блока, включает в себя следующие этапы:
- все уже восстановленные пиксели (k=0, ,N-1), соседние с опорным блоком, и все уже восстановленные пиксели , k=0, ,N-1, соседние с кодируемым блоком, образуя совместно пары , однозначно задаваемые пространственным положением пикселей (k=0, ,N-1) и , k=0, ,N-1 в соответствующих областях, которое определяется значением номера пикселя k, группируются в М непересекающихся групп G0 GM-1, таких что , k=0 N-1 {G0 G1 GM-1}, при этом пары пикселей, принадлежащих группе Gi, обозначаются так же, как ;
- для каждой группы Gi рассчитывается метрика, которая основана на учете пиксельных различий и за исключением различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- для каждой группы Gi рассчитывается метрика, основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0 GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- рассчитывается общая метрика, обозначаемая M_Norm, для групп G0 GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается слабым и коррекция может не применяться; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается сильным и коррекция выполняется безусловно.
14. Способ по п.13, отличающийся тем, что для каждой группы Gi рассчитывается метрика MR_Norm(Gi), которая основана на учете пиксельных различий и за исключением различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
где значение степенного показателя Р1 определяется экспериментально;
- для каждой группы Gi рассчитывается метрика M_Norm(Gi), основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
где значение степенного показателя Р2 определяется экспериментально;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0 GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
- рассчитывается общая метрика, обозначаемая М_Norm, для групп G0 GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается слабым и коррекция может не применяться; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается сильным и коррекция выполняется безусловно.
15. Способ по п.1, отличающийся тем, что для исключения из рассмотрения полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях, выполняют следующие действия:
- группируют пиксели таким образом, что для всех пикселей , удовлетворяющих условию и пиксели , которые соответствуют пикселям исходя из их порядкового номера k=0 N-1 и пространственного положения в опорном и кодируемом кадрах, группируются в группы, обозначаемые B(LRi,LR i+1):
,
при этом величины LRi, LR i+1 определяют границы диапазона, задающего группу B(LR i,LRi+1), и удовлетворяют условию LRi >-1; LRi+1>Ri, количество групп B(LR i,LRi+1) NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi,LRi+1):-1<LR 0<LR0<LR0 <LRNB;
- для каждой группы B(LR i,LRi+1), задаваемой величинами (LRi ,LRi+1), рассчитывают следующие величины:
где Thr5 - пороговое значение, определяемое экспериментально и задаваемое наперед или задаваемое адаптивно в процессе обработки кадра,
- для каждого пикселя группы B(LRi,LRi+1) проверяют верность следующих трех условий:
- условие 1:
|C_Plus(LR i,LRi+1)-C_Minus(LRi,LRi+1 )|<Thr6;
- условие 2:
C_Plus(LRi ,LRi+1)-C_Minus(LRi,LRi+1)>=Thr6 AND ;
- условие 3:
C_Plus(LRi,LR i+1)-C_Minus(LRi,LRi+1)<=-Thr6 AND
в том случае если верно одно из проверяемых условий 1 3 для очередного рассматриваемого пикселя группы B(LRi,LRi+1), рассматриваемый пиксель включается в дальнейшие расчеты параметров коррекции яркости опорного блока.
16. Способ по п.15, отличающийся тем, что для исключения из рассмотрения полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки пикселей в указанных областях, выполняют следующие действия:
- группируют пиксели таким образом, что для всех пикселей , удовлетворяющих условию и пиксели , которые соответствуют пикселям исходя из их порядкового номера k=0 N-1 и пространственного положения в опорном и кодируемом кадрах, группируются в группы, обозначаемые B(LRi,LR i+1):
,
при этом величины LRi, LR i+1 определяют границы диапазона, задающего группу B(LR i,LRi+1), и удовлетворяют условию LRi >-1; LRi+1>Ri, количество групп B(LR i,LRi+1) NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi,LRi+1):-1<LR 0<LR0<LR0 <LRNB;
- для всех пикселей , принадлежащих группе B(LRi,LRi+1 ), рассчитываются следующие величины:
- среднее значение Mean(B(LRi,LRi+1) по группе B(LRi ,LRi+1), рассчитываемое по формуле:
,
где |B(LRi,LRi+1)| обозначает количество пикселей в группе B(LRi,LRi+1 ),
- среднее отклонение Dev(B(LRi,LRi+1 )) значений пикселей в группе B(LRi,LRi+1 ), рассчитываемое по формуле:
;
в том случае если для очередного рассматриваемого пикселя группы B(LRi,LRi+1) модуль разности между его значением и средним значением по группе B(LRi ,LRj) оказывается больше, чем значение Dev(B(LR i,LRj)), умноженное на величину, большую 0, задающее совместно допустимый разброс в группе B(LRi ,LRj), рассматриваемый пиксель исключается из дальнейших расчетов параметров коррекции яркости опорного блока.
17. Способ по п.16, отличающийся тем, что среднее отклонение Dev(B(LRi,LRi+1 )) значений пикселей в группе B(LRi,LRi+1 ) рассчитывается по формуле:
;
в том случае если для очередного рассматриваемого пикселя группы B(LRi,LRi+1) модуль разности между его значением и средним значением по группе B(LRi ,LRj) оказывается больше, чем рассчитанное значение Dev(B(LRi,LRj)), умноженное на величину, большую 0, задающее совместно допустимый разброс в группе B(LR i,LRj), рассматриваемый пиксель исключается из дальнейших расчетов параметров коррекции яркости опорного блока.
18. Способ кодирования многоракурсных видеопоследовательностей, основанный на локальной коррекции яркости опорного блока, включающий в себя выполнение следующих этапов:
- определяют опорный блок, который используется для формирования блока-предсказания для текущего кодируемого блока;
- определяют параметры коррекции изменения яркости для коррекции различия в яркости между опорным блоком и текущим кодируемым блоком в процессе поиска или по завершении поиска опорного блока;
- выполняют коррекцию изменения яркости найденного опорного блока за счет использования найденных параметров коррекции изменения яркости;
- формируют блок-предсказание для текущего кодируемого блока за счет использования скорректированного по яркости опорного блока;
- кодируют текущий блок с помощью сформированного блока-предсказания без кодирования найденных параметров коррекции изменения яркости; кодируют информацию об опорном блоке, если это необходимо для декодирования;
отличающийся тем, что процедура определения параметров коррекции яркости включает в себя следующие этапы:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значения пикселей, соседних по отношению к опорному блоку опорного кадра;
- исключают из рассмотрения пиксели, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех пикселей и статистических характеристик в указанных областях;
- оценивают степень подобия полученных восстановленных пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно;
- определяют числовые соотношения между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, и соотношения между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- на основе найденных на предыдущем шаге числовых соотношений, значений пикселей опорного блока, восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку, определяют параметры коррекции яркости опорного блока.
19. Способ кодирования многоракурсных видеопоследовательностей, основанный на локальной коррекции яркости опорного блока по п.18, отличающийся тем, что:
- выполняют коррекцию изменения яркости найденного опорного блока за счет использования найденных параметров коррекции изменения яркости в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое задают наперед или которое адаптивно задается в процессе коррекции.
20. Способ декодирования многоракурсных видеопоследовательностей, основанный на коррекции яркости, включающий в себя следующие этапы:
- декодируют информацию об опорном блоке, если это необходимо для того, чтобы определить опорный блок текущего блока, и определяют опорный блок;
- определяют параметры коррекции изменения для коррекции яркости найденного опорного блока;
- выполняют коррекцию различия в яркости для найденного опорного блока, используя найденные параметры коррекции изменения яркости;
- формируют блок-предсказание для текущего декодируемого блока, используя опорный блок, скорректированный по яркости;
- декодируют текущий блок, используя сформированный блок-предсказание и найденные параметры коррекции изменения яркости;
отличающийся тем, что процедура определения параметров коррекции яркости и контрастности включает в себя следующие этапы:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значения пикселей, соседних по отношению к опорному блоку опорного кадра;
- исключают из рассмотрения пиксели, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех пикселей и статистических характеристик в указанных областях;
- оценивают степень подобия полученных восстановленных пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно;
- определяют числовые соотношения между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, и соотношения между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- на основе найденных на предыдущем шаге числовых соотношений, значений пикселей опорного блока, восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку, определяют параметры коррекции изменения яркости для коррекции различия в яркости опорного блока.
21. Способ декодирования многоракурсных видеопоследовательностей, основанный на коррекции яркости по п.20, отличающийся тем, что:
- выполняют коррекцию различия в яркости для найденного опорного блока, используя найденные параметры коррекции изменения яркости в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое задается наперед или адаптивно задается в процессе коррекции.
Описание изобретения к патенту
Изобретение относится к технологиям обработки цифровых сигналов, а более конкретно - к способам коррекции различий в яркости, которые могут возникать между кадрами многоракурсной видеопоследовательности. В частности, настоящее изобретение может быть использовано при кодировании и декодировании многоракурсных видеопоследовательностей.
Один из известных из уровня техники способов, применяемых для кодирования многоракурсных видеопоследовательностей, заключается в использовании кадров, принадлежащих соседним видам (ракурсам), а также кадров, синтезированных с помощью кадров соседних видов (ракурсов) и карт глубин. Такие кадры выступают в качестве опорных кадров при проведении кодирования с предсказанием [1]. При этом производится устранение возможного смещения объекта в текущем кадре относительно одного из опорных кадров. Под смещением может пониматься движение объекта или различие в положении объекта между текущим кодируемым кадром и кадрами, принадлежащими соседним видам (ракурсам), или синтезированным кадром. Цель устранения указанного смещения заключается в минимизации межкадровой разности. Полученная межкадровая разность затем кодируется (например, путем применения декоррелирующего преобразования, квантования и энтропийного кодирования) и помещается в выходной битовый поток.
Возможные различия в параметрах камер, используемых для съемки многоракурсных видеопоследовательностей, а также различие в световом потоке, поступающем от объектов съемки к камерам, приводят к локальным различиям яркости между кадрами, принадлежащими разным ракурсам. Указанные различия в яркости также влияют на характеристики синтезированных кадров. Это может приводить к увеличению абсолютных значений межкадровой разности, что негативно сказывается на эффективности кодирования
Для решения указанной выше проблемы в стандарте Н.264 [2] используется взвешенный прогноз, изначально предназначенный для эффективного кодирования одновидовых (одноракурсных) видеопоследовательностей, в которых встречаются эффекты плавного введения и выведения изображения, мерцания или смены сцены. Взвешенный прогноз позволяет устранять различие в яркости между кодируемым кадром и опорными кадрами на уровне макроблоков. При этом используются одни и те же значения весовых коэффициентов для всех макроблоков, принадлежащих одному и тому же слою. Весовые коэффициенты могут определяться в процессе кодирования и сохраняться в выходном битовом потоке («явный» взвешенный прогноз) или вычисляться в процессе кодирования/декодирования («неявный» взвешенный прогноз). Однако в случае многоракурсных последовательностей, где могут наблюдаться локальные изменения яркости и/или контрастности, такой способ может оказаться неэффективным.
Другим подходом к решению указанной проблемы является адаптивная поблочная коррекция различия в яркости [3]. Одним из способов, реализующих указанный подход, является способ одношаговой аффинной коррекции яркости для многоракурсных видеопоследовательностей (Multiview One-Step Affine Illumination Compensation - MOSAIC) [4, 5]. Указанный способ предполагает комбинацию поблочной коррекции различия в яркости с описанными в [2] режимами межкадрового предсказания. В процессе такого кодирования для каждого макроблока вычисляют средние значения пикселей текущего кодируемого блока и опорного блока-кандидата. Для указанных блоков формируют модифицированные блоки путем вычитания среднего значения для каждого пикселя блока. Затем для полученных блоков вычисляют сумму абсолютных разностей (Mean-Removed Sun of Absolute Difference - MRSAD). Результатом межкадрового предсказания являются относительные координаты опорного блока (вектор смещения), которые дают минимальное значение стоимости кодирования, а также разность между модифицированным кодируемым блоком и модифицированным опорным блоком. При этом вычисление стоимости кодирования основывается на вычисленном значении MRSAD и оценке битовых затрат на передачу дополнительной информации, необходимой для последующего декодирования. Помимо вектора смещения дополнительная информация включает в себя разность между средними значениями текущего и опорного блоков. Эта разность обозначается как DVIC (Difference Value of Illumination Compensation) и является параметром коррекции яркости. Значение DVIC подвергается дифференциальному кодированию и помещается в выходной битовый поток. Необходимо отметить, что в случае режима "Р Skip" значение DVIC определяется на основании значений DVIC соседних макроблоков, которые уже были закодированы на момент кодирования текущего макроблока. Таким образом, приведенный способ не позволяет полностью устранить необходимость явной передачи дополнительной информации, необходимой для последующего декодирования.
Параметры, необходимые для коррекции различия яркости, могут быть получены путем анализа восстановленных (закодированных, а затем декодированных) областей кадров. Это помогает уменьшить количество дополнительной информации, которая должна быть закодирована и явным образом помещена в выходной битовый поток. Указанный подход был реализован в способе взвешенного предсказания с использованием соседних пикселей (WPNP - Weighted Prediction using Neighboring Pixels) [6]. Этот способ использует значения пикселей кодируемого кадра, соседних с текущим кодируемым блоком, и значения пикселей опорного кадра, соседних с опорным блоком, для попиксельной оценки изменения яркости. При этом изменения яркости для выбираемых двух соседних пикселей умножаются на весовые коэффициенты и складываются, образуя оценку изменения яркости и контрастности между отдельными пикселями текущего и опорного блоков. Необходимо отметить, что весовые коэффициенты вычисляются отдельно для каждого положения пикселя кодируемого блока. Значения весовых коэффициентов определяются исходя из взаимного расстояния между пикселем кодируемого блока и выбранными соседними пикселями. На точность производимой оценки оказывает влияние то, что изменение яркости пикселей, соседних по отношению к кодируемому и опорному блокам, может отличаться от изменения яркости пикселей, принадлежащих непосредственно кодируемому и опорному блокам, а также то, что метод согласно [6] учитывает только взаимное пространственное положение пикселей, но не учитывает соотношения интенсивностей корректируемого пикселя и пикселя из окрестности.
Другой вариант, реализующий подход, связанный с оценкой параметров изменения яркости и контрастности путем анализа восстановленных (закодированных, а затем декодированных) областей кадров, описан в патентной заявке США 2011/0286678 [7]. Описываемый в заявке способ кодирования многоракурсных видеопоследовательностей включает в себя коррекцию различия яркости в процессе кодирования с предсказанием. Параметры коррекции изменения яркости оцениваются исходя из оценки изменения яркости для смежных, по отношению к кодируемому и опорному блокам, областей. Так как указанные смежные области доступны как при кодировании, так и при декодировании, то отпадает необходимость явной передачи параметров коррекции в выходном битовом потоке. Получаемые параметры применяются для коррекции опорного блока. Надежность оценки параметров изменения яркости определяется путем коррекции яркости для области опорного кадра, смежной с опорным блоком, и сравнения полученной скорректированной области с восстановленной (закодированной и затем декодированной) областью кодируемого кадра, смежной с текущим кодируемым блоком. Недостаток указанного способа заключается в том, что надежность коррекции изменения яркости определяется только путем анализа смежных областей. Данные, содержащиеся в опорном блоке, не используются при анализе надежности коррекции изменения яркости, что может приводить к ошибочной коррекции, тем самым снижая ее эффективность
Наиболее близким к заявляемому изобретению является способ, описанный в патентной заявке США 2008/0304760 [8]. Указанный способ коррекции изменения яркости и контрастности для опорного блока включает в себя следующие этапы: получение восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и восстановленных значений пикселей, соседних по отношению к опорному блоку, в качестве входной информации; предсказание средних значений для текущего кодируемого и опорного блоков на основании восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и восстановленных значений пикселей, соседних по отношению к опорному блоку; определение параметров коррекции яркости для опорного блока на основе предсказанного среднего значения пикселей текущего кодируемого блока, предсказанного среднего значения опорного блока и значений пикселей текущего кодируемого блока и опорного блока; и выполнение коррекции яркости для опорного блока, используя ранее определенный параметр коррекции яркости.
Недостаток прототипа [8] заключается в следующем. Восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку и опорному блоку, используются исключительно для предсказания средних значений. Это ограничение не позволяет использовать информацию, которая содержится в соседних пикселях. Кроме того, отсутствует анализ соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку. Таким образом, не принимаются во внимание возможные различия в параметрах коррекции изменения яркости между рассматриваемыми блоками и областями, соседними по отношению к рассматриваемым блокам. Это может приводить к снижению надежности процедуры коррекции различия в яркости и контрастности, что негативным образом будет сказываться на эффективности кодирования. Помимо этого способ не позволяет учесть наличие пикселей в смежных областях, значения которых в силу различных причин, например ввиду квантования, оказываются сильно отличающимися от общей совокупности пикселей в смежных областях. Ввиду этого точность финальной оценки параметров коррекции яркости может быть существенно снижена. Еще одним недостатком прототипа является то, что параметры коррекции всегда передаются в выходном битовом потоке, что в целом негативно сказывается на эффективности кодирования.
Задача, на решение которой направлено заявляемое изобретение, заключается в том, чтобы разработать способ, превосходящий эффективность прототипа [8] в случаях, когда используется модель гибридного видеокодирования.
Технический результат достигается за счет разработки способа коррекции различия яркости между опорным блоком и текущим кодируемым блоком при проведении межкадрового предсказания для кодирования многоракурсной видеопоследовательности, причем такой способ включает в себя:
- получение значений пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значений пикселей опорного блока, принадлежащего опорному кадру;
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели выбираются из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, производится исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей используется как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;
- исключение из рассмотрения при определении параметров изменения яркости пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;
- определение соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- определение параметров коррекции изменения яркости для коррекции различия в яркости между опорным блоком и текущим кодируемым блоком на основе найденных на предыдущем шаге соотношений, значениями пикселей опорного блока, восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- выполнение коррекции различий яркости между опорным блоком и текущим кодируемым блоком на основе найденных на предыдущем шаге параметров в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое задают заранее или которое адаптивно изменяется в процессе коррекции.
Таким образом, заявляемое изобретение заключается в применении более надежной адаптивной процедуры оценки параметров изменения яркости опорного блока, а также процедуры коррекции яркости опорного блока. А более конкретно, существо заявляемого изобретения состоит в использовании большего количества данных для оценки параметров изменения яркости, а также учете существующих связей между значениями пикселей опорного блока, восстановленными значениями пикселей, соседних с опорным блоком, и восстановленными значениями пикселей, соседних с кодируемым блоком. Помимо этого предусматривается использование критериев сходства областей для детектирования случаев, когда коррекция может быть неэффективной, предложены новые способы выявления пикселей, сильно отличающихся от совокупности пикселей в смежных областях, на основе которых выполняется оценка параметров, а также предложены способы исключения выявленных сильно отличающихся значений пикселей из дальнейшего рассмотрения. В частности, в заявляемом способе проводится анализ соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку. При реализации способа предусмотрено также применение усовершенствованных способов кодирования и декодирования многоракурсных видеопоследовательностей, причем такие способы основаны на использовании коррекции яркости, что позволяет повысить эффективность сжатия благодаря тому, что при оценке изменения яркости используются значения пикселей, которые доступны как при кодировании, так и при декодировании. В этом случае параметры коррекции яркости могут быть точно восстановлены без необходимости передачи каких-либо дополнительных данных в выходном битовом потоке. Также при вычислении оценки параметров изменения яркости предложено исключать из рассмотрения пиксели, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от остальных пикселей указанных областей по заданному критерию. Такие пиксели будем в дальнейшем называть ненадежными.
В одном из вариантов реализации заявляемого изобретения предлагается модификация упомянутого выше способа, заключающаяся в том, что процесс определения соотношений между пикселями текущего кодируемого кадра и опорного кадра, а также определения параметров коррекции яркости включает в себя:
- вычисление статистических характеристик для восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, статистических характеристик для пикселей опорного блока и статистических характеристик для пикселей, соседних по отношению к опорному блоку;
- определение соотношений между статистическими характеристиками для пикселей опорного блока и статистическими характеристиками для восстановленных значений пикселей, соседних по отношению к опорному блоку;
- вычисление оценки значения статистической характеристики для текущего кодируемого блока на основе вычисленных статистических характеристик и соотношений между ними;
- определение параметра коррекции изменения яркости для коррекции различия в яркости между опорным и текущим кодируемым блоками на основе найденной оценки статистической характеристики для текущего блока и статистической характеристики опорного блока.
Еще одна модификация заявляемого изобретения состоит в том, что способ коррекции яркости опорного блока в процессе кодирования многоракурсной видеопоследовательности включает в себя:
- получение значений пикселей текущего блока кодируемого кадра и значений пикселей опорного блока опорного кадра;
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку;
- вычисление первой оценки estDi,j для каждого положения (i,j) пикселя в опорном блоке; причем первая оценка estDi,j является линейной комбинацией восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, k=0, , N-1, N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;
- вычисление второй оценки estRi,j для каждого положения (i,j) пикселя в опорном блоке; причем вторая оценка estRi,j является линейной комбинацией значений пикселей, соседних по отношению к опорному блоку, k=0, , N-1;
- определение параметров коррекции изменения яркости для коррекции каждого пикселя в опорном блоке; при этом определение этих параметров основывается на значении первой оценки estDi,j, значении второй оценки estR i,j, а также на значениях Ri,j пикселей опорного блока;
- выполнение коррекции изменения яркости для каждого пикселя в опорным блоке, используя найденные на предыдущем шаге параметры коррекции изменения яркости и контрастности.
Согласно другой модификации заявляемого изобретения способ предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке и определение параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включают в себя:
- вычисление первой оценки estDi,j как
,
где Wk(i,j), k=0, , N-1 - весовые коэффициенты, и , k=0, , N-1 - восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, N - это число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;
- вычисление второй оценки estRi,j как , где Wk(i,j), k=0, , N-1 - весовые коэффициенты, и , k=0, , N-1 - значения пикселей, соседних по отношению к опорному блоку;
- определение параметров коррекции изменения яркости для каждого положения (i,j) пикселя в опорном блоке; этот параметр определяется как , если вторая оценка estRi,j не равна нулю. В противном случае i,j полагается равным 1;
- выполнение коррекции изменения яркости для опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий ему параметр коррекции i,j.
Также заявляемое изобретение предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке и определение параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включают в себя:
- вычисление первой оценки estD i,j как
где Wk(i,j), k=0, , N-1 и Lk(i,j), k=0 N-1 - два набора весовых коэффициентов, и , k=0, , N-1 - восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, N - это число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;
- вычисление второй оценки estRi,j как
где Wk(i,j), k=0, , N-1 и Lk(i,j), k=0 N-1 - два набора весовых коэффициентов, и , k=0, , N-1 - значения пикселей, соседних по отношению к опорному блоку;
- определение параметров коррекции изменения яркости для каждого положения (i,j) пикселя в опорном блоке; этот параметр определяется как , если вторая оценка estRi,j не равна нулю. В противном случае i,j полагается равным 1;
- выполнение коррекции изменения яркости для опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий ему параметр коррекции i,j.
Еще одна модификация заявляемого изобретения предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов Wk(i,j), k=0, , N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен невозрастающей функции абсолютной разности:
,
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i,j) в зависимости от уменьшения/увеличения абсолютной разности. Здесь Ri,j - это значение пикселя опорного блока; (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
Также другой вариант модификации заявляемого изобретения предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов Lk(i,j), k=0 N-1 для первой оценки estDi,j и второй оценки estRi,j для каждого положения (i,j) пикселя в опорном блоке так, что весовой коэффициент Lk(i,j) равен невозрастающей функции f расстояния между пикселями :
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Lk(i,j) в зависимости от приближения или удаления пикселя (k=0, ,N-1) от корректируемого пикселя Ri,j. Здесь Ri,j - это значение пикселя опорного блока; (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
В другом варианте реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов W k(i,j), k=0, ,N-1, для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен невозрастающей функции абсолютной разности:
,
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i,j) в зависимости от уменьшения/увеличения абсолютной разности; в случае , где Thr - предопределенное пороговое значение; иначе Wk(i,j)=0. Здесь Ri,j - значение пикселя опорного блока; (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
При реализации заявляемого изобретения имеет смысл применить еще одну модификацию упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов W k(i,j),k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен невозрастающей функции абсолютной разности:
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i,j) в зависимости от уменьшения/увеличения абсолютной разности; в случае , где (k=0, ,N) - значение пикселя, соседнего по отношению к текущему кодируемому блоку, Thr1 - первый предопределенный порог; и , где Thr2 - второй предопределенный порог; иначе W k(i,j)=0. Здесь Ri,j - значение пикселя опорного блока; (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
Согласно другому варианту реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценки для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов W k(i,j), k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) определяется как: Wk(i,j)=exp(-C1·Ak(i,j)C2 +C3), где C1, C2, C3 - параметры, задающие нелинейную зависимость весового коэффициента от величины Аk(i,j), и A k(i,j) определяется как , Ri,j - значение пикселя опорного блока, (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку, в случае , где Thr - предопределенный порог; иначе Wk (i,j)=0.
Дальнейшее развитие предлагаемого варианта заявляемого изобретения заключается в том, что параметры, определяющие зависимость весовых коэффициентов Wk(i,j), в частности параметры С1, С2 и С3, могут адаптивно изменяться в зависимости от расстояния между пикселем Ri,j в опорном блоке и пикселями (k=0, ,N-1), соседними по отношению к опорному блоку. Тем самым может быть обеспечен учет различного влияния пикселей, соседних с текущим блоком и соседних с опорным блоком, участвующих в вычислении параметров коррекции в зависимости от расстояния до корректируемого пикселя Ri,j.
В качестве альтернативы при реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов Wk(i,j), k=0, ,N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i,j) пикселя в опорном блоке весовой коэффициент Wk(i,j) равен Wk (i,j)=exp(-C1·Ak(i,j)C2+C3), где С1, С2, С3 - параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i,j); Ak(i,j) равняется , где Ri,j - значение пикселя опорного блока, (k=0, ,N-1) - значение пикселя, соседнего по отношению к опорному блоку, в случае , где , k=0, ,N-1 - значение пикселя, соседнего по отношению к текущему кодируемому блоку, Thr1 - первый предопределенный порог; и , где Thr2 - второй предопределенный порог; иначе W k(i,j)=0.
Для оценки подобия восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, заявляемое изобретение также предусматривает:
- все уже восстановленные пиксели (k=0, ,N-1), соседние с опорным блоком, и все уже восстановленные пиксели , k=0, ,N-1, соседние с кодируемым блоком, образуя совместно пары ( , ), однозначно задаваемые пространственным положением пикселей (k=0, ,N-1) и , k=0, ,N-1 в соответствующих областях, которое определяется значением номера пикселя k, группируются в М непересекающихся групп G0 GM-1, таких что ( , ), k=0 N-1 {G0 G1 GM-1}. Пары пикселей, принадлежащих группе Gi, обозначаются также как {( , ) Gi};
- для каждой группы Gi рассчитывается метрика, которая основана на учете пиксельных различий и за исключением различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- для каждой группы Gi рассчитывается метрика, основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0 GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- рассчитывается общая метрика, обозначаемая M_Norm, для групп G0 GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается сильным;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, слабое, коррекция может не применяться;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, сильное, коррекция выполняется безусловно.
Дальнейшее развитие метода предусматривает следующее:
- для каждой группы Gi рассчитывается метрика MR_Norm(Gi), которая основана на учете пиксельных различий и за исключением различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
где значение степенного показателя Р1 определяется экспериментально;
- для каждой группы Gi рассчитывается метрика M_Norm(Gi), основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
где значение степенного показателя Р2 определяется экспериментально;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0 GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
рассчитывается общая метрика, обозначаемая м_Norm, для групп G0 GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается сильным;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, слабое, коррекция может не применяться;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, сильное, коррекция применяется обязательно.
Для повышения точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком заявляемое изобретение предусматривает, что для исключения из рассмотрения полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях, выполняют следующие действия:
- группируют пиксели таким образом, что для всех пикселей , удовлетворяющих условию и , пиксели , которые соответствуют пикселям исходя из их порядкового номера k=0 N-1 и пространственного положения в опорном и кодируемом кадрах, группируются в группы, обозначаемые B(LRi, LRi+1):
при этом величины LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1), и удовлетворяют условию LRi>-1; LRi+1>Ri. Количество групп B(LRi,LRi+1)NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi,LR i+1):-1<LR0<LR0<LR0 <LRNB;
- для каждой группы B(LRi,LRi+1), задаваемой величинами (LR i,LRi+1), рассчитывают следующие величины:
- для каждого пикселя группы B(LRi,LRi+1) проверяют верность следующих трех условий:
- Условие 1:
|C_Plus(LRi,LRi+1)-C_Minus(LRi ,LRi+1)|<Thr6;
- Условие 2:
C_Plus(LRi,LRi+1)-C_Minus(LR i,LRi+1)>=Thr6 AND ;
- Условие 3:
C_Plus(LR i,LRi+1)-C_Minus(LRi,LRi+1 )<=-Thr6 AND ;
в том случае если верным является хотя бы одно из проверяемых условий 1 3 для очередного рассматриваемого пикселя группы B(LRi,LRi+1), рассматриваемый пиксель включается в дальнейшие расчеты параметров коррекции яркости опорного блока.
Еще одним вариантом реализации заявляемого изобретения, направленным на повышение точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком, является следующая модификация.
Для всех вышеопределенных пар пикселей рассматриваются пиксели , так что и и соответствующие им пиксели сгруппируются в логические группы, обозначаемые B(LR i,LRi+1):
где LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi ,LRi+1), и удовлетворяют условию LRi>-1; LRi+1>Ri. Количество групп B(LR i,LRi+1)NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi,LRi+1):-1<LR 0<LR0<LR0 <LRNB.
Для всех пикселей , принадлежащих B(LRi,LRi+1), рассчитываются следующие величины.
- Среднее значение Mean (B(LR i,LRi+1)) по группе B(LRi,LR i+1), определяемое по формуле:
,
где |B(LRi,LRi+1 )| обозначает количество пикселей в группе B(LRi,LR i+1).
- Медианное значение Med(B(LR i,LRi+1)) по группе B(LRi,LR i+1), определяемое как такое значение пикселя, принадлежащего группе B(LRi,LRi+1), что количество пикселей, принадлежащих группе B(LRi,LRi+1) и не превышающих по своему значению определяемое медианное значение, равно количеству пикселей, принадлежащих группе B(LRi ,LRi+1), которые не меньше определяемого медианного значения группы B(LRi,LRi+1).
- Наиболее вероятное значение Mod(B(LRi,LRi+1 )) в группе B(LRi,LRi+1).
- Среднее отклонение Dev(B(LRi,LRi+1)) значений пикселей в группе B(LRi,LRi+1), которое может быть рассчитано по одной из широко известных формул, позволяющих оценить параметры разброса значений пикселей в группе B(LRi,LRi+1), например, в одном из вариантов величина Dev(B(LRi,LRi+1)) может быть рассчитана по формуле:
где |B(LRi,LRi+1 )| обозначает количество пикселей в логической группе B(LR i,LRi+1); в другой реализации величина Dev(B(LR i,LRi+1)) может быть рассчитана по формуле:
отличающейся от предыдущей тем, что оценка отклонения получается несмещенной, что особенно важно для случая сравнительно небольшого количества элементов в группе B(LRi,LRi+1); также в целях упрощения может быть применена следующая формула для оценки величины среднего отклонения по группе B(LRi,LRi+1):
Эксперты могут также использовать иные способы оценки величины Dev(B(LRi,LRj )), характеризующей, по сути, степень разброса пикселей, принадлежащих группе B(LRi,LRi+1).
Для повышения надежности дальнейших оценок предусматривается исключение из дальнейшего рассмотрения тех значений пикселей группы B(LR i,Rj), для которых модуль разности между значением отдельного пикселя и средним значением по группе B(LRi ,LRj), и/или медианным значением по группе B(LR i,LRj), и/или наиболее вероятным значением по группе B(LRi,LRj) оказывается больше, чем значение Dev(B(LRi,LRj)), рассчитанное по одной из широко известных формул, умноженное на величину, большую 0, задающее совместно допустимый разброс в группе B(LR i,LRj).
Согласно другому варианту реализации заявляемого изобретения предлагается модификация упомянутого выше метода, в которой предусматривается, что позиции восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и позиции значений пикселей, соседних по отношению к опорному блоку, определяются адаптивно вместо соответствующих пикселей с наперед заданными позициями.
В группу связанных единым замыслом изобретений входит также оригинальный способ кодирования многоракурсных видеопоследовательностей на основе коррекции изменения яркости. Этот способ включает в себя:
- определение опорного блока, который используется для формирования блока-предсказания для текущего кодируемого блока;
- определение параметров коррекции яркости для коррекции локального различия в яркости между опорным блоком и текущим кодируемым блоком в процессе поиска или по завершении поиска опорного блока;
- выполнение коррекции яркости найденного опорного блока с использованием определенных параметров коррекции изменения яркости;
- формирование блока-предсказания для текущего кодируемого блока за счет использования скорректированного по яркости опорного блока;
- кодирование текущего блока с помощью сформированного блока-предсказания без кодирования найденных параметров коррекции изменения яркости; кодирование информации об опорном блоке, если это необходимо для декодирования;
при этом определение параметров коррекции изменения яркости включает в себя:
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, может производиться исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;
- исключение из рассмотрения при определении параметров изменения яркости пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;
- определение соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- определение параметров коррекции яркости для коррекции различия в яркости между опорным блоком и текущим кодируемым блоком на основе найденных на предыдущем шаге соотношений между значениями пикселей опорного блока, восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- выполнение коррекции различий яркости между опорным блоком и текущим кодируемым блоком на основе найденных на предыдущем шаге параметров в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое может быть задано наперед или адаптивно изменяться в процессе коррекции.
В рамках единого замысла предусматривается также использование оригинального способа декодирования многоракурсных видеопоследовательностей на основе коррекции изменения яркости и контрастности. Этот способ включает в себя:
- декодирование информации об опорном блоке, если это необходимо для того, чтобы определить опорный блок для текущего декодируемого блока; определение опорного блока;
- определение параметров коррекции изменения яркости для найденного опорного блока;
- выполнение коррекции изменения яркости найденного опорного блока, используя найденные параметры коррекции изменения яркости;
- формирование блока-предсказания для текущего декодируемого блока за счет использования опорного блока, скорректированного по яркости;
- декодирование текущего блока за счет использования полученного блока-предсказания и параметров коррекции изменения яркости;
при этом процедура определения параметров коррекции яркости включает в себя:
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, может производиться исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;
- исключение из рассмотрения при определении параметров изменения яркости пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;
- определение соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- определение параметров коррекции изменения яркости для коррекции различия в яркости между опорным блоком и текущим кодируемым блоком на основе найденных на предыдущем шаге соотношений между значениями пикселей опорного блока, восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- выполнение коррекции различий яркости между опорным блоком и текущим кодируемым блоком на основе найденных на предыдущем шаге параметров в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое может быть задано наперед или адаптивно изменяться в процессе коррекции.
Далее существо изобретения поясняется с привлечением графических материалов.
Фиг.1 - структурная схема гибридного кодера многоракурсных видеопоследовательностей и место применения заявляемого изобретения.
Фиг.2 - структурная схема части гибридного видео кодера, реализующей заявляемый способ, входящий в состав процесса кодирования с предсказанием.
Фиг.3 - диаграмма, отражающая основные элементы кодируемого, опорного кадров, которые участвуют в расчете коррекции изменения яркости для опорного блока в соответствии с заявляемым изобретением.
Фиг.4 - диаграмма, иллюстрирующая понятие суперблока, одну из возможных комбинаций размеров блоков, входящих в суперблок, а также два типа пространственных преобразований, используемых для декорреляции разностных данных.
Фиг.5 (вид 5.1 и вид 5.2) - диаграммы, иллюстрирующие процедуру выбора входных данных в текущем кадре в процессе вычисления параметров коррекции яркости согласно одному из примеров реализации заявляемого изобретения, а также понятие пространственной близости.
Фиг.6 - диаграмма, иллюстрирующая способ коррекции изменения яркости для опорного блока в соответствии с одним из вариантов реализации заявляемого изобретения.
Фиг.7 - блок-схема, иллюстрирующая способ пиксельной коррекции изменения яркости для опорного блока согласно одному из примеров реализации заявляемого изобретения.
Фиг.8 - диаграмма, поясняющая способ коррекции изменения яркости для опорного блока в соответствии с другим вариантом реализации заявляемого изобретения.
Фиг.9 - блок-схема, описывающая способ кодирования многоракурсных видеопоследовательностей, основанный на коррекции изменения яркости согласно одному из примеров реализации заявляемого изобретения.
Фиг.10 - блок-схема, описывающая способ декодирования многоракурсных видеопоследовательностей на основе коррекции изменения яркости согласно одному из примеров реализации заявляемого изобретения.
На Фиг.1 изображена структурная схема гибридного кодера многоракурсных видеопоследовательностей. Входные данные гибридного кодера 105 многоракурсных видеопоследовательностей включают в себя исходный вид (кодируемый ракурс) 101 и уже закодированные и затем декодированные виды (ракурсы) 102, которые являются частью закодированных многоракурсных видеоданных. Уже закодированные/декодированные виды 102 и уже закодированные/декодированные последовательности 103 карт глубин используются для формирования синтезированного вида (ракурса) для исходного вида (кодируемого ракурса) с помощью процедуры 104 синтеза. Сформированный синтезированный вид (ракурс) также поступает на вход гибридного кодера 105.
Гибридный кодер 105 содержит следующие функциональные блоки, используемые для кодирования исходного вида (ракурса): блок 106 управления опорными кадрами, блок 107 межкадрового предсказания, блок 108 внутрикадрового предсказания, блок 109 межкадровой и внутрикадровой компенсации, блок 110 пространственного преобразования, блок 111 оптимизации отношения скорость/искажение, блок 112 энтропийного кодирования. Детальная информация об упомянутых функциональных блоках содержится в [9]. Заявляемый способ может быть реализован в рамках блока 107 межкадрового предсказания.
Фиг.2 содержит схему части гибридного видеокодера, которая реализует заявляемый способ в составе функционального блока кодирования с предсказанием. Гибридный кодер включает в себя блок 201 вычитания, блок 202 преобразования и квантования, блок 203 энтропийного кодирования, блок 204 обратного преобразования и обратного квантования, блок 205 компенсации смещения и коррекции изменения яркости/контрастности, блок 206 синтеза вида (ракурса), блок 207 сложения, блок 208 буферизации опорных кадров и карт глубины, блок 209 предсказания параметров компенсации и коррекции, блок 210 оценки смещения и изменения яркости/контрастности и блок 211 принятия решения о режиме кодирования макроблока. Блоки 201-204, 207-209 и 211 являются стандартными блоками кодирования, которые используются в базовом гибридном способе кодирования [9]. Блок 206 синтеза вида (ракурса) является блоком, характерным для систем для многоракурсного кодирования, т.к. выполняет формирование (синтез) дополнительных опорных кадров из уже закодированных/декодированных кадров и карт глубины.
Заявляемый способ реализуется в блоках 205 и 210. Эти блоки осуществляют способ поблочного кодирования с предсказанием, который включает в себя следующие этапы:
- для текущего блока текущего кодируемого кадра выполняют поиск опорного блока, при этом определяется вектор смещения (DV), задаваемый парой чисел (i,j), который обычно определяет совокупный оптимум между битовыми затратами на кодирование вектора смещения как такового и величины разбежки между кодируемым блоком и скорректированным опорным блоком, которое может быть, например, вычислено по формуле:
где I(m,n) представляет собой значение яркости пикселя с координатами (m,n) внутри текущего блока. Размер текущего кодируемого блока равен Н×W. (i,j) определяет вектор смещения, который указывает на опорный блок R в пределах предопределенной области поиска. (x) - функция, корректирующая возможные различия в яркости и контрастности между текущим блоком и опорным блоком. Степенной показатель Р, больший 0, обычно принимает одно из значений 1 или 2. Описанный способ реализуется в блоке 210. Найденные параметры коррекции изменения яркости, совместно с полученным DV, передаются в блок 205 и в блок 209. При практической реализации вектор смещения может также определяться сразу для нескольких рассматриваемых далее блоков в целях более компактного представления служебной информации, в этом случае критерий минимизации будет задаваться для суперблока, включающего сразу несколько рассматриваемых далее блоков. В этом случае критерий минимизации может быть задан следующим образом:
,
где H1, W1 - размеры суперблока.
Найденный опорный блок преобразуют в соответствии с найденными параметрами коррекции изменения яркости (блок 205). После этого блок 201 формирует разностный блок. Затем разностный блок преобразуется с помощью Дискретного Косинусного Преобразования (ДКП), квантуется (блок 202) и кодируется энтропийным кодером (блок 203). Дополнительные данные (ST), необходимые для последующего декодирования, также кодируются энтропийным кодером (блок 203).
На Фиг.3 схематично указаны основные элементы кодируемого, опорного кадров, участвующие в расчете коррекции изменения яркости для опорного блока в соответствии с заявляемым изобретением. В соответствии с Фиг.3 для текущего блока 311 (который может входить в состав кодируемого суперблока 315) текущего кодируемого кадра 310 определятся вектор 320 смещения (DV), который также может быть определен для кодируемого суперблока 315. Вектор 320 позволяет однозначно определить опорный блок 301 из опорного кадра 300 для текущего кодируемого блока 311, при этом вектор смещения также однозначно задает опорный суперблок 305, который соответствует кодируемому суперблоку 315. Следует отметить, что опорный кадр 300, блоки 301, 302, 303, 304, 305 и восстановленные (закодированные и затем декодированные) блоки текущего кадра 310, 312, 313, 314 доступны как во время кодирования, так и при декодировании.
На Фиг.4 кодируемый кадр 400 содержит внутри себя суперблок 401, который характерен тем, что в него может входить один или более кодируемых блоков, и для суперблока задается вектор смещения 407, обеспечивающий однозначное определение опорного суперблока 408 в опорном кадре 406. Суперблок 401 включает в себя в данном случае блоки 402, 403, 404, 405, при этом блок 404, так же как и блок 402, кодируется с использованием преобразования, имеющего меньший размер, чем преобразование, применяемое в данном примере для блоков 403 и 405. Выбор размеров суперблока, типов и размеров преобразования определяется кодером исходя из заранее заданных критериев минимизации стоимости кодирования информации для данного участка кодируемого кадра. Как следует из Фиг.4, блоки 402, 403, 404, 405 логически связаны, т.к. входят в суперблок 401 как составные части.
Фиг.5 (виды 5.1 и 5.2) иллюстрируют взаимное расположение основных рассматриваемых в данном изобретении областей текущего кадра 500. Так, область 501 текущего кадра 500 доступна во время кодирования и декодирования текущего кодируемого блока 502. Область 501 иногда также называют «шаблоном». Область 503 не доступна во время декодирования текущего блока 502. Поскольку в заявляемом изобретении расчет параметров коррекции яркости опорного блока основан на пикселях текущего кадра, которые расположены только в области 501, при реализации подобной коррекции в кодере и декодере нет необходимости в передаче дополнительных параметров коррекции яркости в выходном битовом потоке. Некоторые пиксели, принадлежащие области 501, используются для расчета параметров коррекции яркости опорного блока. На Фиг.5 (виды 5.1 и 5.2) эти пиксели представлены областью 505.
Пиксели, используемые для расчета параметров коррекции, могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; так, на Фиг.5 (вид 5.2) выбранной пространственной областью является область 505, а пространственная близость определяется кратчайшим расстоянием между областью и границей блока, которое обозначено на Фиг.5 (вид 5.2) как 506.
Выбор области может производиться исходя из типа пространственного преобразования 202 (Фиг.2), применяемого впоследствии для кодирования разностной пиксельной информации, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком, задаваемых алгоритмом кодирования; дополнительно рассчитывается оценка схожести пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно; значение рассчитанной оценки схожести пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока.
Одна из основных реализаций заявляемого изобретения предусматривает пиксельную коррекцию изменения яркости для опорного блока при кодировании с предсказанием. Ключевая идея заключается в пиксельной оценке параметра коррекции изменения яркости, причем коррекция основывается на восстановленных значениях пикселей, соседних с текущим блоком, значениях пикселей опорного кадра и их взаимном подобии. Фиг.6 иллюстрирует конкретное применение этой техники.
Согласно Фиг.6 для текущего блока 611, принадлежащего текущему кодируемому кадру 610, определяется вектор смещения (DV) 620. DV указывает на опорный блок 601 из опорного кадра 600. Текущий блок 611, имеющий для определенности размеры 4×4 пикселя, содержит пиксели, которые обозначены как A00~A33. Опорный блок 601 содержит пиксели, которые обозначены как R00~R33. Восстановленные значения пикселей (блоки 612 и 613, размеры которых для определенности заданы как 4×2 и 2×4), соседних по отношению к текущему кодируемому блоку, обозначены как . - пиксели, принадлежащие блокам 602 и 603. Блоки 602 и 603 являются соседними по отношению к опорному блоку 601 и ставятся в соответствие блокам 612 и 613.
Для каждого положения (i,j) пикселя в опорном блоке 601 коррекция изменения яркости осуществляется в соответствии со следующим выражением:
.
Здесь параметр пиксельной коррекции изменения яркости i,j (в случае, если estRi,j не равно 0) описывается как:
,
где estDi,j - это первая оценка для пикселя с координатами (i,j) в опорном блоке; estRi,j - это вторая оценка пикселя с координатами (i,j) в опорном блоке. В противном случае i,j полагается равным 1.
Блок-схема способа пиксельной коррекции изменения яркости для опорного блока приведена на Фиг.7. Этот способ включает следующие основные этапы.
1. Получение значений пикселей блоков 601, 602, 603 из опорного кадра 600, блока 611 и блоков 612, 613, принадлежащих области шаблона текущего кодируемого кадра 610 (операция 701). Далее, для оценки сходства пикселей блоков 602, 603 и пикселей блоков 612, 613 предусмотрены следующие этапы:
- все уже восстановленные пиксели (k=0, ,N-1), соседние с опорным блоком (в частности, пиксели, входящие в блоки 602 и 603), и все уже восстановленные пиксели , k=0, , N-1, соседние с кодируемым блоком (в частности, пиксели, входящие в блоки 612 и 613), образуя совместно пары , однозначно задаваемые пространственным положением пикселей (k=0, , N-1) и , k=0, , N-1 в соответствующих областях, которое определяется значением номера пикселя k, группируются в М непересекающихся групп G0 GM-1, таких что ( , ), k=0 N-1 {G0 G1 GM-1}. Группой может являться блок пар пикселей с вообще говоря произвольными размерами, например - размерами 2×2 пары пикселей, 4×4 пары пикселей и т.д. в зависимости от фактических размеров исходных блоков 602, 603, 612, 613. Пары пикселей, принадлежащих группе Gi, обозначаются также как ;
- для каждой группы Gi рассчитывается метрика MR_Norm(Gi), которая основана на учете пиксельных различий и за исключением различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
где значение степенного показателя Р1 определяется экспериментально и для определенности может быть задано равным 1;
- для каждой группы Gi рассчитывается метрика M_Norm(Gi), основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
где значение степенного показателя Р2 определяется экспериментально и для определенности может быть задано равным 1;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0 GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
- рассчитывается общая метрика, обозначаемая M_Norm, для групп G0 GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_ Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, считается сильным;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, слабое, коррекция может не применяться;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, сильное, коррекция применяется обязательно.
2. Вычисление весовых коэффициентов Wk(i,j), k=0, , N-1 для каждого положения (i,j) пикселя в опорном блоке 601 (операция 702). Весовые коэффициенты Wk(i,j) выражаются следующим образом:
Wk(i,j)=ехр(-C1·A k(i,j)C2+C3),
,
где С1, С2, С3 - параметры, задающие нелинейную зависимость весового коэффициента от величины A k(i,j), определяется экспериментально. Здесь N - это общее число пикселей в блоках 612, 613 (или 602, 603). Необходимо отметить, что весовые коэффициенты отражают тот факт, что чем значение Ri,j ближе к , тем больше его вклад при определении параметра коррекции изменения яркости для опорного блока.
3. Вычисление значений estDi,j для каждого положения (i,j) пикселя в опорном блоке 601 (операция 703) в соответствии со следующим выражением:
Thr1 и Thr2 - это предопределенные пороговые значения. Пороговые значения используются для исключения значений пикселей, соседних по отношению к опорному блоку, которые существенно отличаются от значений Ri,j и значений , соседних по отношению к текущему кодируемому блоку.
4. Вычисление значений estRi,j для каждого положения (i,j) пикселя в опорном блоке 601 (операция 704) в соответствии со следующим выражением:
.
Предопределенные пороговые значения Thr1 и Thr2 являются такими же, как в вычислении для вычисления estD i,j.
Для повышения точности оценки величины параметра коррекции изменения яркости i,j, заявляемое изобретение предусматривает, что для исключения из рассмотрения полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях, выполняют следующие действия:
- группируют пиксели таким образом, что для всех пикселей , удовлетворяющих условию и , пиксели , которые соответствуют пикселям исходя из их порядкового номера k=0 N-1 и пространственного положения в опорном и кодируемом кадрах, группируются в группы, обозначаемые B(LRi, LRi+1):
при этом величины LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi,LRi+1), и удовлетворяют условию LR i>-1; LRi+1>Ri. Количество групп B(LRi,LRi+1) NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi,LR i+1):-1<LR0<LR0<LR0 <LRNB;
- для каждой группы B(LRi,LRi+1), задаваемой величинами (LR i,LRi+1), рассчитывают следующие величины:
- для каждого пикселя группы B(LRi,LRi+1) проверяют верность следующих трех условий:
Условие 1:
|C_Plus(LRi,LRi+1)-C_Minus(LRi ,LRi+1)|<Thr6;
- Условие 2:
C_Plus(LRi,LRi+1)-C_Minus(LR i,LRi+1)>=Thr6 AND ;
- Условие 3:
C_Plus(LR i,LRi+1)-C_Minus(LRi,LRi+1 )<=-Thr6 AND ;
в том случае если верным является хотя бы одно из проверяемых условий 1 3 для очередного рассматриваемого пикселя группы B(LRi,LRi+1), рассматриваемый пиксель включается в дальнейшие расчеты параметров коррекции яркости опорного блока.
5. Вычисление параметра коррекции изменения яркости i,j (операция 705) для каждого пикселя с координатами (i,j) в опорном блоке 601 на основании полученных значений estD i,j и estRi,j в случае, если estRi,j не равно 0. В противном случае i,j полагается равным 1.
6. Выполнение коррекции изменения яркости (операция 706) для опорного блока 601 на основе использования вычисленных параметров i,j в том случае, если подобие пикселей блоков 602, 603 и 612, 613 признано сильным.
Стоит отметить, что заявляемое изобретение также предусматривает такую коррекцию значений яркости пикселей опорного блока, при которой вместо использования интенсивности каждого пикселя опорного блока в отдельности может корректироваться обобщенная статистическая характеристика более чем одного пикселя опорного блока. Например, для пикселей А00, А01, А10, А11 из блока 601 возможно рассчитать среднее значение, для которого будет рассчитан параметр коррекции в соответствии с вариантами реализации заявляемого изобретения, описанными выше. Затем среднее значение совокупности пикселей А00, А01, А10, А11 будет заменено на скорректированное значение. В другой реализации пиксели опорного блока группируются в одну или более групп пикселей на основе явно определяемого общего признака (например - близости интенсивностей) с последующим выделением общего параметра (такого, как, например, среднее значение), его коррекцией и финальной заменой исходного значения общего параметра для выделенной группы пикселей на скорректированное.
Другой вариант реализации заявляемого изобретения основан на следующем. Обычно в качестве пикселей, соседних по отношению к опорному блоку, выбирают группу пикселей, непосредственно прилегающих к опорному блоку. Однако процедура поиска опорного блока может выбрать такой вектор смещения, что значения пикселей в указанной группе не будут в достаточной степени схожи с соответствующими им значениями пикселей, соседних по отношению к текущему кодируемому блоку. Более того, значения пикселей, непосредственно прилегающих к опорному блоку, могут значительно отличаться от значений пикселей опорного блока. В этих случаях коррекция изменения яркости и контрастности может выполняться неверно.
Для решения указанной проблемы в варианте реализации заявляемого изобретения предлагается использовать "плавающее" (относительно опорного блока) положение упомянутой группы пикселей, соседних по отношению к опорному блоку. Фиг.8 объясняет заявляемый способ в соответствии с одним из вариантов реализации заявляемого изобретения. Согласно Фиг.8 на каждой итерации процедуры поиска опорного блока для текущего блока 811 текущего кодируемого кадра 810 определяют вектор 820 смещения (DV). DV указывает на опорный блок 801 опорного кадра 800. Координаты группы пикселей опорного кадра (которую образуют пиксели блоков 802 и 803) определяются с помощью дополнительного уточняющего вектора 804 смещения. Уточняющий вектор 804 смещения является результатом дополнительной процедуры оценки смещения. При этом определяется такой вектор 804 смещения, который дает минимальное значение штрафной функции, определяющей степень подобия блоков 812, 813 и блоков 802, 803 соответственно. В качестве штрафной функции могут выступать такие известные функции, как: средне-квадратичная ошибка, сумма абсолютных разностей, сумма абсолютных разностей для сигналов с нулевым средним и т.д. Вектор 804 определяется неявно во время процесса кодирования и декодирования без передачи дополнительной информации в выходном битовом потоке.
На Фиг.9 представлена блок-схема, которая описывает способ кодирования многоракурсных видеопоследовательностей на основе коррекции яркости согласно одному из вариантов реализации заявляемого изобретения. На этапе 901 определяют опорный блок, который используется для формирования предсказанного блока. На этапе 902 определяют параметры коррекции изменения яркости и контрастности для найденного опорного блока. Определение параметров коррекции изменения яркости и контрастности включает в себя:
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели выбираются из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, производится исходя из типа пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью является объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей используется как дополнительное условие при принятии решения о коррекции яркости пикселей опорного блока;
- исключение из рассмотрения при определении параметров изменения яркости пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;
- определение числовых соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, и соотношения между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- определение параметров коррекции изменения яркости для коррекции различия в яркости для опорного блока на основе найденных на предыдущем шаге числовых соотношений, значений пикселей опорного блока, восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку.
На этапе 903, используя найденные параметры коррекции изменения яркости, выполняют коррекцию для опорного блока.
Коррекция различий яркости между опорным блоком и текущим кодируемым блоком выполняется на основе найденных на предыдущем шаге параметров в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое может быть задано наперед или адаптивно изменяться в процессе коррекции.
На этапе 904, используя скорректированный по яркости опорный блок, формируют блок-предсказание для текущего блока. На этапе 905, используя сформированный блок-предсказание, кодируют текущий блок. В частности, кодируют информацию об опорном блоке, если это необходимо для декодирования. Необходимо отметить, что найденные параметры коррекции изменения яркости не кодируются и не помещаются в выходной битовый поток.
Фиг.10 иллюстрирует способ декодирования многоракурсных видеопоследовательностей на основе коррекции изменения яркости согласно одному из примеров реализации заявляемого изобретения. Согласно Фиг.10 информация об опорном блоке декодируется, если требуется ее декодирование. Декодированная информация может использоваться для определения опорного блока на этапе 1001. На этапе 1002 определяют параметры коррекции изменения яркости для коррекции опорного блока. Процедура определения параметров коррекции изменения яркости включает в себя:
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели выбираются из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, производится исходя из типа пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью является объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей используется как дополнительное условие при принятии решения о коррекции яркости пикселей опорного блока;
- исключение из рассмотрения при определении параметров изменения яркости пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;
- определение числовых соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, и соотношения между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- определение параметров коррекции изменения яркости для коррекции различия в яркости для опорного блока на основе найденных на предыдущем шаге числовых соотношений, значений пикселей опорного блока, восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку.
На этапе 1003, используя найденные параметры коррекции изменения яркости, выполняют коррекцию опорного блока. Коррекция различий яркости между опорным блоком и текущим кодируемым блоком выполняется на основе найденных на предыдущем шаге параметров в том случае, если степень подобия пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно, больше порогового значения, которое может быть задано наперед или адаптивно изменяться в процессе коррекции. На этапе 1004, используя скорректированный по яркости опорный блок, формируют блок-предсказание для текущего декодируемого блока. На этапе 1005, используя сформированный блок-предсказание, осуществляют декодирование текущего блока.
На практике заявляемое изобретение может быть использовано при кодировании и декодировании многоракурсных видеопоследовательностей.
Варианты реализации заявляемого изобретения, описанные выше, приведены лишь с целью иллюстрации и не имеют ограничительного характера. Объем охраны изобретения определяется прилагаемой формулой изобретения.
Ссылки
[1] Yea, S.; Vetro, A., «View Synthesis Prediction for Multiview Video Coding», Image Communication, ISSN: 0923-5965, Vol.24, Issue 1-2, pp.89-100, January 2009.
[2] ITU-T Rec. H.264. Advanced video coding for generic audiovisual services. 2010.
[3] US Patent 7,924,923. Motion Estimation and Compensation Method and Device Adaptive to Change in Illumination. April, 2011.
[4] Y.Lee, J.Hur, Y.Lee, R.Han, S.Cho, N.Hur, J.Kim, J.Kim, P.Lai, A.Ortega, Y. Su, P. Yin and C.Gomila. CE11: Illumination compensation. Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG JVT-U052, Oct. 2006.
[5] J.H.Kim, P. Lai, J. Lopez, A. Ortega, Y. Su, P. Yin, and C. Gomila. New coding tools for illumination and focus mismatch compensation in multiview video coding. IEEE Trans, on Circuits and Systems for Video Technology, vol. 17, no. 11, pp. 1519-1535, Nov. 2007.
[6] T. Yamamoto, T. Ikai, "Weighted prediction using neighboring pixels," ITU-T Q.6/SG16 VCEG, Proposal VCEG-AH19, January 2008.
[7] US Patent Application 2011/0286678. Multi-view Image Coding Method, Multi-view Image Decoding Method, Multi-view Image Coding Device, Multi-view Image Decoding device, Multi-view Image Coding Program, and Multi-view Image Decoding Program. November, 2011.
[8] US patent application 2008/0304760. Method and Apparatus for Illumination Compensation and Method and Apparatus for Encoding and Decoding Image Based on Illumination Compensation. December, 2008.
[9] Richardson I.E. The H.264 Advanced Video Compression Standard. Second Edition. 2010.
[10] Martucci S.A. ((Reversible compression of HDTV images using median adaptive prediction and arithmetic coding», in IEEE Int. Symp. on Circuits and Systems, 1990.
Класс G06K9/46 выделение деталей или характеристик изображения
Класс G06T15/00 Передача трехмерного (3D) изображения, например от модели к побитовому изображению