СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ВИДЕОСИГНАЛА
METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к способу и устройству для обработки видеосигнала.
УРОВЕНЬ ТЕХНИКИ
[0002] Сжатие относится к методике обработки сигнала для передачи цифровой информации посредством линии связи или сохранения цифровой информации в форме, подходящей для запоминающего носителя информации. В частности, методика сжатия изображения именуется сжатием видео. Многоракурсное видео обладает характеристиками пространственной избыточности, временной избыточности и межракурсной избыточности.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
[0003] Цель настоящего изобретения состоит в повышении эффективности кодирования видеосигнала.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
[0004] Настоящее изобретение относится к межракурсному предсказанию остатка и получает вектор движения из соседнего блока.
[0005] Настоящее изобретение получает данные остатка первого опорного блока посредством использования вектора движения соседнего блока и получает данные остатка второго опорного блока посредством использования вектора движения опорного ракурса или вектора диспаратности.
[0006] Настоящее изобретение получает значение предсказания данных остатка текущего блока текстуры посредством использования данных остатка первого опорного блока и данных остатка второго опорного второго опорного блока и кодирует текущий блок текстуры посредством использования значения предсказания данных остатка текущего блока текстуры.
[0007] Настоящее изобретение применяет межракурсное предсказание остатка, когда второй опорный блок, обнаруженный при помощи вектора движения опорного ракурса, располагается в пределах картинки.
[0008] Настоящее изобретение применяет межракурсное предсказание остатка, когда соответствующий блок соответствует межкадровому предсказанию.
[0009] Настоящее изобретение сравнивает межракурсный вектор движения для обнаружения соответствующего блока с вектором диспаратности, используя данные глубины, соответствующие текущему блоку текстуры, и применяет межракурсное предсказание остатка, когда разность между межракурсным вектором движения и вектором диспаратности меньше порогового значения.
[0010] Настоящее изобретение сравнивает временной вектор движения соседнего блока с межракурсным вектором движения для обнаружения соответствующего блока и применяет межракурсное предсказание остатка, когда разность между временным вектором движения и межракурсным вектором движения меньше порогового значения.
ПРЕИМУЩЕСТВЕННЫЕ ЭФФЕКТЫ
[0011] Настоящее изобретение может улучшить точность предсказания видеоданных, используя корреляцию между ракурсами посредством выполнения межракурсного предсказания остатка, используя значение предсказания данных остатка текущего блока текстуры, которое получается, используя кодированные данные разных ракурсов, принадлежащих к одному и тому же периоду времени, и увеличить эффективность кодирования посредством сокращения количества передаваемых данных остатка. В дополнение, настоящее изобретение может получать вектор движения для обнаружения первого опорного блока и второго опорного блока из соседнего блока текущего блока текстуры, чтобы тем самым повышать точность межракурсного предсказания остатка и эффективность кодирования видео. Кроме того, настоящее изобретение может снижать комплексность в процессе кодирования посредством добавления условий для применения межракурсного предсказания остатка.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0012] Фиг. 1 является структурной схемой декодера видео в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0013] Фиг. 2 иллюстрирует примерные пространственные соседние блоки в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0014] Фиг. 3 иллюстрирует примерные временные соседние блоки в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0015] Фиг. 4 иллюстрирует примеры временного межкадрового предсказания и межракурсного межкадрового предсказания в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0016] Фиг. 5 является блок-схемой, иллюстрирующей способ для извлечения вектора диспаратности текущего блока текстуры, используя данные глубины, в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0017] Фиг. 6 иллюстрирует пример межракурсного предсказания остатка в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0018] Фиг. 7 является блок-схемой, иллюстрирующей примерное межракурсное предсказание остатка в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0019] Фиг. 8 иллюстрирует пример межракурсного предсказания остатка, соответствующего блок-схеме с Фиг. 7, в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0020] Фиг. 9 является блок-схемой, иллюстрирующей примерное межракурсное предсказание остатка в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0021] Фиг. 10 иллюстрирует пример межракурсного предсказания остатка, соответствующего блок-схеме с Фиг. 9, в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0022] Фиг. 11 иллюстрирует примерные условия межракурсного предсказания остатка в соответствии с позицией первого опорного блока, поиск которого осуществляется, используя вектор движения опорного ракурса.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
ПРЕДПОЧТИТЕЛЬНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0023] Для достижения целей настоящего изобретения способ для обработки видеосигнала в соответствии с настоящим вариантом осуществления может: получать межракурсный вектор движения из соседнего блока текущего блока текстуры, при этом соседний блок кодирован в соответствии с межракурсным межкадровым предсказанием; получать вектор движения опорного ракурса соответствующего блока, используя межракурсный вектор движения; получать данные остатка первого опорного блока, используя вектор движения опорного ракурса соответствующего блока; получать вектор движения опорного ракурса соответствующего блока в качестве вектора движения опорного ракурса текущего блока текстуры; получать данные остатка второго опорного блока, используя вектор движения опорного ракурса текущего блока текстуры; получать значение предсказания данных остатка, используя данные остатка первого опорного блока и данные остатка второго опорного блока; и декодировать текущий блок текстуры, используя значение предсказания данных остатка.
[0024] Когда второй опорный блок не располагается во второй опорной картинке, данные остатка второго опорного блока могут быть извлечены как 0.
[0025] Способ для обработки видеосигнала в соответствии с настоящим изобретением может: получать вектор диспаратности, используя значение глубины текущего блока текстуры; сравнивать межракурсный вектор движения с вектором диспаратности; и получать данные остатка первого опорного блока и данные остатка второго опорного блока, когда разность между межракурсным вектором движения и вектором диспаратности меньше порогового значения.
[0026] Способ для обработки видеосигнала в соответствии с настоящим изобретение может: получать временной вектор движения из соседнего блока текущего блока текстуры, при этом соседний блок кодирован посредством временного межкадрового предсказания; и сравнивать временной вектор движения с вектором движения опорного ракурса, при этом данные остатка первого опорного блока и данные остатка второго опорного блока получаются, когда разность между временным вектором движения и вектором движения опорного ракурса меньше порогового значения.
[0027] Межракурсный вектор движения может быть извлечен, по меньшей мере, из одного из векторов: межракурсного вектора движения пространственного соседнего блока, межракурсного вектора движения временного соседнего блока и опорного межракурсного вектора движения.
[0028] Межракурсный вектор движения пространственного соседнего блока может обладать более высоким приоритетом, чем межракурсный вектор движения временного соседнего блока, и межракурсный вектор движения временного соседнего блока может обладать более высоким приоритетом, чем опорный межракурсный вектор движения.
[0029] Опорный межракурсный вектор движения может быть межракурсным вектором движения, соответствующим вектору движения опорного ракурса, когда, по меньшей мере, один из блоков: пространственный соседний блок и временной соседний блок извлекаются, используя вектор движения опорного ракурса.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ
[0030] Методики сжатия или декодирования многоракурсных данных видеосигнала рассматривают пространственную избыточность, временную избыточность и межракурсную избыточность. В случае многоракурсного изображения многоракурсные изображения текстуры, захваченные с двух или более ракурсов, могут быть закодированы для того, чтобы сгенерировать трехмерное изображение. Кроме того, при необходимости могут быть закодированы данные глубины, соответствующие многоракурсным изображениям текстуры. Данные глубины могут быть сжаты, принимая во внимание пространственную избыточность, временную избыточность и межракурсную избыточность. Данные глубины являются информацией о расстоянии между камерой и соответствующим пикселем. Данные глубины могут быть гибко интерпретированы как относящаяся к глубине информация, такая как информация о глубине, глубина изображения, глубина картинки, последовательность глубины и битовый поток глубины в настоящем техническом описании. В дополнение, кодирование может включать в себя кодирование и декодирование в настоящем техническом описании и может быть гибко интерпретировано в технической сущности и техническом объеме настоящего изобретения.
[0031] Фиг. 1 является структурной схемой декодера видео в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0032] Обращаясь к Фиг. 1, декодер видео может включать в себя модуль 100 анализа NAL, модуль 200 энтропийного декодирования, модуль 300 обратного квантования/обратного преобразования, модуль 400 внутрикадрового предсказания, модуль 500 внутрициклового фильтра, модуль 600 буфера декодированной картинки и модуль 700 межкадрового предсказания. Модуль 100 анализа NAL может принимать битовый поток, включающий в себя многоракурсные данные текстуры. В дополнение, модуль 100 анализа NAL может дополнительно принимать битовый поток, включающий в себя закодированные данные глубины, когда данные глубины необходимы для кодирования данных текстуры. Входные данные текстуры и данные глубины могут быть переданы в качестве одного битового потока или в качестве отдельных битовых потоков. Модуль 100 анализа NAL может выполнять анализ на основе NAL для того, чтобы декодировать входной битовый поток. Когда входной битовый поток является данными, связанными с несколькими ракурсами (например, 3-мерным видео), входной битовый поток может дополнительно включать в себя параметр камеры. Параметр камеры может включать в себя свойственный параметр камеры и несвойственный параметр камеры, и свойственный параметр камеры может включать в себя фокусное расстояние, соотношение сторон, главную точку и подобное, а несвойственный параметр камеры может включать в себя информацию о позиции камеры в глобальной системе координат и подобное.
[0033] Модуль 200 энтропийного декодирования может выделять квантованные коэффициенты преобразования, информацию кодирования для предсказания картинки текстуры и подобное посредством энтропийного декодирования.
[0034] Модуль 300 обратного квантования/обратного преобразования может получать коэффициент преобразования посредством применения параметра квантования к квантованным коэффициентам преобразования и декодировать данные текстуры или данные глубины посредством применения обратного преобразования к коэффициенту преобразования. Здесь декодированные данные текстуры или данные глубины могут включать в себя данные остатка в соответствии с предсказанием. В дополнение, параметр квантования для блока глубины может быть получен, принимая во внимание комплексность данных текстуры. Например, низкий параметр квантования может быть установлен, когда блок текстуры, соответствующий блоку глубины, обладает высокой комплексностью, и высокий параметр квантования может быть установлен, когда блок текстуры обладает низкой комплексностью.
[0035] Модуль 400 внутрикадрового предсказания может выполнять внутрикадровое предсказание, используя воссозданные данные текстуры в текущей картинке текстуры. Внутрикадровое предсказание может быть выполнено для картинки глубины образом, аналогичным тому, что используется для картинки текстуры. Например, информация кодирования, используемая для межкадрового предсказания картинки текстуры, может быть в равной степени использована для картинки глубины. Информация кодирования, используемая для межкадрового предсказания, может включать в себя режим внутрикадрового предсказания и информацию разбиения внутрикадрового предсказания.
[0036] Модуль 500 внутрициклового фильтра может применять внутрицикловой фильтр к каждому кодированному блоку для того, чтобы сократить искажение блока. Фильтр может сглаживать край блока с тем, чтобы повысить качество декодированной картинки. Отфильтрованные картинки текстуры или картинки глубины могут быть выведены или сохранены в модуль 600 буфера декодированной картинки, для использования в качестве опорных картинок.
[0037] Модуль 600 буфера декодированной картинки может хранить или открывать ранее закодированные картинки текстуры или картинки глубины для того, чтобы выполнять межкадровое предсказание. Для хранения ранее закодированных картинок текстуры или картинок глубины в модуле 600 буфера декодированной картинки или для открытия картинок может быть использован frame_num (номер_кадра) и Счетчик Очередности Картинки (POC) каждой картинки. Кроме того, поскольку ранее закодированные картинки включают в себя картинки глубины, соответствующие ракурсам, отличным от ракурса текущей картинки глубины при кодировании глубины, то информация идентификации ракурса для идентификации ракурса картинки глубины может быть использована для того, чтобы использовать картинки глубины, соответствующие разным ракурсам, в качестве опорных картинок. При кодировании глубины картинки глубины могут быть промаркированы, чтобы их можно было отличить от картинок текстуры в модуле буфера декодированной картинки, и информация для идентификации каждой картинки глубины может быть использована во время процесса маркирования.
[0038] Модуль 700 межкадрового предсказания может выполнять компенсацию движения текущего блока, используя опорные картинки и информацию о движении, хранящиеся в модуле 600 буфера декодированной картинки. Информация о движении может включать в себя вектор движения и информацию об опорном индексе в широком смысле в настоящем техническом описании. В дополнение, модуль 700 межкадрового предсказания может выполнять временное межкадровое предсказание для компенсации движения.
[0039] В настоящем изобретении соседние блоки могут включать в себя пространственный соседний блок и временной соседний блок. Пространственный соседний блок и временной соседний блок, применяемые в настоящем изобретении, определены в нижеследующем.
[0040] Фиг. 2 иллюстрирует примерные пространственные соседние блоки в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
0
1
0
1
2
[0041] Обращаясь к Фиг. 2(a), пространственные соседние блоки могут включать в себя, по меньшей мере, один из блоков: левый нижний соседний блок A, левый соседний блок A, правый верхний соседний блок B, верхний соседний блок B и левый верхний соседний блок B. По вышеупомянутым пространственным соседним блокам может осуществляться поиск блока для извлечения вектора движения и найденный вектор движения соседнего блока может быть получен в качестве вектора движения текущего блока текстуры. Поиск по пространственным соседним блокам может осуществляться, принимая во внимание их приоритеты. Соответственно, поиск по пространственным соседним блокам может быть осуществлен в очередности вида: левый соседний блок, верхний соседний блок, верхний правый соседний блок, нижний левый соседний блок и верхний левый соседний блок. Например, когда межракурсный вектор движения текущего блока текстуры извлекается из соседнего блока, если левый соседний блок является блоком, кодированным в соответствии с межракурсным межкадровым предсказанием, тогда межракурсный вектор движения левого соседнего блока может быть получен в качестве межракурсного вектора движения текущего блока текстуры и поиск может быть окончен. Тем не менее, когда левый соседний блок не был кодирован в соответствии с межракурсным межкадровым предсказанием, может быть выполнена проверка того, был ли верхний соседний блок кодирован в соответствии с межракурсным межкадровым предсказанием. В качестве альтернативы, поиск по пространственным соседним блокам может быть осуществлен в очередности вида: левый нижний соседний блок, левый соседний блок, правый верхний соседний блок, верхний соседний блок и левый верхний соседний блок, в отношении блока, кодированного в соответствии с межракурсным межкадровым предсказанием. Тем не менее приоритеты пространственных соседних блоков не ограничиваются вышеописанным вариантом осуществления.
1
2
3
1
4
2
3
1
4
1
1
1
0
0
2
0
1
0
1
[0042] Фиг. 2(b) иллюстрирует увеличение количества потенциальных пространственных соседних блоков. Когда размер левого соседнего блока A меньше размера текущего блока текстуры, текущий блок текстуры может дополнительно иметь, по меньшей мере, один левый соседний блок. Например, пространственные соседние блоки в соответствии с настоящим изобретением могут дополнительно включать в себя левые соседние блоки A и A, расположенные между левым соседним блоком A и левым верхним соседним блоком B, как показано на Фиг. 2(b). Аналогичным образом, пространственные соседние блоки в соответствии с настоящим вариантом осуществления могут дополнительно включать в себя верхние соседние блоки B и B, расположенные между верхним соседним блоком B и левым верхним блоком B, когда размер верхнего соседнего блока B меньше размера текущего блока текстуры. В этом случае, блок, кодированный в соответствии с межракурсным межкадровым предсказанием, также может быть обнаружен, принимая во внимание приоритеты пространственных соседних блоков (например, A->B->B->A->B->C->C->D->D). Как описано выше, можно увеличить вероятность того, что может быть получен межракурсный вектор движения текущего блока текстуры, посредством увеличения количества потенциальных пространственных соседних блоков для извлечения межракурсного вектора движения текущего блока текстуры.
[0043] Фиг. 3 иллюстрирует примерные временные соседние блоки в соответствии с вариантом осуществления, к которому может быть применено настоящее изобретение.
[0044] Обращаясь к Фиг. 3, временной соседний блок может относиться к блоку (именуемому далее, как соотнесенный блок) в той же самой позиции, что и текущий блок текстуры в опорной картинке текущего блока текстуры. В этом документе опорная картинка может относиться к картинке, соответствующей тому же самому ракурсу, что и текущая картинка, включающая в себя текущий блок текстуры, при этом соответствующая отличному времени. Соотнесенный блок в соответствии с настоящим изобретение может быть определен посредством двух способов, как показано на Фиг. 4.
0
1
0
1
2
0
1
2
[0045] Обращаясь к Фиг. 3(a), соотнесенный блок может быть определен как блок, включающий в себя позицию C в опорной картинке, которая соответствует позиции C центрального пикселя текущего блока текстуры. Обращаясь к Фиг. 3b, соотнесенный блок может быть определен как блок, включающий в себя позицию X в опорной картинке, которая соответствует позиции X левого верхнего пикселя текущего блока текстуры. Временной соседний блок настоящего изобретения не ограничивается соотнесенным блоком и может относиться к соседнему блоку, смежному с соотнесенным блоком. Как показано на Фиг. 3(a), по меньшей мере один из блоков: левый нижний соседний блок A, левый блок A, правый верхний соседний блок B, верхний блок B и левый верхний соседний блок B, может быть использован в качестве соседнего блока, смежного с соотнесенным блоком. Кроме того, поскольку опорная картинка была декодирована до текущей картинки, нижний соседний блок и правый соседний блок соотнесенного блока также могут быть использованы в качестве временных соседних блоков. Например, правый нижний соседний блок C, нижний соседний блок C и правый соседний блок C могут быть использованы в качестве временных соседних блоков, как показано на Фиг. 3(a). Можно осуществлять поиск a) соотнесенного блока и b) соседнего блока, смежного с соотнесенным блоком, которые рассматриваются в качестве потенциальных временных соседних блоков, в отношении временного соседнего блока, принимая во внимание приоритет.
[0046] Фиг. 4 иллюстрирует примеры предсказания с компенсацией движения и предсказание с компенсацией диспаратности в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0047] Временное межкадровое предсказание (предсказание с компенсацией движения (MCP)) может относиться к межкадровому предсказанию, использующему опорную картинку, которая соответствует тому же самому ракурсу, что и текущий блок текстуры, при этом которая располагается во временном периоде, отличном от того, что у текущего блока текстуры, и информацию о движении текущего блока текстуры. В случае многоракурсного изображения, полученного при помощи множества камер, межракурсное межкадровое предсказание может быть выполнено в дополнение к предсказанию с компенсацией движения. Межракурсное межкадровое предсказание или предсказание с компенсацией диспаратности (DCP) может относиться к межкадровому предсказанию, использующему опорную картинку, соответствующую ракурсу, отличному от того, что у текущего блока текстуры, и информацию о движении текущего блока текстуры. Для удобства, информация о движении, используемая для предсказания с компенсацией движения, именуется временным вектором движения и информацией о временном опорном индексе, а информация о движении, используемая для предсказания с компенсацией диспаратности, именуется межракурсным вектором движения и информацией о межракурсном опорном индексе. Соответственно, вектор движения может быть гибко интерпретирован в качестве концепции, включающей в себя временной вектор движения, информацию о временном опорном индексе, межракурсный вектор движения и информацию о межракурсном опорном индексе.
[0048] Предсказание остатка может быть способом для предсказания данных остатка текущего блока текстуры, используя данные остатка опорной картинки. Межракурсное предсказание остатка может быть способом для предсказания данных остатка текущего блока текстуры, используя данные остатка опорного блока в опорном ракурсе. Межракурсное предсказание остатка будет описано подробно со ссылкой на Фиг. 6.
[0049] Будет дано описание способов для определения того, был ли соседний блок кодирован в соответствии с временным межкадровым предсказанием или межракурсным межкадровым предсказанием.
[0050] Теперь будет описан способ для определения того, был ли соседний блок кодирован в соответствии с временным межкадровым предсказанием. В одном варианте осуществления, был ли соседний блок кодирован в соответствии с временным межкадровым предсказанием, может быть определено на основании информации идентификации вектора движения соседнего блока. Когда информация идентификации вектора движения указывает вектор движения, используя временное межкадровое предсказание, может быть определено, что соседний блок был кодирован в соответствии с временным межкадровым предсказанием.
[0051] Будет дано описание способа для определения того, кодированы ли выше определенные пространственный соседний блок и временной соседний блок в соответствии с межракурсным межкадровым предсказанием. В одном варианте осуществления, можно определить, кодирован ли соседний блок в соответствии с межракурсным межкадровым предсказанием на основании того, использует ли соответствующий соседний блок межракурсный список опорных картинок. Межракурсный список опорных картинок может относиться к списку, составленному из опорных картинок, расположенных в ракурсах, отличных от ракурса соответствующего соседнего блока. В качестве альтернативы, может быть определено, кодирован ли соседний блок в соответствии с межракурсным межкадровым предсказанием на основании информации об опорном индексе соответствующего соседнего блока. Например, когда информация об опорном индексе соответствующего соседнего блока указывает опорную картинку, расположенную в ракурсе, отличном от того, что у соответствующего соседнего блока может быть установлено, что соответствующий соседний блок кодирован в соответствии с межракурсным межкадровым предсказанием. В качестве альтернативы, может быть определено, кодирован ли соседний блок в соответствии с межракурсным межкадровым предсказанием на основании того, является ли POC картинки, включающей в себя соответствующий соседний блок, идентичным POC опорной картинки соответствующего соседнего блока. POC является информацией о последовательности вывода и картинки в одной и той же единице доступа могут иметь одинаковый POC. Соответственно, когда два POC идентичны, это означает, что картинка, включающая в себя соответствующий соседний блок, и опорная картинка располагаются в разных ракурсах. В этом случае, может быть установлено, что соответствующий соседний блок кодирован в соответствии с межракурсным межкадровым предсказанием.
[0052] Когда как пространственный соседний блок, так и временной соседний блок не кодированы в соответствии с межракурсным межкадровым предсказанием, межракурсный вектор движения может быть извлечен, используя соседний блок, кодированный в соответствии с временным межкадровым предсказанием. Когда соседний блок кодирован в соответствии с временным межкадровым предсказанием, используя вектор движения опорного ракурса, межракурсный вектор движения (именуемый далее опорным межракурсным вектором движения), используемый для определения вектора движения опорного ракурса, может быть установлен равным значению межракурсного вектора движения текущего блока текстуры.
[0053] Фиг. 5 является блок-схемой, иллюстрирующей способ извлечения вектора диспаратности текущего блока текстуры, используя данные глубины, в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0054] Обращаясь к Фиг. 5, информация о позиции блока глубины (именуемого далее текущим блоком глубины) в картинке глубины, который соответствует текущему блоку текстуры текущей картинки, может быть получена на основании информации о позиции текущего блока текстуры текущей картинки (S500). Позиция текущего блока глубины может быть определена, принимая во внимание пространственные разрешения картинки глубины и текущей картинки. Например, когда картинка глубины и текущая картинка кодируются с одинаковым пространственным разрешением, позиция текущего блока глубины может быть определена как та же самая позиция, как и у текущего блока текстуры текущей картинки. Текущая картинка и картинка глубины могут быть кодированы при разных пространственных разрешениях, поскольку эффективность кодирования заметно не ухудшается, даже когда информация о глубине кодируется с уменьшенным пространственным разрешением через характеристики информации о глубине, указывающие расстояние между камерой и объектом. Соответственно, когда картинка глубины кодируется с пространственным разрешением ниже, чем у текущей картинки, декодер может использовать повышающую дискретизацию в отношении картинки глубины до получения информации о позиции текущего блока глубины. В дополнение, когда соотношение сторон картинки глубины после повышающей дискретизации не согласуется с соотношением сторон текущей картинки, может быть дополнительно учтена информация о смещении, когда информация о позиции текущего блока глубины получается в пределах картинки глубины после повышающей дискретизации. Здесь, информация о смещении может включать в себя, по меньшей мере, одну из информаций: информацию о верхнем смещении, информацию о левом смещении, информацию о правом смещении и информация о нижнем смещении. Информация о верхнем смещении может относиться к разности позиций между, по меньшей мере, одним пикселем, расположенным в верхней части картинки глубины после повышающей дискретизации и, по меньшей мере, одним пикселем, расположенным в верхней части текущей картинки. Информация о левом смещении, информация о правом смещении и информация о нижнем смещении может быть определена аналогичным образом.
[0055] Могут быть получены данные глубины, соответствующие информации о позиции текущего блока глубины (S510). Когда текущий блок глубины включает в себя множество пикселей, могут быть использованы данные глубины, соответствующие угловому пикселю текущего блока глубины. В противном случае, могут быть использованы данные глубины, соответствующие центральному пикселю текущего блока глубины. В качестве альтернативы, может быть выборочно использовано одно из следующего: максимальное значение, минимальное значение и режим, из множества фрагментов данных глубины, соответствующих множеству пикселей, и может быть использовано среднее из множества фрагментов данных глубины. Вектор диспаратности текущего блока текстуры может быть извлечен, используя полученные данные глубины и параметр камеры (S520). Подробный способ извлечения вектора диспаратности текущего блока текстуры теперь будет описан со ссылкой на Уравнения 1 и 2.
[0056] [Уравнение 1]
near
far
near
far
near
far
[0057] Обращаясь к Уравнению 1, Z обозначает расстояние между соответствующим пикселем и камерой, D является значением, полученным посредством квантования Z, и соответствует данным глубины настоящего изобретения, и Z и Z соответственно представляют собой минимальное значение и максимальное значение Z, которые определены для ракурса, включающего в себя картинку глубины. Z и Z могут быть выделены из битового потока посредством набора параметра последовательности, заголовка слайса и подобного, и могут быть информацией, предварительно определенной в декодере. Соответственно, когда расстояние между соответствующим пикселем и камерой квантуется на уровне 256, Z может быть восстановлено, используя данные Z и Z глубины, как представлено Уравнением 1. Впоследствии вектор диспаратности для текущего блока текстуры может быть извлечен, используя воссозданный Z, как представлено Уравнение 2.
[0058] [Уравнение 2]
[0059] В уравнении 2 ƒ обозначает фокусное расстояние камеры, а B обозначает расстояние между камерами. Можно предположить, что все камеры имеют одинаковое ƒ и B, и, следовательно, ƒ и B могут информацией, которая предварительно определена в декодере.
[0060] Когда кодируются только данные текстуры многоракурсного изображения, информация о параметрах камеры не может быть использована, и, следовательно, способ извлечения вектора диспаратности из данных глубины не может быть использован. Соответственно, может быть использована карта вектора диспаратности, хранящая векторы диспаратности, когда кодируются только данные текстуры многоракурсного изображения. Карта вектора диспаратности может быть картой, в которой векторы диспаратности, каждый из которых составлен из горизонтальных компонентов и вертикальных компонентов, хранятся в двумерном массиве. Карта вектора диспаратности настоящего изобретения может быть представлена в различных размерах. Например, карта вектора диспаратности может иметь размер 1х1, когда только один вектор диспаратности используется из расчета на картинку. Когда вектор диспаратности используется из расчета на 4х4 блок в картинке, карта вектора диспаратности может иметь размер, соответствующий 1/16 размера картинки, поскольку карта вектора диспаратности имеет ширину и высоту, равные 1/4 соответствующих величин картинки. В дополнение, размер текущего блока текстуры может быть адаптивно определен в одной картинке и вектор диспаратности может быть сохранен из расчета на соответствующий блок текстуры.
[0061] Будет дано описание способа для межракурсного предсказания текущего блока текстуры в модуле 700 межкадрового предсказания, в частности способа межракурсного предсказания остатка для получения значения предсказания данных остатка, используя данные остатка опорного блока.
[0062] Фиг. 6 иллюстрирует примерное межракурсное предсказание остатка в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0063] Межракурсное предсказание остатка является способом получения значения предсказания данных остатка текущего блока текстуры, используя данные остатка, которые соответствуют ракурсу, отличному от того, который у текущего блока текстуры, при этом принадлежащий к тому же самому временному периоду, что и текущий блок текстуры, в многоракурсном изображении. Эффективность кодирования видео текущего ракурса может быть повышена посредством предсказания данных остатка текущего блока текстуры, используя межракурсное предсказание остатка. На Фиг. 6, когда центром текущего блока текстуры является X, вектор диспаратности текущего блока текстуры получается, используя значение d глубины текущего блока текстуры, которое соответствует X. Здесь, вектор диспаратности указывает опорный блок текущего блока текстуры. Опорный блок текущего блока текстуры может быть обнаружен из опорного ракурса, используя полученный вектор диспаратности. Другими словами, позиция опорного блока в опорном ракурсе может быть обнаружена посредством сложения значения вектора диспаратности с верхней левой точкой текущего блока текстуры. Когда в опорном блоке присутствуют данные остатка, то только разность между данными остатка, соответствующими опорному блоку, и данными остатка текущего блока текстуры преобразуется с тем, чтобы повысить эффективность кодирования. Когда позиция блока опорного ракурса, указываемая вектором диспаратности, соответствует позиции субэлемента дискретизации, значение предсказания данных остатка может быть получено, используя элементы дискретизации данных остатка опорного ракурса и линейный фильтр.
[0064] Флаг iner_view_residual_prediction_flag, указывающий, применяется ли межракурсное предсказание остатка к текущему блоку текстуры, может быть включен в битовый поток и передан декодеру. Флаг iner_view_residual_prediction_flag может быть установлен равным 1 при определении того, что межракурсное предсказание текущего текстурного блока является действительным, тогда как флаг iner_view_residual_prediction_flag может быть установлен равным 0 при определении того, что межракурсное предсказание остатка текущего блока текстуры является не действительным.
[0065] Фиг. 7 является блок-схемой, иллюстрирующей примерное межракурсное предсказание остатка в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0066] Фиг. 8 иллюстрирует примерное межракурсное предсказание остатка, соответствующее блок-схеме с Фиг. 7.
[0067] Как показано на Фиг. 8, когда соседние блоки текущего блока текстуры включают в себя соседний блок, использующий временное межкадровое предсказание, временной вектор 800 движения текущего блока текстуры может быть получен из информации о движении соседнего блока (S700). Соседние блоки могут включать в себя пространственные соседние блоки и временные соседние блоки. Пространственные соседние блоки могут включать в себя, по меньшей мере, один из блоков: нижний левый соседний блок, левый соседний блок, верхний правый соседний блок, верхний соседний блок и верхний левый соседний блок, которые являются соседними блоками для текущего блока текстуры. Когда пространственный соседний блок кодируется, используя временное межкадровое предсказание, временной вектор движения может быть получен из пространственного соседнего блока в качестве временного вектора 800 движения текущего блока текстуры. Когда временной соседний блок кодируется посредством временного межкадрового предсказания, временной вектор движения может быть получен из временного соседнего блока в качестве временного вектора 800 движения текущего бока текстуры. Может быть осуществлен поиск по соседним блокам в отношении блока, кодированного в соответствии с временным межкадровым предсказанием, принимая во внимание приоритеты соседних блоков. Сначала может быть осуществлен поиск по пространственным соседним блокам и затем может быть осуществлен поиск по временным соседним блокам. В противном случае, сначала может быть осуществлен поиск по временным соседним блокам и затем может быть осуществлен поиск по пространственным соседним блокам. Можно осуществлять поиск блока, кодированного в соответствии с временным межкадровым предсказанием, принимая во внимание приоритеты пространственных соседних блоков. Приоритеты пространственных соседних блоков могут быть заданы в очередности вида: левый соседний блок, верхний соседний блок, верхний правый соседний блок, нижний левый соседний блок и верхний левый соседний блок.
[0068] Позиция первого опорного блока может быть обнаружена, используя временной вектор 800 движения, полученный в качестве временного вектора движения из текущего блока текстуры, и данные остатка могут быть получены из первого опорного блока (S710). Позиция первого опорного блока может быть обнаружена, используя временной вектор 800 движения в текущем блоке текстуры. Верхняя левая точка первого опорного блока может быть обнаружена посредством сложения временного вектора 800 движения с верхней левой точкой текущего блока текстуры. Первый опорный блок может быть расположен в картинке, которая соответствует тому же самому ракурсу, что и текущий блок текстуры, при этом принадлежащей к временному периоду, отличному от того, что у текущего блока текстуры.
[0069] Может быть получен межракурсный вектор 810 движения первого опорного блока (S720). Межракурсный вектор 810 движения первого опорного блока может быть вектором диспаратности, полученным, используя данные глубины, соответствующие первому опорному блоку. Межракурсный вектор движения блока, кодированного в соответствии с межракурсным межкадровым предсказанием, из числа соседних блоков первого опорного блока, может быть получен в качестве межракурсного вектора 810 движения первого опорного блока. Соседние блоки могут включать в себя пространственные соседние блоки и временные соседние блоки. Пространственные соседние блоки могут включать в себя, по меньшей мере, один из блоков: нижний левый соседний блок, левый соседний блок, верхний правый соседний блок, верхний соседний блок и верхний левый соседний блок, которые являются соседними блоками текущего блока текстуры. Когда пространственный соседний блок является кодированным посредством межракурсного межкадрового предсказания, межракурсный вектор движения может быть получен из пространственного соседнего блока в качестве межракурсного вектора 810 движения текущего блока текстуры. Когда временной соседний блок является кодированным посредством межракурсного межкадрового предсказания, межракурсный вектор движения может быть получен из временного соседнего блока в качестве межракурсного вектора 810 движения текущего блока текстуры. Может быть осуществлен поиск по соседним блокам в отношении блока, кодированного в соответствии с межракурсным межкадровым предсказанием, принимая во внимание приоритеты соседних блоков.
[0070] Позиция второго опорного блока может быть указана, используя межракурсный вектор 810 движения первого опорного блока, и данные остатка могут быть получены из второго опорного блока (S730). Второй опорный блок может быть расположен в картинке, которая соответствует ракурсу, отличному от того, что у первого опорного блока, при этом принадлежащей к тому же самому времени, что и первый опорный блок. Позиция второго опорного блока может быть обнаружена, используя межракурсный вектор 810 движения. Верхняя левая точка второго опорного блока может быть указана посредством сложения межракурсного вектора 810 движения с верхней левой точкой первого опорного блока.
[0071] Значение предсказания данных остатка может быть получено посредством вычитания данных остатка второго опорного блока из данных остатка первого опорного блока (S740).
[0072] Межракурсное предсказание остатка для декодирования текущего блока текстуры может быть выполнено, используя значение предсказания данных остатка (S750).
[0073] Фиг. 9 является блок-схемой, иллюстрирующей примерное межракурсное предсказание остатка в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0074] Фиг. 10 иллюстрирует примерное межракурсное предсказание остатка, соответствующее блок-схеме на Фиг. 9.
[0075] Может быть получен межракурсный вектор движения текущего блока текстуры (900). Межракурсный вектор 1000 движения текущего блока текстуры может быть получен из соседнего блока текущего блока текстуры. Когда соседние блоки текущего блока текстуры включают в себя блок, кодированный, используя межракурсный вектор движения, межракурсный вектор движения блока может быть получен в качестве межракурсного вектора 1000 движения текущего блока текстуры. Соседние блоки могут включать в себя пространственные соседние блоки и временные соседние блоки. Пространственные соседние блоки могут включать в себя, по меньшей мере, один из блоков: нижний левый соседний блок, левый соседний блок, верхний правый соседний блок, верхний соседний блок и верхний левый соседний блок, которые являются соседними блоками текущего блока текстуры. Когда пространственный соседний блок является кодированным посредством межракурсного межкадрового предсказания, межракурсный вектор движения может быть получен из пространственного соседнего блока в качестве межракурсного вектора 1000 движения текущего текстурного блока. Когда временной соседний блок является кодированным посредством межракурсного межкадрового предсказания, межракурсный вектор движения может быть получен из временного соседнего блока в качестве межракурсного вектора 1000 движения текущего блока текстуры. Может быть осуществлен поиск по соседним блокам в отношении блока, кодированного в соответствии с межракурсным межкадровым предсказанием, принимая во внимание приоритеты соседних блоков.
[0076] Позиция соответствующего блока может быть обнаружена, используя полученный межракурсный вектор движения (S910). Позиция верхнего левого элемента дискретизации соответствующего блока может быть определена посредством сложения межракурсного вектора движения, полученного на этапе S900, с позицией верхнего левого элемента дискретизации текущего блока текстуры. Соответствующий блок может быть расположен в ракурсе, отличном от того, что у текущего блока текстуры, при этом принадлежать к тому же самому временному периоду, что и текущий блок текстуры.
[0077] Может быть получен вектор 1010 движения опорного ракурса найденного соответствующего блока (S920). Вектор 1010 движения опорного ракурса соответствующего блока может быть получен из соседнего блока соответствующего блока. Когда соседние блоки соответствующего блока включают в себя соседний блок, кодированный, используя временное межкадровое предсказание, временной вектор движения, использованный для временного межкадрового предсказания соседнего блока, может быть получен в качестве вектора 1010 движения опорного ракурса соответствующего блока. Соседние блоки могут включать в себя пространственные соседние блоки и временные соседние блоки. Пространственные соседние блоки могут включать в себя, по меньшей мере, один из блоков: нижний левый соседний блок, левый соседний блок, верхний правый соседний блок, верхний соседний блок и верхний левый соседний блок, которые являются соседними блоками соответствующего блока. Когда пространственный соседний блок является кодированным посредством временного межкадрового предсказания, временной вектор движения может быть получен из пространственного соседнего блока в качестве вектора 1010 движения опорного ракурса соответствующего блока. Когда временной соседний блок является кодированным посредством временного межкадрового предсказания, временной вектор движения может быть получен из временного соседнего блока в качестве вектора 1010 движения опорного ракурса соответствующего блока. Может быть осуществлен поиск по соседним блокам в отношении блока, кодированного в соответствии с временным межкадровым предсказанием, принимая во внимание приоритеты соседних блоков. Сначала может быть осуществлен поиск по пространственным соседним блокам и затем может быть осуществлен поиск по временным соседним блокам. В противном случае, сначала может быть осуществлен поиск по временным соседним блокам, и затем может быть осуществлен поиск по пространственным соседним блокам. Можно осуществлять поиск в отношении блока, кодированного в соответствии с временным межкадровым предсказанием, принимая во внимание приоритеты пространственных соседних блоков. Приоритеты пространственных соседних блоков могут быть заданы в очередности вида: левый соседний блок, верхний соседний блок, верхний правый соседний блок, нижний левый соседний блок и верхний левый соседний блок.
[0078] Данные остатка второго опорного блока могут быть получены, используя полученный вектор 1010 движения опорного ракурса соответствующего блока (S930). Верхний левый элемент дискретизации второго опорного блока может быть обнаружен посредством сложения вектора 1010 движения опорного ракурса с верхним левым элементом дискретизации соответствующего блока. Данные остатка могут быть получены из второго опорного блока, обнаруженного, используя вектор 1010 движения опорного ракурса. Второй опорный блок может быть расположен в том же самом ракурсе, что и у соответствующего блока, при этом принадлежать к временному периоду, отличному от того, что у соответствующего блока.
[0079] Вектор 1010 движения опорного ракурса соответствующего блока может быть получен в качестве вектора 1020 движения опорного ракурса текущего блока текстуры (S940). Вектор движения опорного ракурса, полученный из соответствующего блока опорного ракурса, может быть привлечен к текущему ракурсу и вектор 1010 движения опорного ракурса соответствующего блока может быть получен в качестве вектора 1020 движения опорного ракурса текущего блока текстуры.
[0080] Данные остатка первого опорного блока могут быть получены, используя вектор 1020 движений опорного ракурса текущего блока текстуры (S950). Верхний левый элемент дискретизации второго опорного блока может быть обнаружен посредством сложения вектора 1020 движения опорного ракурса с верхним левым элементом дискретизации текущего блока текстуры. Данные остатка могут быть получены из второго опорного блока, обнаруженного, используя вектор 1020 движения опорного ракурса. Первый опорный блок может быть расположен в том же самом ракурсе, что и текущий блок текстуры, при этом принадлежать к временному периоду, отличному от того, что у текущего блока текстуры. Первый опорный блок может быть расположен в ракурсе, отличном от того, что у второго опорного блока, при этом принадлежать к тому же самому временному периоду, что и второй опорной блок.
[0081] Значение предсказания данных остатка может быть получено посредством вычитания данных остатка второго опорного блока из данных остатка первого опорного блока (S960).
[0082] Межракурсное предсказание остатка для декодирования текущего блока текстуры может быть выполнено, используя значение предсказания данных остатка (S970).
[0083] Будет дано описание условий для применения межракурсного предсказания остатка.
[0084] Фиг. 11 иллюстрирует пример условий для применения межракурсного предсказания остатка в соответствии с позицией первого опорного блока, обнаруженной, используя вектор движения опорного ракурса в соответствии с вариантом осуществления, к которому применяется настоящее изобретение.
[0085] Если верхняя левая точка первого опорного блока включена в картинку, когда вектор движения опорного ракурса, полученный из опорного ракурса, и верхний левый элемент дискретизации текущего блока текстуры суммируются, тогда данные остатка первого опорного блока могут быть получены и может быть применено межракурсное предсказание остатка. Если верхняя левая точка первого опорного блока находится вне границы картинки, когда вектор движения опорного ракурса, полученный из опорного ракурса, и верхний левый элемент дискретизации текущего блока текстуры суммируются, тогда может быть определено, что указывается область, которая скрыта из-за различия между текущим ракурсом и опорным ракурсом. Соответственно, когда верхняя левая точка первого опорного блока находится вне границы картинки, данные остатка первого опорного блока могут быть извлечены как 0. В противном случае, межракурсное предсказание остатка не может быть применено.
[0086] Межракурсное предсказание остатка может быть применено, когда соответствующий блок, обнаруженный, используя межракурсный вектор движения, является кодированным в межкадровом режиме. Когда соответствующий блок, обнаруженный, используя межракурсный вектор движения, был закодирован во внутрикадровом режиме, вектор движения не присутствует, и, следовательно, межракурсное предсказание остатка не может быть применено.
[0087] Применять ли межракурсное предсказание остатка может быть определено посредством получения вектора диспаратности, используя данные глубины текущего блока текстуры, и сравнения полученного вектора диспаратности с межракурсным вектором движения. Когда вектор диспаратности сравнивается с межракурсным вектором движения и разность между компонентами y-направления вектора диспаратности межракурсного вектора движения больше предварительно определенного порогового значения, межракурсный вектор движения не может быть использован и межракурсное предсказание остатка не может быть применено. Когда y-значение межракурсного вектора движения большое, межракурсный вектор движения не может быть использован при определении того, что высока вероятность того, что межракурсный вектор движения отличается от вектора диспаратности, и межракурсное предсказание остатка не может быть применено.
[0088] Когда соседние блоки текущего блока текстуры включают в себя соседний блок, кодированный посредством временного межкадрового предсказания, вектор движения соседнего блока может быть сравнен с вектором движения опорного ракурса и может быть определено, применяется ли вектор движения опорного ракурса к межракурсному предсказанию остатка. Когда разность между вектором движения соседнего блока и вектором движения опорного ракурса меньше предварительно определенного порогового значения, вектор движения опорного ракурса может быть получен, чтобы применяться к межракурсному предсказанию остатка. Когда разность между вектором движения соседнего блока и вектором движения опорного ракурса больше предварительно определенного порогового значения, вектор движения опорного ракурса может быть получен таким образом, что вектор движения опорного ракурса не применяется к межракурсному предсказанию остатка.
[0089] Когда вышеупомянутые условия для применения межракурсного предсказания остатка удовлетворяются или удовлетворяются лишь некоторые из условий, флаг inter_view_ residual_prediction_flag получается, как равный 1, и, следовательно, может быть применено межракурсное предсказание остатка.
[0090] Когда вышеупомянутые условия для применения межракурсного предсказания остатка не удовлетворяются иди не удовлетворяются лишь некоторые из условий, флаг inter_view_ residual_prediction_flag извлекается, как равный 0, и, следовательно, межракурсное предсказание остатка не применяется.
[0091] Как описано выше, устройство декодирования/кодирования, к которому применяется настоящее изобретение, может быть включено в устройство передачи/приема мультимедийного вещания, такое как система DMB (цифрового мультимедийного вещания), для использования при декодировании видеосигналов, сигналов данных и подобного. В дополнение, устройство передачи/приема мультимедийного вещания может включать в себя терминал мобильной связи.
[0092] Способ декодирования/кодирования, к которому применяется настоящее изобретение, может быть реализован в качестве исполняемой компьютером программы и храниться на машиночитаемом записывающем носителе информации, и мультимедийные данные со структурой данных в соответствии с настоящим изобретением также могут быть сохранены на машиночитаемом записывающем носителе информации. Машиночитаемый записывающий носитель информации включает в себя все виды запоминающих устройств, хранящих данных, которые могут быть считаны компьютерной системой. Примеры машиночитаемого записывающего носителя информации включают в себя ROM, RAM, CD-ROM, магнитную ленту, гибкий диск, оптическое устройство хранения данных и носитель информации, использующий несущую волну (например, передача через Интернет). В дополнение, битовый поток, сгенерированный в соответствии со способом кодирования, может быть сохранен на машиночитаемом записывающем носителе информации или передан, используя сеть проводной/беспроводной связи.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[0093] Настоящее изобретение может быть использовано для кодирования видеосигнала.