Изобретение относится к технологиям обработки цифровых сигналов в компьютерной системе, а более конкретно - к способам коррекции различий в яркости, которые могут возникать между кадрами многоракурсной видеопоследовательности. В частности, настоящее изобретение может быть использовано при кодировании и декодировании многоракурсных видеопоследовательностей.
Один из известных из уровня техники способов, применяемых для кодирования многоракурсных видеопоследовательностей, заключается в использовании кадров, принадлежащих соседним видам (ракурсам), а также кадров, синтезированных с помощью кадров соседних видов (ракурсов) и карт глубин. Такие кадры выступают в качестве опорных кадров при проведении кодирования с предсказанием [1]. При этом производится устранение возможного смещения объекта в текущем кадре относительно одного из опорных кадров. Под смещением может пониматься движение объекта или различие в положении объекта между текущим кодируемым кадром и кадрами, принадлежащими соседним видам (ракурсам), или синтезированным кадром. Цель устранения указанного смещения заключается в минимизации межкадровой разности. Полученная межкадровая разность затем кодируется (например, путем применения декоррелирующего преобразования, квантования и энтропийного кодирования) и помещается в выходной - битовый поток.
Возможные различия в параметрах камер, используемых для съемки многоракурсных видеопоследовательностей, а также различие в световом потоке, поступающем от объектов съемки к камерам, приводят к локальным различиям яркости между кадрами, принадлежащими разным ракурсам. Указанные различия в яркости также влияют на характеристики синтезированных кадров. Это может приводить к увеличению абсолютных значений межкадровой разности, что негативно сказывается на эффективности кодирования.
Для решения указанной выше проблемы в стандарте Н.264 [2] используется взвешенный прогноз, изначально предназначенный для эффективного кодирования одновидовых (одноракурсных) видеопоследовательностей, в которых встречаются эффекты плавного введения и выведения изображения, мерцания или смены сцены. Взвешенный прогноз позволяет устранять различие в яркости между кодируемым кадром и опорными кадрами на уровне макроблоков. При этом используются одни и те же значения весовых коэффициентов для всех макроблоков, принадлежащих одному и тому же слою. Весовые коэффициенты могут определяться в процессе кодирования и сохраняться в выходном битовом потоке («явный» взвешенный прогноз) или вычисляться в процессе кодирования/декодирования («неявный» взвешенный прогноз). Однако в случае многоракурсных последовательностей, где могут наблюдаться локальные изменения яркости и/или контрастности, такой способ может оказаться неэффективным.
Другим подходом к решению указанной проблемы является адаптивная поблочная коррекция различия в яркости [3]. Одним из способов, реализующих указанный подход, является способ одношаговой аффинной коррекции яркости для многоракурсных видеопоследовательностей (Multiview One-Step Affine Illumination Compensation - MOSAIC) [4, 5]. Указанный способ предполагает комбинацию поблочной коррекции различия в яркости с описанными в [2] режимами межкадрового предсказания. В процессе такого кодирования для каждого макроблока вычисляют средние значения пикселей текущего кодируемого блока и опорного блока-кандидата. Для указанных блоков формируют модифицированные блоки путем вычитания среднего значения для каждого пикселя блока. Затем для полученных блоков вычисляют сумму абсолютных разностей (Mean-Removed Sum 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 значении второй оценки estRi,j, а также на значениях Ri,j пикселей опорного блока;
- выполнение коррекции изменения яркости для каждого пикселя в опорном блоке, используя найденные на предыдущем шаге параметры коррекции изменения яркости и контрастности.
Согласно другой модификации заявляемого изобретения способ предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке и определение параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включает в себя:
- вычисление первой оценки estDi,j как
,
- вычисление второй оценки estRi,j как
,
где Wk(i, j), k=0, …, N-1 - весовые коэффициенты, зависящие от интенсивности пикселя опорного блока в позиции (i, j) и интенсивности пикселя с индексом k=0, …, N-1 из заранее заданной близлежащей окрестности опорного блока, , k=0, …, N-1, восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, , k=0, …, N-1 - значения пикселей, соседних по отношению к опорному блоку, N - это число пикселей, соседних по отношению к текущему кодируемому и опорному блокам; начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки заданы таким образом, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;
- определение параметров коррекции изменения яркости для каждого положения (i, j) пикселя в опорном блоке; этот параметр определяется как , если вторая оценка estRi,j не равна нулю. В противном случае αi,j полагается равным 1;
- выполнение коррекции изменения яркости для опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий ему параметр коррекции αi,j.
Также заявляемое изобретение предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке и определение параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включает в себя:
- вычисление первой оценки estDl,j как
,
где Wk(i, j), k=0, …, N-1 и LK(i, j), k=0…N-1 - два набора весовых коэффициентов, LK(i, j), k=0…N-1 зависит от позиции (i, j) пикселя в опорном блоке и индекса k=0, …, N-1 и , k=0, …, N-1 восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, N - это число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;
- вычисление второй оценки как
,
где Wk(i, j), k=0, …, N-1 и LK(i, j), k=0…N-1 - два набора весовых коэффициентов, LK(i, j),k=0…N-1 зависит от позиции (i, j) пикселя в опорном блоке и индекса k=0, …, N-1 и , k=0, …, N-1 - значения пикселей, соседних по отношению к опорному блоку; начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки заданы таким образом, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;
- определение параметров коррекции изменения яркости для каждого положения (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 - это значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
Также другой вариант модификации заявляемого изобретения предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов LK(i, j), k=0, …, N-1 для первой оценки и второй оценки для каждого положения (i, j) пикселя в опорном блоке так, что весовой коэффициент LK(i, j) равен невозрастающей функции f расстояния между пикселями :
что обеспечивает обратно пропорциональное увеличение/уменьшение значения LK(i, j) в зависимости от приближения или удаления пикселя от корректируемого пикселя Ri,j. Здесь это значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
В другом варианте реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов LK(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i, j) пикселя в опорном блоке весовой коэффициент равен невозрастающей функции абсолютной разности:
,
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i, j) в зависимости от уменьшения/увеличения абсолютной разности в случае , где Thr - предопределенное пороговое значение; иначе wk(i, j). Здесь Ri,j - значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
При реализации заявляемого изобретения имеет смысл применить еще одну модификацию упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i, j) пикселя в опорном блоке весовой коэффициент Wk(i, j) равен невозрастающей функции абсолютной разности:
,
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i, j) в зависимости от уменьшения/увеличения абсолютной разности; при этом вычисление весовых коэффициентов подобным образом производится только для пикселей и , которые оценены как надежные путем проверки условия , где - значение пикселя, соседнего по отношению к текущему кодируемому блоку, Thr1 - первый предопределенный порог; кроме того, вычисление весовых коэффициентов подобным образом выполняется, если , где thr2 - второй предопределенный порог; иначе Wk(i, j)=0. Здесь Ri,j - значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.
Согласно другому варианту реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценки для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения пикселя в опорном блоке весовой коэффициент Wk(i, j) определяется как: , где С1, С2, С3 - численные параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i, j) и Ak(i, j), где определяется как , Ri,j - значение пикселя опорного блока, - значение пикселя, соседнего по отношению к опорному блоку, в случае , где Thr - предопределенный порог; иначе Wk(i, j)=0.
Дальнейшее развитие предлагаемого варианта заявляемого изобретения заключается в том, что параметры, определяющие зависимость весовых коэффициентов Wk(i, j), в частности параметры С1, С2 и C3 могут адаптивно изменяться в зависимости от расстояния между пикселем Ri,j в опорном блоке и пикселями , соседними по отношению к опорному блоку. Тем самым может быть учитывается различное влияние пикселей, соседних с текущим блоком и соседних с опорным блоком, и участвующих в вычислении параметров коррекции в зависимости от расстояния до корректируемого пикселя.
В качестве альтернативы при реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:
- вычисление весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j, для каждого положения Wk(i, j) пикселя в опорном блоке весовой коэффициент wk(i, j) равен , где C1, C2, C3 - численные параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i, j), которая определяется как , где Ri,j - значение пикселя опорного блока, - значение пикселя, соседнего по отношению к опорному блоку, а вычисление весовых коэффициентов подобным образом производится только для пикселей и , которые оценены как надежные путем проверки условия , где , k=0,…, N-1 - значение пикселя, соседнего по отношению к текущему кодируемому блоку, rhr1 - первый предопределенный порог; кроме того, вычисление весовых коэффициентов подобным образом выполняется, если , где Thr-2 - второй предопределенный порог; иначе Wk(i, j)=0.
Заявляемое изобретение предусматривает реализацию метода, при которой для уменьшения вычислительных затрат, связанных с компенсаций пикселей опорного блока для выявления случая, когда первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, выполняется проверка условия: EstRi,j+Δ1>>Qbits1==EstDi,j+Δ1>>Qbits1, где Qbits1 и Δ1 - неотрицательные целые числа, а обозначает операцию целочисленного округления, и если условие верно, то параметр коррекции задается равным 1.
Для повышения точности метода компенсации локальных отличий яркости, при котором достигается снижение вычислительных затрат, связанных с компенсаций пикселей опорного блока в случае, если первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, может выполняться проверка условия (|EstDi,j-EstRi,j|+Δ2>>Qbits2==0, где Obits2 и Δ2 - неотрицательные целые числа, а обозначает операцию целочисленного округления, и если условие верно, то параметр коррекции задается равным 1. Также имеет смысл рассмотреть и более общий критерий, позволяющий определять ситуацию близости параметра коррекции к 1, который подразумевает проверку следующего неравенства: Δ3×EstRi,j<EstDi,j<Δ4×EstRi,j, где Δ3, Δ4 - заранее заданные неотрицательные числа, и в случае его выполнения задание параметра коррекции равным 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;
- рассчитывается общая метрика, обозначаемая М_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается сильным;
- если подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком слабое, коррекция может не применяться;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком сильное, коррекция выполняется безусловно.
Дальнейшее развитие метода предусматривает следующее:
- для каждой группы Gi рассчитывается метрика MR_Norn(Gl), которая основана на учете пиксельных различий и и которая не зависит от различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
,
где значение степенного показателя Р1 определяется экспериментально;
- для каждой группы Gi рассчитывается метрика М_NormGl, основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
,
где значение степенного показателя P2 определяется экспериментально;
рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
;
рассчитывается общая метрика, обозначаемая М_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
;
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается сильным;
- если подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком слабое, коррекция может не применятся;
- если подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком сильное, коррекция применяется обязательно.
Для повышения точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком, заявляемое изобретение предусматривает, что для исключения из расчетов значений полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые существенно отличаются друг от друга, для каждого k=0…N-1 выполняют проверку условия , где Thr1 неотрицательное пороговое значение, задаваемое наперед.
Развитие метода предполагает, что для дальнейшего повышения точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком, заявляемое изобретение предусматривает, что для исключения из расчетов значений полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые существенно отличаются от общей выборки (совокупности) пикселей в указанных областях выполняют следующие шаги:
- группируют пиксели таким образом, что для всех пикселей , удовлетворяющих условию и , пиксели , которые соответствуют пикселям исходя из их порядкового номера 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, LRi+1): -1<LR0<LR0<LR0…<LRNB;
- для каждой группы B(LRi, LRi+1), задаваемой величинами (LRi, LRi+1), рассчитывают следующие величины:
- для каждого пикселя группы B(LRi, LRi+1) проверяют верность следующих трех условий:
- Условие 1:
;
- Условие 2:
;
- Условие 3:
; в том случае, если верным является хотя бы одно из проверяемых условий 1…3 для очередного рассматриваемого пикселя группы B(LRi, LRi+1), рассматриваемый пиксель включается в дальнейшие расчеты параметров коррекции яркости опорного блока.
Еще одним вариантом реализации заявляемого изобретения, направленным на повышение точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком, является следующая модификация.
Для всех вышеопределенных пар пикселей рассматриваются пиксели , так что и и соответствующие им пиксели сгруппируются в логические группы, обозначаемые B(LRi, LRi+1).
,
где LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRf>-1; LRi+1>Ri. Количество групп B(LRi, LRi+1) Nb определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi, LRi+1): -1<LR0<LRo<LR0…<LRNB.
Для всех пикселей Тк, принадлежащих B(LRi, LRi+1), рассчитываются следующие величины:
- среднее значение Mean (B(LRi, LRi+1)) по группе B(LRi, LRi+1), определяемо по формуле:
,
где | B(LRi, LRi+1)| обозначает количество пикселей в группе B(LRi, LRi+1).
- медианное значение Med(B(LRi, LRi+1)) по группе B(LRi, LRi+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(LRi, LRi+1); в другой реализации величина Dev(B(LRi, LRi+1)) может быть рассчитана по формуле:
,
отличающейся от предыдущей тем, что оценка отклонения получается несмещенной, что особенно важно для случая сравнительно небольшого количества элементов в группе B(LRi, LRi+1); также в целях упрощения может быть применена следующая формула для оценки величины среднего отклонения по группе B(LRi, LRi+1):
.
Эксперты могут также использовать иные способы оценки величины Dev(B(LRi, LRj)), характеризующей, по сути, степень разброса пикселей, принадлежащих группе B(LRi, LRi+1).
Для повышения надежности дальнейших оценок предусматривается исключение из дальнейшего рассмотрения тех значений пикселей группы B(LRi, LRj), для которых модуль разности между значением отдельного пикселя и средним значением по группе B(LRi, LRj) и/или медианным значением по группе B(LRi, LRj) и/или наиболее вероятным значением по группе B(LRi, LRj) оказывается больше, чем значение Dev(B(LRi, LRj)), рассчитанное по одной из широко известных формул, умноженное на величину, большую 0, задающее совместно допустимый разброс в группе B(LRi, 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) внутри текущего блока. Размер текущего кодируемого блока равен H×W. (i, j) определяет вектор смещения, который указывает на опорный блок R в пределах предопределенной области поиска, Ψ(x) - функция, корректирующая возможные различия в яркости и контрастности между текущим блоком и опорным блоком. Степенной показатель Р, больший 0, обычно принимает одно из значений 1 или 2. Описанный способ реализуется в блоке 210. Найденные параметры коррекции изменения яркости, совместно с полученным DV, передаются в блок 205 и в блок 209. При практической реализации вектор смещения может также определяться сразу для нескольких рассматриваемых далее блоков в целях более компактного представления служебной информации, в этом случае критерий минимизации будет задаваться для супер-блока, включающего сразу несколько рассматриваемых далее блоков. В этом случае, критерий минимизации может быть задан следующим образом:
,
где H1, W1 - размеры супер-блока.
Найденный опорный блок преобразуют в соответствии с найденными параметрами коррекции изменения яркости (блок 205). После этого блок 201 формирует разностный блок. Затем, разностный блок преобразуется с помощью Дискретного Косинусного Преобразования (ДКП), квантуется (блок 202) и кодируется энтропийным кодером (блок 203). Дополнительные данные (SI), необходимые для последующего декодирования, также кодируются энтропийным кодером (блок 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 коррекция изменения яркости осуществляется в соответствии со следующим выражением:
Ψ(xi,j)=αi,j·xi,j.
Здесь параметр пиксельной коррекции изменения яркости α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 предусмотрены следующие этапы:
- все уже восстановленные пиксели соседние с опорным блоком (в частности пиксели, входящие в блоки 602 и 603) и все уже восстановленные пиксели соседние с кодируемым блоком (в частности пиксели, входящие в блоки 612 и 613), образуя совместно пары , однозначно задаваемые пространственным положением пикселей и в соответствующих областях, которое определяется значением номера пикселя к, группируются в M не пересекающихся групп 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 по формуле:
,
где значение степенного показателя P1 определяется экспериментально и для определенности может быть задано равным 1;
- для каждой группы Gi рассчитывается метрика M_Norm(Gt), основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:
,
где значение степенного показателя P2 определяется экспериментально, и для определенности может быть задано равным 1;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей всех пикселей каждой группы Gi по формуле:
;
- рассчитывается общая метрика, обозначаемая M_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой труппы Gi по формуле:
;
- производится сравнение значений рассчитанных метрик MR_Norm и М_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком считается сильным;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, слабое, коррекция может не применятся;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, сильное, коррекция применяется обязательно.
2. Вычисление весовых коэффициентов Wk(i,j), k=0, …, N-1 для каждого положения (i, j) пикселя в опорном блоке 601 (операция 702). Весовые коэффициенты Wk(i, j) выражаются следующим образом:
Wk(i, j)=exp(-C1·Ak(i, j)C2+C3)
где C1, C2, C3 - численные параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i, j), определяется экспериментально. Здесь N - это общее число пикселей в блоках 612, 613 (или 602, 603). Необходимо отметить, что весовые коэффициенты отражают тот факт, что чем значение Ri,j ближе к
3. Вычисление значений estDi,j для каждого положения (i, j) пикселя в опорном блоке 601 (операция 703) в соответствии со следующим выражением:
Thr1 и Thr2 - это предопределенные пороговые значения, BaseD - начальное значение первой оценки. Пороговые значения используются для исключения значений пикселей, соседних по отношению к опорному блоку, которые существенно отличаются от значений Ri,j, и значений
4. Вычисление значений для каждого положения i,j пикселя в опорном блоке 601 (операция 704) в соответствии со следующим выражением:
Предопределенные пороговые значения Thr1 и Thr2 являются такими же, как в вычислении для вычисления estDi,j, BaseR - начальное значение первой оценки.
Для повышения точности оценки величины параметра коррекции изменения яркости αi,j, заявляемое изобретение предусматривает, что для исключения из рассмотрения полученных пикселей
- группируют пиксели
- при этом величины LRb LRi+] определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRi>-1; LRi+1>Ri. Количество групп B(LRi, LRi+1) NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LR-, LRi+1): -1<LR0<LR0<LR0…<LRNB;
- для каждой группы B(LRi, LRi+1), задаваемой величинами (LRi,LRi+1), рассчитывают следующие величины:
- для каждого пикселя
Условие 1:
Условие 2:
Условие 3:
в том случае, если верным является хотя бы одно из проверяемых условий 1…3 для очередного рассматриваемого пикселя
5. Вычисление параметра коррекции изменения яркости αi,j (операция 705) для каждого пикселя с координатами (i, j) в опорном блоке 601 на основании полученных значений и estDi,j в случае, если estDi,j не равно 0. В противном случае αi,j полагается равным 1.
Предусматривается, что для уменьшения вычислительных затрат, связанных с компенсаций пикселей опорного блока в случае, если первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, выполняется проверка условия: EstRi,j+Δ1>>Qbits1==EstDi,j+Δ1>>Qbits1, где Qbits1 и Δ1 - неотрицательные целые числа, и если условие верно, то параметр коррекции задается равным 1.
Также, для повышения точности метода компенсации локальных отличий яркости при котором достигается снижение вычислительных затрат, связанных с компенсаций пикселей опорного блока в случае, если первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, может выполняться проверка условия (|EstDi,j -EstRi,j|+Δ2>>Qbits2==0, где Obits2 и Δ2 где Qbits2 и Δ2 - неотрицательные целые числа, и если условие верно, то параметр коррекции задается равным 1. Имеет смысл рассмотреть и более общий критерий, позволяющий определять ситуацию близости параметра коррекции к 1, который подразумевает проверку следующего неравенства: Δ3×EstR<EstD<Δ4×EstR, где Δ3, Δ4 - заранее заданные неотрицательные числа, и в случае его выполнения задание параметра коррекции равным 1.
6. Выполнение коррекции изменения яркости (операция 706) для опорного блока 601 на основе использования вычисленных параметров αi,j в том случае, если подобие пикселей блоков 602, 603 и 612, 613 признано сильным.
Стоит отметить, что заявляемое изобретение также предусматривает такую коррекцию значений яркости пикселей опорного блока, при котором вместо использования интенсивности каждого пикселя опорного блока в отдельности, может корректироваться обобщенная статистическая характеристика более чем одного пикселя опорного блока. Например, для пикселей A00, A01, A10, A11 из блока 601 возможно рассчитать среднее значение, для которого будет рассчитан параметр коррекции в соответствии с вариантами реализации заявляемого изобретения, описанными выше. Затем, среднее значение совокупности пикселей A00, A01, A10, A11 будет заменено на скорректированное значение. В другой реализации пиксели опорного блока группируются в одну или более групп пикселей на основе явно определяемого общего признака (например, близости интенсивностей), с последующим выделением общего параметра (такого, как например среднее значение), его коррекцией и финальной заменой исходного значения общего параметра для выделенной группы пикселей на скорректированное.
Другой вариант реализации заявляемого изобретения основан на следующем. Обычно в качестве пикселей, соседних по отношению к опорному блоку, выбирают группу пикселей, непосредственно прилегающих к опорному блоку. Однако процедура поиска опорного блока может выбрать такой вектор смещения, что значения пикселей в указанной группе не будут в достаточной степени схожи с соответствующими им значениями пикселей, соседних по отношению к текущему кодируемому блоку. Более того, значения пикселей, непосредственно прилегающих к опорному блоку, могут значительно отличаться от значений пикселей опорного блока. В этих случаях, коррекция изменения яркости и контрастности может выполняться неверно.
Для решения указанной проблемы, в варианте реализации заявляемого изобретения предлагается использовать "плавающее" (относительно опорного блока) положение упомянутой группы пикселей, соседних по отношению к опорному блоку. Фиг.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 формируют блок-предсказание для текущего кодируемого блока, используя скорректированный опорный блок. На этапе 906 кодируют текущий блок с помощью сформированного блока-предсказания.
Фиг.10 иллюстрирует способ декодирования многоракурсных видеопоследовательностей на основе коррекции изменения яркости согласно одному из примеров реализации заявляемого изобретения. Согласно фиг.10 на этапе 1001 выбирают текущий декодируемый блок, принадлежащий текущей единице кодирования. На этапе 1002 определяют опорный блок для текущего декодируемого блока. На этапе 1003 определяют параметры коррекции изменения для коррекции яркости найденного опорного блока. На этапе 1004 выполняют коррекцию значений всех пикселей опорного блока на основе определенных параметров коррекции яркости. При этом определение параметров коррекции яркости и выполнения коррекции яркости включает в себя:
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, может производиться исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;
- исключение из рассмотрения при определении параметров изменения яркости недостоверных пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;
- определение соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;
- определение числовых соотношений между пикселями опорного блока, достоверными пикселями из окрестности текущего декодируемого блока и достоверными пикселями из окрестности опорного блока;
- вычисление значений параметров коррекции яркости на основе найденных числовых соотношений с учетом начальных значений параметров коррекции;
- оценка изменения значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.
На этапе 1005 формируют блок-предсказание для текущего декодируемого блока, используя скорректированный опорный блок. На этапе 1006 декодируют текущий блок с помощью сформированного блока-предсказания.
Указанные выше способы адаптивной компенсации локальных различий яркости при межкадровом предсказании, а также способы кодирования и декодирования многоракурсных видеопоследовательностей, основанные на адаптивной компенсации локальных различий яркости реализуются в виде компьютерной системы. Например, компьютерная система может включать в себя один или несколько процессоров, оперативную память, запоминающее устройство и блок ввода-вывода данных. В этом случае последовательность операций по каждому из указанных выше способов представляется последовательностью команд процессора, которые хранятся в запоминающем устройстве. При поступлении на блок ввода-вывода необходимых данных процессор размещает в оперативной памяти и/или считывает с запоминающего устройства данные, а затем выполняет последовательность команд, хранящихся в запоминающем устройстве, тем самым реализуя один из способов в соответствии с настоящим изобретением.
Варианты реализации заявляемого изобретения, описанные выше, приведены лишь с целью иллюстрации и не имеют ограничительного характера. Объем охраны изобретения определяется прилагаемой формулой изобретения.
Ссылки
[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 ISOAEC 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.
Изобретение относится к средствам кодирования и декодирования многоракурсной видеопоследовательности. Техническим результатом является повышение эффективности межкадрового предсказания за счет компенсации различий яркости между опорным блоком и текущим кодируемым блоком на основе пикселей из окрестностей указанных блоков. В способе исключают из рассмотрения пиксели, принадлежащие окрестности текущего кодируемого блока и окрестности опорного блока опорного кадра, оценивающиеся как недостоверные для расчета параметров изменения яркости по заданному критерию, определяют числовые соотношения между пикселями опорного блока, достоверными пикселями из окрестности текущего кодируемого блока и достоверными пикселями из окрестности опорного блока, учитывают начальные значения, вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений, оценивают изменение значений пикселей опорного блока, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции. 5 н. и 66 з.п. ф-лы, 11 ил.
1. Способ адаптивной компенсации локальных различий яркости при межкадровом предсказании кадров в процессе кодирования и декодирования многоракурсной видеопоследовательности, реализуемый компьютерной системой и включающий в себя выполнение следующих операций:
- получают значения пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значения пикселей опорного блока, принадлежащего опорному кадру;
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего кодируемого блока кодируемого кадра и значения пикселей, из окрестности опорного блока опорного кадра;
отличающийся тем, что:
- исключают из рассмотрения пиксели, принадлежащие окрестности текущего кодируемого блока и окрестности опорного блока опорного кадра, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию;
- определяют числовые соотношения между пикселями опорного блока, достоверными пикселями из окрестности текущего кодируемого блока и достоверными пикселями из окрестности опорного блока;
- учитывая начальные значения, вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений;
- оценивают изменение значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.
2. Способ по п.1, отличающийся тем, что процедуры определения соотношений для пикселей текущего кодируемого кадра и опорного кадра, определение параметра коррекции изменения яркости, а также коррекция значений пикселей опорного блока включают в себя следующие этапы:
- определяют близлежащую окрестность текущего кодируемого блока и близлежащую окрестность опорного блока, так что пиксели, принадлежащие этим окрестностям, уже восстановлены;
- вычисляют, по меньшей мере, две численных оценки estDi,j и estRi,j для каждого положения (i, j) пикселя в опорном блоке, на основе восстановленных значений
- определяют на основе, по меньшей мере, первой оценки estDi,j второй оценки estRi,j значений Ri,j пикселей опорного блока, восстановленных значений пикселей
- выполняют коррекцию значений пикселей опорного блока с помощью параметров коррекции.
3. Способ по п.2, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке и определения параметров коррекции значений пикселей опорного блока включает в себя выполнение следующих операций:
- задают начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки так, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1, зависящие от интенсивности пикселя опорного блока в позиции (i, j) и интенсивности пикселя с индексом k=0, …, N-1 из заранее заданной близлежащей окрестности опорного блока;
- вычисляют первую оценку как
- вычисляют вторую оценку как
- в том случае, если вторая оценка estRi,j не равна нулю, определяют параметр коррекции значения каждого пикселя опорного блока как
- выполняют коррекцию яркости опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий параметр коррекции αi,j в случае, если параметр коррекции αi,j не равен 1.
4. Способ по п.3, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке и определения параметров коррекции значений каждого пикселя в опорном блоке включает в себя выполнение следующих операций:
- задают начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки так, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1, зависящие от интенсивности пикселя опорного блока в позиции (i, j) и интенсивности пикселя с индексом k=0, …, N-1 из окрестности опорного блока;
- вычисляют второй набор весовых коэффициентов LK(i, j), k=0…N-1, зависящих от позиции (i, j) пикселя в опорном блоке и индекса k=0, …, N-1;
- вычисляют первую оценку как
- вычисляют вторую оценку как
5. Способ по п.3, отличающийся тем, что параметр коррекции изменения яркости αi,j для каждой позиции (i, j) представляют целым неотрицательным числом, вычисляют коррекцию значения каждого пикселя опорного блока посредством, как минимум, умножения значения каждого пикселя на параметр коррекции изменения яркости и битового сдвига вправо на заранее заданное целое неотрицательное число.
6. Способ по п.3, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя выполнение следующих операций:
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1 для каждого положения (i, j) пикселя в опорном блоке, при этом весовой коэффициент Wk(i, j) равен невозрастающей функции от абсолютной разности
7. Способ по п.4, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя выполнение следующих операций:
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1 для каждого положения (i, j) пикселя в опорном блоке, при этом весовой коэффициент Wk(i, j) равен невозрастающей функции от абсолютной разности
- вычисляют весовые коэффициенты LK(i, j), k=0…N-1 для первой оценки estDi,j и для второй оценки estRi,j для каждого положения (i, j) пикселя в опорном блоке так, что весовой коэффициент LK(i, j) равен невозрастающей функции f расстояния между пикселями
8. Способ по любому из пп.3 или 4, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке перед вычислением весовых коэффициентов Wk(i, j), k=0, …, N-1 предусматривает выполнение следующих операций:
- проверяют первое условие достоверности пикселя:
- проверяют второе условие достоверности пикселя:
- исключают из дальнейших расчетов такие пиксели
9. Способ по п.8, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя выполнение следующих операций:
- задают значения весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j равными единице для каждого положения (i, j) пикселя в опорном блоке для всех позиций k=0…N-1 таких, что пиксели
10. Способ по п.6, отличающийся тем, что процедура вычисления первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя выполнение следующей операции:
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1 так, что весовой коэффициент Wk(i, j) равен
11. Способ по п.10, отличающийся тем, что весовой коэффициент Wk(i, j) рассчитывают как:
12. Способ по п.2, отличающийся тем, что положение позиции близлежащей окрестности текущего кодируемого блока и положение близлежащей окрестности опорного блока определяют адаптивно вместо позиций, заданных изначально.
13. Способ по п.2, отличающийся тем, что при расчете, по меньшей мере, двух численных оценок estDi,j и estRi,j используют только часть пикселей, расположенных в заранее заданной близлежащей окрестности текущего блока, и соответствующую им часть пикселей в заранее заданной близлежащей окрестности опорного блока, выполняя предварительное прореживание пикселей.
14. Способ по п.8, отличающийся тем, что исключение недостоверных пикселей, соседних по отношению к кодируемому блоку и недостоверных пикселей, соседних по отношению к опорному блоку, осуществляют путем выполнения следующих дополнительных операций:
- используя все уже восстановленные пиксели
- для каждой группы Gi рассчитывают метрику, которая основана на учете пиксельных различий
- для каждой группы Gi рассчитывают метрику, основанную на различиях средних значений всех пикселей
- рассчитывают общую метрику, обозначаемую MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей
- рассчитывают общую метрику, обозначаемую M_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей
- производят сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае, если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, все пиксели, из близлежащей окрестности опорного блока и все пиксели из близлежащей окрестности кодируемого блока считают недостоверными.
15. Способ по п.14, отличающийся тем, что для каждой группы Gi рассчитывают метрику MR_Norm(Gi), которая основана на учете пиксельных различий
где значение степенного показателя P1 определяется экспериментально;
- для каждой группы Gi рассчитывают метрику M_Norm(Gi), основанную на различиях между средними значениями всех пикселей
где значение степенного показателя P2 определяют экспериментально;
- рассчитывают общую метрику, обозначаемую MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей
- рассчитывают общую метрику, обозначаемую M_Norm, для групп G0…GM-1, которая основана на учете различия между средними значениями всех пикселей
16. Способ по п.1, отличающийся тем, что исключают недостоверные пиксели
- для всех пикселей
при этом величины LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRi>-1; LRi+1>Ri, количество групп B(LRi, LRi+1); NB задает максимально возможное значение индекса i, используемого при нумерации величин (LRi, LRi+1): -1<LR0<LR0<LR0…<LRNB;
- для каждой группы B(LRi, LRi+1), задаваемой величинами (LRi, LRi+1), рассчитывают следующие величины:
где Thr5 - наперед заданное или определяемое адаптивно в процессе обработки кадра пороговое значение,
- для каждого пикселя
- условие 1:
- условие 2:
- условие 3:
в том случае, если верно одно из проверяемых условий 1…3 для очередного рассматриваемого пикселя
17. Способ по п.16, отличающийся тем, что выполняют следующие операции:
- для всех пикселей
при этом величины LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRi>-1; LRi+1>LRi, количество групп B(LRi, LRi+1) NB задает максимально возможное значение индекса i, используемого при нумерации величин (LRi, LRi+1): -1<LR0<LR0<LR0…<LRNB;
- для всех пикселей
○ среднее значение 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):
в том случае, если для очередного рассматриваемого пикселя
18. Способ по п.17, отличающийся тем, что среднее отклонение Dev(B(LRi, LRi+1)) значений пикселей в группе B(LRi, LRi+1) рассчитывают по формуле:
19. Способ по п.2, отличающийся тем, что:
- оценивают возможное изменение каждого значения пикселя опорного блока на основе заранее заданного численного критерия и уже рассчитанных, как минимум, двух оценок estDi,j и estRi,j определяя его как существенное или несущественное в зависимости от рассчитанного значения численного критерия.
20. Способ по п.19, отличающийся тем, что если первая оценка estDi,j и вторая оценка estRi,j таковы, что выполняется равенство: EstRi,j+Δ1>>Qbits1==EstDi,j+Δ1>>Qbits1, где Qbits1 и Δ1 - неотрицательные целые числа, то степень коррекции оценивают как несущественную.
21. Способ по п.19, отличающийся тем, что если первая оценка estDi,j и вторая оценка estRi,j таковы, что выполняется равенство: (|EstDi,j-EstRi,j|+Δ2)>>Qbits2==0, где Obits2 и Δ2 - неотрицательные целые числа, то степень коррекции оценивают как несущественную.
22. Способ по п.19, отличающийся тем, что если первая оценка estDi,j и вторая оценка estRi,j таковы, что выполняется неравенство: Δ3×EstRi,j<EstDi,j<Δ4×EstRi,j, где Δ3, Δ4 - заранее заданные неотрицательные числа, то степень коррекции оценивают как несущественную.
23. Способ адаптивной компенсации локальных различий яркости при межкадровом предсказании кадров в процессе кодирования и декодирования многоракурсной видеопоследовательности, реализуемый компьютерной системой и включающий в себя выполнение следующих операций:
- получают значения пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значения пикселей опорного блока, принадлежащего опорному кадру;
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока кодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
отличающийся тем, что:
- исключают из рассмотрения пиксели, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию и которые принадлежат окрестности текущего блока кодируемого кадра и окрестности опорного блока опорного кадра;
- учитывая начальные значения и используя только достоверные пиксели, вычисляют параметры коррекции яркости;
- оценивают изменение значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.
24. Способ по п.23, отличающийся тем, что вычисление параметров коррекции яркости включает в себя выполнение следующих операций:
- вычисляют, по меньшей мере, две численных оценки EstD и EstR на основе восстановленных значений
- определяют на основе, по меньшей мере, первой и второй оценки EstD и EstR параметр коррекции яркости всех пикселей опорного блока.
25. Способ по п.24, отличающийся тем, что процедура вычисления первой и второй оценок включает в себя выполнение следующих операций:
- задают начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки так, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные целые числа;
- вычисляют первую оценку
- вычисляют вторую оценку
- в том случае, если BaseR равно нулевому значению и вторая оценка EstR не равна нулю, или BaseR не равно нулевому значению, определяют параметр коррекции яркости как отношение
- в том случае, если BaseR равно нулевому значению и вторая оценка EstR равна нулю, параметр α задается равным 1;
- выполняют коррекцию яркости опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на определенный параметр коррекции яркости α в случае, если параметр α отличен от 1.
26. Способ по п.23, отличающийся тем, что:
- определяют окрестность текущего кодируемого блока как близлежащую, так что она непосредственно прилегает к кодируемому блоку, и пиксели, входящие в нее, уже восстановлены;
- определяют окрестность опорного блока как близлежащую, так что она непосредственно окружает опорный блок, пиксели, входящие в нее, уже восстановлены, общее количество пикселей совпадает с общим количеством пикселей в заданной окрестности текущего кодируемого блока, и между пикселями окрестности опорного блока и пикселями окрестности текущего кодируемого блока установлено взаимно-однозначное соответствие:
27. Способ по п.26, отличающийся тем, что положение окрестности текущего кодируемого блока и положение окрестности опорного блока определяют адаптивно вместо близлежащих расположений окрестностей заданных относительно соответствующих блоков в кодируемом и опорном кадрах.
28. Способ по п.26, отличающийся тем, что:
- оценивают возможные изменения значений пикселей опорного блока на основе заранее заданного численного критерия и уже рассчитанных как минимум двух оценок EstD, EstR, определяя их как существенные или несущественные в зависимости от рассчитанного значения численного критерия.
29. Способ по п.28, отличающийся тем, что, если первая оценка EstD и вторая оценка EstR таковы, что выполняется равенство: (EstR+Δ1)>>Qbits1==(EstD+Δ1)>>Qbits1, где Qbits1 и Δ1 - неотрицательные целые числа, степень коррекции оценивается как несущественная.
30. Способ по п.28, отличающийся тем, что, если первая оценка EstD и вторая оценка EstR таковы, что выполняется равенство: (|EstD-EstR|+Δ2)>>Qbits2==0, где Qbits2 и Δ2 - неотрицательные целые числа, степень коррекции оценивается как несущественная.
31. Способ по п.28, отличающийся тем, что, если первая оценка EstD и вторая оценка EstR таковы, что выполняется неравенство: Δ3×EstR<EstD<Δ4×EstR, где Δ3, Δ4 - неотрицательные целые числа, степень коррекции оценивается как несущественная.
32. Способ по п.23, отличающийся тем, что параметр коррекции яркости α в целях упрощения представляют целым неотрицательным числом, таким что коррекция значения каждого пикселя вычисляется как минимум умножением каждого значения пикселя на целое неотрицательное число, представляющее параметр коррекции яркости в целочисленном виде для всех пикселей опорного блока и битовым сдвигом вправо на другое заранее заданное целое неотрицательное число.
33. Способ по п.23, отличающийся тем, что:
- оценивают пиксели
- исключают из дальнейших расчетов пиксели
34. Способ по п.23, отличающийся тем, что при получении восстановленных значений пикселей из окрестностей текущего и опорного блоков выполняют прореживание по заранее заданному шаблону.
35. Способ кодирования многоракурсных видеопоследовательностей, основанный на адаптивной компенсации локальных различий яркости при межкадровом предсказании кадров, в котором кодируемый кадр представляется совокупностью неперекрывающихся областей пикселей, выступающих в роли единиц кодирования, при этом способ реализуется компьютерной системой и включает в себя выполнение следующих операций:
- выбирают текущий кодируемый блок, принадлежащий текущей единице кодирования;
- определяют, как минимум, один опорный блок, который используется для формирования блока-предсказания для текущего кодируемого блока и пиксели которого уже полностью закодированы и декодированы;
- определяют параметры коррекции яркости опорного блока;
- выполняют коррекцию яркости, корректируя значения всех пикселей опорного блока на основе определенных параметров коррекции яркости;
- формируют блок-предсказание для текущего кодируемого блока, используя скорректированный опорный блок:
- кодируют текущий блок с помощью сформированного блока-предсказания;
отличающийся тем, что этапы определения параметров коррекции яркости и выполнения коррекции яркости включают в себя следующее:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока кодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
- исключают из рассмотрения пиксели, которые оцениваются как недостоверные для расчета параметров коррекции яркости по заранее заданному, по меньшей мере, одному критерию и которые принадлежат окрестности текущего блока кодируемого кадра и окрестности опорного блока опорного кадра;
- вычисляют параметры коррекции яркости, учитывая начальные значения и используя только достоверные пиксели;
- оценивают изменение значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.
36. Способ по п.35, отличающийся тем, что при выборе текущего кодируемого блока, принадлежащего текущей единице кодирования, определяют размер текущего кодируемого блока, а также относительное расположение и размер окрестности кодируемого и опорного блоков, пиксели которых используются для расчета параметров коррекции на основании параметров кодирования текущей единицы кодирования.
37. Способ по п.36, отличающийся тем, что размер текущего кодируемого блока, а также относительное расположение и размер окрестности кодируемого и опорного блоков, пиксели которых используются для расчета параметров коррекции, определяют исходя из типа применяемого декоррелирующего преобразования.
38. Способ по п.36, отличающийся тем, что размер текущего кодируемого блока определяют на основании заранее заданного деления единицы кодирования на подблоки, имеющие отдельные векторы движения.
39. Способ по п.36, отличающийся тем, что размер текущего кодируемого блока должен быть меньше, чем размер подблока, который принадлежит текущей единице кодирования и имеет отдельный вектор движения.
40. Способ по п.35, отличающийся тем, что при выборе текущего кодируемого блока, принадлежащего текущей единице кодирования явно определяют и кодируют в потоке размер текущего кодируемого блока.
41. Способ по п.35, отличающийся тем, что при определении опорного блока, который используется для формирования блока-предсказания для текущего кодируемого блока, из всех опорных кадров, используемых для поиска опорного блока, выбирают только один опорный кадр по заранее определенным правилам; при этом не кодируют информацию о выбранном опорном кадре.
42. Способ по п.41, отличающийся тем, что при выборе только одного опорного кадра выбирают синтезированный кадр для текущего ракурса с той же самой меткой времени, что и кодируемый кадр.
43. Способ по п.41, отличающийся тем, что при выборе только одного опорного кадра выбирают опорный кадр, принадлежащий одному из соседних ракурсов и имеющий ту же самую метку времени, что и кодируемый кадр.
44. Способ по п.35, отличающийся тем, что при определении опорного блока, который используется для формирования блока-предсказания для текущего кодируемого блока, определяют вектор движения на основании функции сходства, которая дополнительно учитывает различия в средних уровнях яркости текущего кодируемого блока и опорного блока-кандидата.
45. Способ по п.44, отличающийся тем, что при определении вектора движения, вычисляют функцию сходства следующим образом:
- разбивают на подблоки кодируемый блок и опорный блок, при этом размеры подблоков не превышают размеров кодируемого и опорного блоков;
- вычисляются средний уровень яркости для каждого подблока кодируемого и опорного блока;
- корректируют каждый подблок кодируемого и опорного блока; для этого вычитают из каждого пикселя подблока соответствующий ему средний уровень яркости;
- вычисляют сумму абсолютных разностей скорректированного опорного и скорректированного кодируемого блока;
- вычисляют сумму абсолютных разностей для средних уровней всех подблоков опорного и кодируемого блока;
- рассчитывают показатель сходства как сумму абсолютных разностей средних уровней подблоков, умноженную на первое неотрицательное число, прибавленную к сумме абсолютных разностей скорректированных блоков, умноженной на второе неотрицательное число.
46. Способ по п.35, отличающийся тем, что определяют опорный блок с помощью вектора смещения, при этом ограничивают максимально возможное расстояние между вектором смещения и прогнозом вектора смещения так, что разница горизонтальных компонент вектора смещения и прогноза вектора смещения, называемая горизонтальной проекцией, и разница вертикальных компонент вектора смещения и прогноза вектора, называемая вертикальной проекцией смещения, имеют различные ограничения.
47. Способ по п.46, отличающийся тем, что при определении ограничений для горизонтальной проекции и вертикальной проекции ограничение вертикальной проекции не превышает ограничений для горизонтальной проекции.
48. Способ по п.35, отличающийся тем, что при кодировании текущего блока с помощью сформированного блока-предсказания, кодируют дополнительный синтаксический элемент для единицы кодирования, которой принадлежит кодируемый блок; значение синтаксического элемента определяет, существенны изменения значений пикселей опорных блоков единицы кодирования, или нет.
49. Способ по п.35, отличающийся тем, что при кодировании текущего блока с помощью сформированного блока-предсказания кодируют по одному дополнительному синтаксическому элементу для каждого подблока единицы кодирования, который может иметь уникальный индекс опорного кадра в данной единице кодирования; значение синтаксического элемента определяет, существенны изменения значений пикселей опорного блока или нет.
50. Способ по п.35, отличающийся тем, что при кодировании текущего блока с помощью сформированного блока-предсказания для единицы кодирования, которой принадлежит кодируемый блок, кодируют дополнительный синтаксический элемент, значение которого может принимать как минимум два значения; при одном значении закодированного дополнительного синтаксического элемента при определении опорного блока используют прогнозирование вектора движения, адаптированное к способу коррекции значений пикселей опорного блока и выполняют вычисление параметров коррекции яркости и коррекцию значений пикселей опорного блока; при другом значении закодированного дополнительного синтаксического элемента при определении опорного блока используют стандартное прогнозирование вектора движения и не выполняют вычисление параметров коррекции яркости и коррекцию значений пикселей опорного блока.
51. Способ по п.50, отличающийся тем, что прогнозирование вектора движения, адаптированное к способу коррекции значений пикселей опорного блока, выполняется только в опорном кадре соседнего вида.
52. Способ по п.51, отличающийся тем, что прогнозирование вектора движения, выполняется с использованием ранее найденных векторов движения, указывающих в опорный кадр соседнего вида и с использованием уже закодированных карт глубин.
53. Способ по п.35, отличающийся тем, что при кодировании текущего блока вычисленные параметры коррекции яркости не кодируются.
54. Способ по п.35, отличающийся тем, что вычисляют дополнительные параметры коррекции яркости на основе значений пикселей опорного блока и пикселей кодируемого блока, которые используются для коррекции значений пикселей опорного блока, и при кодировании текущего блока кодируют дополнительные параметры коррекции яркости с использованием параметров коррекции яркости, вычисленных на основе восстановленных значений пикселей из окрестности кодируемого блока и значений пикселей из окрестности опорного блока.
55. Способ декодирования многоракурсных видеопоследовательностей, основанный на адаптивной компенсации локальных различий яркости при межкадровом предсказании кадров, в котором декодируемый кадр представляется совокупностью неперекрывающихся областей пикселей, выступающих в роли единиц кодирования, при этом способ реализуется компьютерной системой и включает в себя выполнение следующих операций:
- выбирают текущий декодируемый блок, принадлежащий текущей единице кодирования;
- определяют опорный блок для текущего декодируемого блока;
- определяют параметры коррекции изменения для коррекции яркости найденного опорного блока;
- выполняют коррекцию яркости, корректируя значения всех пикселей опорного блока на основе определенных параметров коррекции яркости;
- формируют блок-предсказание для текущего декодируемого блока, используя скорректированный опорный блок;
- декодируют текущий блок с помощью сформированного блока-предсказания;
отличающийся тем, что этапы определения параметров коррекции яркости и выполнения коррекции яркости включают в себя следующее:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока декодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
- исключают из рассмотрения пиксели, принадлежащие окрестности текущего декодируемого блока и окрестности опорного блока опорного кадра, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию;
- учитывая начальные значения, вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений;
- выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции в том случае, если изменения значений пикселей опорного блока оцениваются как существенные.
56. Способ по п.55, отличающийся тем, что при выборе текущего декодируемого блока, принадлежащего текущей единице кодирования, определяют размер текущего декодируемого блока, а также относительное расположение и размер окрестности декодируемого и опорного блоков, пиксели которых используются для расчета параметров коррекции на основании параметров кодирования текущей единицы кодирования.
57. Способ по п.56, отличающийся тем, что размер текущего декодируемого блока, а также относительное расположение и размер окрестности декодируемого и опорного блоков, пиксели которых используются для расчета параметров коррекции, определяют исходя из типа применяемого декоррелирующего преобразования.
58. Способ по п.56, отличающийся тем, что размер текущего декодируемого блока определяют на основании заранее заданного деления единицы кодирования на подблоки, имеющие отдельные векторы движения.
59. Способ по п.56, отличающийся тем, что размер текущего декодируемого блока должен быть меньше, чем размер подблока, который принадлежит текущей единице кодирования и имеет отдельный вектор движения.
60. Способ по п.55, отличающийся тем, что при выборе текущего декодируемого блока, принадлежащего текущей единице кодирования, определяют размер текущего декодируемого блока на основании декодированной информации из входного битового потока.
61. Способ по п.55, отличающийся тем, что при определении опорного блока, который используется для формирования блока-предсказания для текущего декодируемого блока, из всех опорных кадров, выбирают только один опорный кадр по заранее определенным правилам; при этом информация о выбранном опорном кадре не содержится во входном битовом потоке.
62. Способ по п.61, отличающийся тем, что при выборе опорного кадра выбирают синтезированный кадр для текущего ракурса с той же самой меткой времени, что и декодируемый кадр.
63. Способ по п.61, отличающийся тем, что при выборе опорного кадра выбирают опорный кадр, принадлежащий одному из соседних ракурсов, и имеющий ту же самую метку времени, что и декодируемый кадр.
64. Способ по п.55, отличающийся тем, что при декодировании текущего блока с помощью сформированного блока-предсказания декодируют дополнительный синтаксический элемент для единицы кодирования, которой принадлежит декодируемый блок; значение синтаксического элемента определяет, существенны изменения значений пикселей опорных блоков единицы кодирования или нет.
65. Способ по п.55, отличающийся тем, что при декодировании текущего блока с помощью сформированного блока-предсказания декодируют по одному дополнительному синтаксическому элементу для каждого подблока единицы кодирования, который может иметь уникальный индекс опорного кадра в данной единице кодирования; значение синтаксического элемента определяет, существенны изменения значений пикселей опорного блока или нет.
66. Способ по п.55, отличающийся тем, что при декодировании текущего блока с помощью сформированного блока-предсказания для единицы кодирования, которой принадлежит декодируемый блок, декодируют дополнительный синтаксический элемент, значение которого может принимать, как минимум, два значения, при одном из которых при определении опорного блока используют прогнозирование вектора движения, адаптированное к способу коррекции значений пикселей опорного блока, и выполняют вычисление параметров коррекции яркости и коррекцию значений пикселей опорного блока; при другом значении декодированного дополнительного синтаксического элемента при определении опорного блока используют стандартное прогнозирование вектора движения и не выполняют вычисление параметров коррекции яркости и коррекцию значений пикселей опорного блока.
67. Способ по п.66, отличающийся тем, что прогнозирование вектора движения, адаптированное к способу коррекции значений пикселей опорного блока, выполняют только в опорном кадре соседнего вида.
68. Способ по п.66, отличающийся тем, что прогнозирование вектора движения выполняют с использованием ранее найденных векторов движения, указывающих в опорный кадр соседнего вида и с использованием уже закодированных карт глубин.
69. Способ по п.55, отличающийся тем, что при декодировании текущего блока информация о параметрах коррекции яркости не содержится во входном битовом потоке.
70. Способ по п.55, отличающийся тем, что при декодировании текущего блока декодируют дополнительные параметры коррекции яркости, расположенные во входном битовом потоке, с использованием параметров коррекции яркости, вычисленных на основе восстановленных значений пикселей, из окрестности кодируемого блока значений пикселей из окрестности опорного блока.
71. Способ декодирования многоракурсных видеопоследовательностей, основанный на адаптивной компенсации локальных различий яркости при межкадровом предсказании кадров, в котором декодируемый кадр представляется совокупностью неперекрывающихся областей пикселей, называемых единицами кодирования, при этом способ реализуется компьютерной системой и включает в себя выполнение следующих операций:
- выбирают текущий декодируемый блок, принадлежащий текущей единице кодирования;
- определяют опорный блок для текущего декодируемого блока;
- определяют параметры коррекции изменения для коррекции яркости найденного опорного блока;
- выполняют коррекцию яркости, корректируя значения всех пикселей опорного блока на основе определенных параметров коррекции яркости;
- формируют блок-предсказание для текущего декодируемого блока, используя скорректированный опорный блок;
- декодируют текущий блок с помощью сформированного блока-предсказания;
отличающийся тем, что этапы определения параметров коррекции яркости и выполнения коррекции яркости включают в себя следующее:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока декодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
- исключают из рассмотрения пиксели, принадлежащие окрестности текущего декодируемого блока и окрестности опорного блока опорного кадра, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию;
- определяют числовые соотношения между пикселями опорного блока, достоверными пикселями из окрестности текущего декодируемого блока и достоверными пикселями из окрестности опорного блока;
- учитывая начальные значения, вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений;
- выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции в том случае, если изменения значений пикселей опорного блока оцениваются как существенные.
СПОСОБ И УСТРОЙСТВО ДЛЯ ПРЕОБРАЗОВАНИЯ С ПОВЫШЕНИЕМ ЧАСТОТЫ КАДРОВ С ПОМОЩЬЮ КОДЕРА (EA-FRUC) ДЛЯ СЖАТИЯ ВИДЕОИЗОБРАЖЕНИЯ | 2005 |
|
RU2377737C2 |
КЛАССИФИКАЦИЯ КОНТЕНТА ДЛЯ ОБРАБОТКИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ | 2006 |
|
RU2402885C2 |
УСОВЕРШЕНСТВОВАННОЕ МЕЖУРОВНЕВОЕ ПРЕДСКАЗАНИЕ ДЛЯ РАСШИРЕННОЙ ПРОСТРАНСТВЕННОЙ МАСШТАБИРУЕМОСТИ ПРИ КОДИРОВАНИИ ВИДЕОСИГНАЛА | 2008 |
|
RU2426267C2 |
КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ ИЗОБРАЖЕНИЙ | 1997 |
|
RU2189120C2 |
US 20060274956 A1, 07.12.2006 | |||
US 20110235708 A1, 29.09.2011 | |||
US 20080240238 A1, 02.10.2008 |
Авторы
Даты
2014-11-20—Публикация
2012-12-26—Подача