Вид РИД
Изобретение
ОБЛАСТЬ ТЕХНИКИ
[0001] Данное раскрытие сущности изобретения относится к области кодирования/декодирования видеоизображения и мультимедийных коммуникаций и, более конкретно, к способу прямого многогипотезного кодирования/декодирования и к устройству для этого.
УРОВЕНЬ ТЕХНИКИ
[0002] Технология кодирования видео и изображений является основой и ключевым пунктом для широкого применения важной мультимедийной информации - цифрового видео и изображений. В текущей блочной гибридной структуре видео кодирования, видео кодирование обычно включает в себя следующие четыре части: предиктивное кодирование, преобразование и квантование, энтропийное кодирование, и циклическую фильтрацию. Предиктивное кодирование включает в себя внутрикадровое предсказание и межкадровое предсказание. В пределах одного кадра изображения, смежные пикселы имеют похожие значения. Таким образом, текущий пиксел может быть предсказан согласно пространственно смежным пикселам. Для видео последовательности, изображения смежных кадров сильно коррелированы друг с другом во временной области, что образует теоретическую основу для технологии межкадрового предсказания. В настоящее время, существующие стандарты видео кодирования включают в себя MPEG-1/2/4, H.261/H.263, H.264/AVC, AVS-1/2 и H.265/HEVC. Технология блочного межкадрового предсказания также улучшается с развитием видео кодирования.
[0003] Технология блочного межкадрового предсказания развивается, главным образом, в двух аспектах: (1) точность предсказания пиксела становится все выше и выше, от предсказания всего пиксела до предсказания ½ пиксела, или от предсказания ¼ пиксела до 1/8 пиксела. (2) при изменении количества однонаправленных опорных блоков от 1 до 2, количество опорных блоков увеличивается. До H.264/HEVC и AVS 2.0, для каждого блока, существовал только один прямой опорный блок. Пикселы текущего блока предсказывают на основе прямого опорного блока, и информацию о положении (индекс опорного кадра и вектор движения (motion vector - MV)) опорного блока и прямой опорный блок кодируют в битовый поток. Такой блок изображения называют блоком изображения одногипотезного кодирования. В H.264/HEVC и AVS2 включена технология прямого многоссылочного предсказания. Для каждого блока, существуют два прямых опорных блока. После взвешенного предсказания для пикселов текущего блока на основе двух прямых опорных блоков, информацию о положении (два индекса опорных кадров и два MV) опорных блоков кодируют в битовый поток. Такой блок изображения с двумя опорными блоками называют блоком изображения прямого многогипотезного кодирования.
[0004] Блок изображения многогипотезного кодирования имеет два опорных блока изображения. Предположим, что текущий блок изображения, подлежащий кодированию, обозначен А, а соответствующие ему опорные блоки изображения обозначены В и С. Процедура предиктивного кодирования блока А изображения может быть представлена следующим образом: взвешенную сумму опорных блоков В и С вычисляют для получения предиктивного блока Р изображения, и предиктивное кодирование для А выполняют на основе Р. Взвешенная сумма может быть описана следующей формулой:
[0005] , (1)
[0006] где , может быть фиксированным значением (например, ), определяемым кодером/декодером или стандартом видео кодирования, или значением, включенным в битовый поток, или значением, полученным из корреляции между опорными кадрами, где расположены блоки А, В и С изображения. Вышеупомянутая формула описывает только один пример. Однако, она этим не ограничена. В HEVC, для блока изображения многогипотезного кодирования, не существует прямой связи между двумя индексами опорных кадров, соответствующих ему. Эти два индекса опорных кадров могут быть одинаковыми или разными.
[0007] Не существует также прямой связи между двумя MV, соответствующими ему. Два MV могут быть одинаковыми или разными. Кодер должен записать два индекса опорных кадров и два MV в битовый поток. В AVS 2, режим кодирования блока изображения прямого многогипотезного кодирования называют направленным многогипотезным (directional multiple hypothesis - DMH) режимом. Два индекса опорных кадров в этом режиме являются одинаковыми, а разница между двумя MV является меньшей, чем некоторый порог. Таким образом, в этом режиме, то, что необходимо записать в битовый поток, включает в себя: один индекс опорного кадра, один MV и разницу между двумя MV. Для облегчения описания, индекс опорного кадра и MV блока изображения называют информацией о движении блока изображения.
[0008] Для дополнительного улучшения эффективности многогипотезного предиктивного кодирования, анализируют характеристику блока изображения многогипотезного кодирования. В многогипотезном предиктивном кодировании, обнаружено, что существует корреляция между индексами двух опорных кадров, где расположены два опорных блока, и два MV не являются совершенно несоответствующими, так что информация о движении текущего блока изображения сильно связана с информацией о движении смежных блоков изображения. Если взять MV в качестве примера, то MV текущего блока изображения в большой степени соответствует MV смежного в пространстве/времени блока изображения. В некоторых конкретных случаях, MV текущего блока изображения может быть прямо получен из MV смежного блока и, таким образом, MV текущего блока не нужно передавать в битовом потоке. В настоящее время, существует несколько способов получения MV, например, медианное получение MV, AMVP, Merge, получение MV на основе длины границ, и т.д., которые называются, в общем, способом получения вектора движения.
[0009] Смежные во времени и пространстве блоки текущего блока показаны на фиг. 1А и 1В. Всего существует 5 видов пространственно смежных блоков, как показано на фиг. 1А. Смежный во времени блок является блоком, который находится в предшествующем декодированном кадре в одинаковом положении с текущим блоком, как показано на фиг. 1В.
[0010] MV текущего блока, полученный из MV смежного блока, может быть также получен на основе корреляции между индексами опорных кадров, что называют способом масштабирования получения MV.
[0011] Правило получения, согласно способу масштабирования MV, включает в себя: для текущего блока А, вектор движения, соответствующий опорному блоку В, в опорном кадре F1 с индексом RF1, обозначен MV1. Таким образом, если дан опорный кадр F2 с индексом RF2, то вектор MV2 движения блока А, соответствующий опорному блоку С в опорном кадре F2, может быть получен следующим образом:
[0012] , (2)
[0013] где d1 обозначает расстояние между опорным кадром F1 и текущим кадром, d2 обозначает расстояние между опорным кадром F2 и текущим кадром. Следует отметить, что вектор MV движения имеет две компоненты: x-компоненту MVx и y-компоненту MVy. Обычно, MV={MVx,MVy}. Таким образом, если формула (2) выбрана для получения MV, то эти две компоненты получают независимо.
[0014] После ознакомления с идеей многогипотезного кодирования, блок изображения многогипотезного кодирования нуждается в двух опорных блоках. Для кодера, два индекса опорных кадров и два соответствующих вектора движения должны быть найдены во время процедуры поиска движения. В этой процедуре поиска может быть выбран полный поиск, т.е., исследуют каждое положение каждого кадра в опорной очереди. Или, может быть выбран алгоритм быстрого поиска. Могут быть применены различные способы быстрого поиска. Например, может быть исследовано каждое положение только в пределах предопределенных 1 или 2 опорных кадров. Или, поиск в пределах кадра упрощают, но каждый кадр должен быть исследован. Или, упрощают как поиск в пределах кадра, так и поиск среди кадров. Для декодера, если всю информацию о движении (2 индекса опорных кадров и 2 вектора движения) передают в битовом потоке, то декодер должен получить информацию о движении прямо из битового потока.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
[0015] Данное раскрытие сущности изобретения обеспечивает эффективный способ кодирования/декодирования, использующий корреляцию в пределах информации о движении блока изображения и корреляцию между информацией о движении текущего блока изображения и информацией о движении смежного блока изображения.
ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
[0016] В различных иллюстративных вариантах осуществления, способ видео кодирования включает в себя кодирование, выборочно, информации о движении текущего блока, включающей в себя два индекса опорных кадров и два вектора движения, в битовый поток, на основе текущего режима кодирования.
[0017] В различных иллюстративных вариантах осуществления, посредством выборочного кодирования информации о движении текущего блока, включающей в себя два прямых индекса опорных кадров и два вектора движения, в битовый поток, на основе текущего режима кодирования, этот способ кодирования/декодирования обеспечивает эффективность.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0018] Фиг. 1А и 1В являются схемами, показывающими смежные в пространстве и времени блоки текущего блока, согласно некоторому варианту осуществления данного раскрытия сущности изобретения.
[0019] Фиг. 2 является схемой, показывающей структуру устройства прямого многогипотезного кодирования, согласно некоторому варианту осуществления данного раскрытия сущности изобретения.
[0020] Фиг. 3 является схемой, показывающей структуру устройства прямого многогипотезного декодирования, согласно некоторому варианту осуществления данного раскрытия сущности изобретения.
НАИЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0021] Один аспект данного раскрытия сущности изобретения обеспечивает способ прямого многогипотезного кодирования, включающий в себя:
[0022] (1) для блока А изображения, получение опорного блока В изображения и опорного блока С изображения, посредством выполнения поиска движения в опорной очереди, и получение предиктивного блока Р изображения блока А изображения с использованием взвешенной суммы опорных блоков B и C изображения;
[0023] (2) получение опорного кадра Fb, в котором расположен опорный блок В изображения, и вектора MVb движения, на основе положения опорного блока В изображения, получение опорного кадра Fc, в котором расположен опорный блок С изображения, и вектора MVc движения, на основе положения опорного блока С изображения, получение индекса RFb опорного кадра, на основе положения опорного кадра Fb в опорной очереди, и получение индекса RFc опорного кадра, на основе положения опорного кадра Fc в опорной очереди;
[0024] (3) запись информации о режиме кодирования, выбранном кодером, в битовый поток; и
[0025] (4) кодирование некоторых из RFb, RFc, MVb и MVc в битовый поток, на основе выбранного режима кодирования.
[0026] Дополнительно, режим кодирования является одним из режима 1, режима 2, режима 3 и режима 4, причем
[0027] (1) когда режимом кодирования является режим 1, RFb, MVb и MVc кодируют в битовый поток, RFc не кодируют в битовый поток,
[0028] (2) когда режимом кодирования является режим 2, MVb и MVc кодируют в битовый поток, RFb и RFc не кодируют в битовый поток,
[0029] (3) когда режимом кодирования является режим 3, RFb, RFc и MVb кодируют в битовый поток, MVc не кодируют в битовый поток, и
[0030] (4) когда режимом кодирования является режим 4, RFb и MVb кодируют в битовый поток, RFc и MVc не кодируют в битовый поток.
[0031] Дополнительно, когда режимом кодирования является режим 1, MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} удовлетворяют неравенствам |MVb_x-MVc_x|>hx и |MVb_y-MVc_y|>hy, hx и hy являются значениями, определяемыми кодером или стандартом видео кодирования, и RFb и RFc удовлетворяют равенству RFb=RFc.
[0032] Дополнительно, когда режимом кодирования является режим 3, RFb и RFc отличаются друг от друга.
[0033] Второй аспект данного раскрытия сущности изобретения обеспечивает способ прямого многогипотезного декодирования блока изображения, включающий в себя:
[0034] (1) декодирование информации о режиме из битового потока;
[0035] (2) декодирование, на основе информации о режиме, некоторых из RFb, RFc, MVb и MVc из битового потока,
[0036] причем, RFb является индексом опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc является индексом опорного кадра Fc, в котором расположен опорный блок C изображения, в опорной очереди, MVb является вектором движения блока А изображения, относительно опорного блока В изображения, и MVc является вектором движения блока А изображения, относительно опорного блока С изображения;
[0037] (3) получение остальных из RFb, RFc, MVb и MVc, которые не декодированы из битового потока, с использованием любого из (a), (b) и (c); и
[0038] (a) на основе информации о движении одного или нескольких смежных блоков блока А изображения, получение остальных из RFb, RFc, MVb и MVc, которые не декодированы из битового потока;
[0039] (b) на основе некоторых из RFb, RFc, MVb и MVc, декодированных из битового потока, получение остальных из RFb, RFc, MVb и MVc, которые не декодированы из битового потока; и
[0040] (c) определение остальных из RFb, RFc, MVb и MVc, которые не декодированы из битового потока в качестве заданного значения; и
[0041] (4) на основе индексов RFb, RFc опорных кадров и векторов MVb, MVc движения, извлечение опорного блока В изображения из опорного кадра Fb, извлечение опорного блока С изображения из опорного кадра Fc, и получение предиктивного блока Р изображения блока А изображения с использованием извлеченных опорных блоков B и C изображения.
[0042] Дополнительно, информация о режиме указывает на один из режима 1, режима 2, режима 3 и режима 4, причем
[0043] (1) когда информация о режиме указывает на режим 1, RFb, MVb и MVb получают из битового потока, а RFc получают на основе одного из (1-a), (1-b), (1-c),
[0044] (1-a) RFc=RFb,
[0045] (1-b) индекс опорного кадра, соответствующий кадру, который расположен в опорной очереди и находится перед текущим кадром, в котором расположен блок А изображения, в порядке отображения, и ближе всего к текущему кадру, назначают RFc, и
[0046] (1-c) индекс опорного кадра смежного блока блока А изображения назначают RFc,
[0047] (2) когда информация о режиме указывает на режим 2, MVb и MVc получают из битового потока, а RFb и RFc получают на основе одного из (2-a) and (2-b),
[0048] (2-a) индексы двух кадров, которые находятся в опорной очереди и находятся перед текущим кадром, в котором расположен блок А изображения, и ближе всего к текущему кадру в порядке отображения, назначают RFb и RFc, соответственно, и
[0049] (2-b) RFb и RFc получают на основе одного или нескольких смежных во времени блоков и/или одного или нескольких пространственно смежных блоков,
[0050] (3) когда информация о режиме указывает на режим 3, RFb, RFc и MVb декодируют из битового потока, а MVc получают на основе существующего способа получения вектора движения, и
[0051] (4) когда информация о режиме указывает на режим 4, RFb и MVb декодируют из битового потока, а RFc получают на основе одного из (4-1) и (4-2),
[0052] (4-1) индекс опорного кадра, соответствующий опорному кадру, который расположен в опорной очереди и находится ближе всего текущему кадру, в котором расположен блок А изображения, среди всех опорных кадров, и который находится перед текущим кадром в порядке отображения в опорной очереди, и чей индекс опорного кадра не равен RFb, назначают RFc, и
[0053] (4-2) индекс опорного кадра смежного во времени или пространстве блока блока А изображения назначают RFc.
[0054] Дополнительно, когда информация о режиме указывает на режим 1, MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} удовлетворяют неравенствам |MVb_x-MVc_x|>hx и |MVb_y-MVc_y|>hy, hx и hy являются значениями, определяемыми кодером или стандартом видео кодирования, и RFb и RFc удовлетворяют равенству RFb=RFc.
[0055] Дополнительно, когда информация о режиме указывает на режим 3, RFb и RFc отличаются друг от друга.
[0056] Третий аспект данного раскрытия сущности изобретения обеспечивает устройство прямого многогипотезного кодирования, включающее в себя: искатель движения, межкадровый предсказатель, селектор информации о движении, кодер информации о движении и кодер режима.
[0057] Входные данные искателя движения содержат текущий блок А изображения и опорную очередь, выходные данные искателя движения содержат опорный блок В изображения, опорный блок С изображения и соответствующее множество информации о движении { RFb, RFc, MVb, MVc }, причем все кадры в опорной очереди находятся перед текущим кадром, в котором расположен текущий блок А изображения, в порядке отображения, RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, MVb обозначает вектор движения от блока А изображения к опорному блоку В изображения, MVc обозначает вектор движения от блока А изображения к опорному блоку С изображения, искатель движения находит опорные блоки изображения текущего блока А изображения и выводит множество информации о движении,
[0058] Входные данные межкадрового предсказателя содержит опорные блоки B и C изображения, выходные данные межкадрового предсказателя содержат предиктивный блок P изображения, причем межкадровый предсказатель получает предиктивный блок P изображения посредством вычисления взвешенной суммы опорных блоков B и C изображения,
[0059] входные данные селектора информации о движении содержат режим кодирования текущего блока А изображения и множество информации о движении, выведенное искателем движения, выходные данные селектора информации о движении содержат подмножество R информации о движении, причем селектор информации о движении получает подмножество R информации о движении,
[0060] входные данные кодера информации о движении содержат подмножество R информации о движении, выходные данные кодера информации о движении содержат битовый поток, причем кодер информации о движении кодирует подмножество R информации о движении в битовыйпотоке, и
[0061] входные данные кодера режима содержат режим кодирования, а выходные данные кодера режима содержат битовый поток, причем кодер режима кодирует режим кодирования в битовый поток.
[0062] Дополнительно, режим кодирования является одним из режима 1, режима 2, режима 3, и режима 4, множество информации о движении является множеством { RFb, RFc, MVb, MVc }. И,
[0063] когда режим кодирования является режимом 1, подмножество R информации о движении является множеством { RFb, MVb, MVc },
[0064] когда режим кодирования является режимом 2, подмножество R информации о движении является множеством { MVb, MVc },
[0065] когда режим кодирования является режимом 3, подмножество R информации о движении является множеством { RFb, RFc, MVb },
[0066] когда режим кодирования является режимом 4, подмножество R информации о движении является множеством { RFb, MVb }.
[0067] Дополнительно, когда режим кодирования является режимом 1, MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} удовлетворяют неравенствам |MVb_x-MVc_x|>hx и |MVb_y-MVc_y|>hy, hx и hy являются значениями, определяемыми кодером или стандартом видео кодирования, и RFb и RFc удовлетворяют равенству RFb=RFc.
[0068] Дополнительно, когда режим кодирования является режимом 3, RFb и RFc отличаются друг от друга.
[0069] Четвертый аспект данного изобретения обеспечивает устройство прямого многогипотезного декодирования блока изображения, включающее в себя: декодер информации о режиме, декодер информации о движении, получатель информации о движении, извлекатель опорного блока и межкадровый предсказатель.
[0070] Входные данные декодера информации о режиме содержат битовый поток, а выходные данные декодера информации о режиме содержат информацию о режиме текущего блока А изображения, причем декодер информации о режиме декодирует информацию о режиме текущего блока А изображения из битового потока,
[0071] входные данные декодера информации о движении содержат битовый поток и информацию о режиме текущего блока А изображения, выходные данные декодера информации о движении содержат подмножество R информации о движении, причем декодер информации о движении получает подмножество R информации о движении из битового потока на основе информации о режиме текущего блока А изображения.
[0072] входные данные получателя информации о движении содержат подмножество R информации о движении и информацию о режиме, выходные данные получателя информации о движении содержат подмножество Q информации о движении, причем получатель информации о движении получает подмножество Q информации о движении на основе подмножества R информации о движении, и пересечение R и Q является пустым,
[0073] входные данные извлекателя опорного блока содержит множество U информации о движении и опорную очередь, выходные данные извлекателя опорного блока содержат два опорных блока B и C изображения, причем все кадры в опорной очереди находятся перед текущим кадром, в котором расположен блок А изображения, в порядке отображения, множество U информации о движении является объединением подмножества R и подмножества Q, извлекатель опорного блока получает два опорных блока B и C изображения на основе множества U информации о движении и опорной очереди, и
[0074] входные данные межкадрового предсказателя содержат опорные блоки B и C изображения, выходные данные содержат предиктивный блок P изображения, причем межкадровый предсказатель получает предиктивный блок P изображения посредством вычисления взвешенной суммы опорных блоков B и C изображения.
[0075] Дополнительно, информация о режиме указывает на один из режима 1, режима 2, режима 3, и режима 4.
[0076] Когда информация о режиме указывает на режим 1, подмножество R информации о движении является множеством { RFb, MVb, MVc },
[0077] когда информация о режиме указывает на режим 2, подмножество R информации о движении является множеством { MVb, MVc },
[0078] когда информация о режиме указывает на режим 3, подмножество R информации о движении является множеством { RFb, RFc, MVb}, и
[0079] когда информация о режиме указывает на режим 4, подмножество R информации о движении является множеством { RFb, MVb }.
[0080] Дополнительно, когда информация о режиме указывает на режим 1, MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} удовлетворяют неравенствам |MVb_x-MVc_x|>hx и |MVb_y-MVc_y|>hy, hx и hy являются значениями, определяемыми кодером или стандартом видео кодирования, и RFb и RFc удовлетворяют равенству RFb=RFc.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0081] Данное раскрытие сущности изобретения будет описано ниже более подробно со ссылкой на сопутствующие чертежи и варианты осуществления, для разъяснения технического решения и его преимуществ. Очевидно, что приведенное ниже описание является только некоторыми вариантами осуществления данного раскрытия сущности изобретения, а не всеми его вариантами осуществления. На основе вариантов осуществления данного раскрытия сущности изобретения, специалисты в данной области техники могут получить многие варианты без творческих усилий, и эти варианты также находятся в пределах объема правовой охраны данного изобретения.
[0082] Вариант 1 осуществления
[0083] N×N блок А изображения в текущем изображении подлежит кодированию. Имеется М опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. N и M являются положительными целыми. N обозначает размер блока изображения, а М обозначает количество опорных кадров в опорной очереди. Могут существовать различные режимы кодирования для кодера, для кодирования блока А изображения, и один из различных режимов кодирования выбирает способ многогипотезного кодирования, называемый режимом многогипотезного кодирования. Режим многогипотезного кодирования может выбрать один из следующих четырех режимов: (а) режим 1, только один индекс опорного кадра и два вектора движения передаются в битовом потоке; (b) режим 2, только два вектора движения передаются в битовом потоке; (c) режим 3, два индекса опорных кадров и только один вектор движения передаются в битовом потоке; и (d) режим 4, только один индекс опорного кадра и соответствующий ему вектор движения передаются в битовом потоке. Таким образом, кодирование блока А изображения включает в себя следующее.
[0084] (1) Для блока А изображения, кодер выполняет поиск движения в опорной очереди для получения двух опорных блоков B и C изображения; причем кадр, в котором расположен опорный блок В изображения, обозначается Fb, а соответствующий ему индекс опорного кадра обозначается RFb. Различие в положении между опорным блоком В изображения и блоком А изображения обозначается вектором MVb движения. Кадр, в котором расположен опорный блок С изображения, обозначается Fc, соответствующий ему индекс опорного кадра обозначается RFc, и соответствующий вектор движения обозначается MVc.
[0085] (2) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения.
[0086] (3) Режим кодирования, выбранный кодером, кодируют в битовый поток.
[0087] (4) Некоторые из RFb, RFc, MVb и MVc кодируют в битовый поток на основе режима кодирования.
[0088] Вариант 2 осуществления
[0089] 16×16 блок А изображения в текущем изображении подлежит кодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы кодирования для кодера, для кодирования блока А изображения, и один из различных режимов кодирования выбирает способ многогипотезного кодирования, называемый режимом многогипотезного кодирования. Режим многогипотезного кодирования может выбрать один из четырех режимов, описанных в варианте 1 осуществления. Кодирование блока А изображения включает в себя следующее.
[0090] (1) Для блока А изображения, кодер выполняет поиск движения в опорной очереди из 4 кадров для получения двух 16×16 опорных блоков B и C изображения. Кадр, в котором расположен опорный блок В изображения, обозначается Fb, а соответствующий ему индекс опорного кадра обозначается RFb=2. Различие в положении между опорным блоком В изображения и блоком А изображения обозначается вектором MVb движения, причем MVb={15, -10}. Кадр, в котором расположен опорный блок С изображения, обозначается Fc, соответствующий ему индекс опорного кадра обозначается RFc=0, и соответствующий вектор движения обозначается MVc={12, -8}.
[0091] (2) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Формула взвешенной суммы соответствует формуле (1), , т.е., два опорных блока изображения имеют равный вес.
[0092] (3) Режим 1 кодирования выбирается кодером после процедуры оптимизации искажения скорости, и информацию о режиме 1 кодируют в битовый поток.
[0093] (4) На основе режима 1 кодирования, RFb, MVb и MVc кодируют в битовый поток, тогда как RFc не кодируют в битовый поток.
[0094] Вариант 3 осуществления
[0095] 8×8 блок А изображения в текущем изображении подлежит кодированию. Имеется 6 опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы кодирования для кодера, для кодирования блока А изображения, и один из различных режимов кодирования выбирает способ многогипотезного кодирования, называемый режимом многогипотезного кодирования. Режим многогипотезного кодирования может выбрать один из следующих четырех режимов, описанных в варианте 1 осуществления. Кодирование блока А изображения включает в себя следующее.
[0096] (1) Для блока А изображения, кодер выполняет поиск движения в 6 опорных кадрах для получения двух 16×16 опорных блоков B и C изображения. Кадр, в котором расположен опорный блок В изображения, обозначается Fb, а соответствующий ему индекс опорного кадра обозначается RFb=0. Различие в положении между опорным блоком В изображения и блоком А изображения обозначается вектором MVb движения, причем MVb={1, 2}. Кадр, в котором расположен опорный блок С изображения, обозначается Fc, соответствующий ему индекс опорного кадра обозначается RFc=1, и соответствующий вектор движения обозначается MVc={4, 7}.
[0097] (2) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Формула взвешенной суммы соответствует формуле (1), .
[0098] (3) Режим 2 кодирования выбирается кодером после процедуры оптимизации искажения скорости, и информацию о режиме 2 кодируют в битовый поток.
[0099] (4) На основе режима 2 кодирования, MVb и MVc кодируют в битовый поток, тогда как RFb и RFc не кодируют в битовый поток.
[00100] Вариант 4 осуществления
[00101] 32×32 блок А изображения в текущем изображении подлежит кодированию. Имеется 3 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы кодирования для кодера, для кодирования блока А изображения, и один из различных режимов кодирования выбирает способ многогипотезного кодирования, называемый режимом многогипотезного кодирования. Режим многогипотезного кодирования может выбрать один из следующих четырех режимов, описанных в варианте 1 осуществления. Кодирование блока А изображения включает в себя следующее.
[00102] (1) Для блока А изображения, кодер выполняет поиск движения в опорных кадрах для получения двух 32×32 опорных блоков B и C изображения. Кадр, в котором расположен опорный блок В изображения, обозначается Fb, а соответствующий ему индекс опорного кадра обозначается RFb=0. Различие в положении между опорным блоком В изображения и блоком А изображения обозначается вектором MVb движения, причем MVb={1, 3}. Кадр, в котором расположен опорный блок С изображения, обозначается Fc, соответствующий ему индекс опорного кадра обозначается RFc=2, и соответствующий вектор движения обозначается MVc={3, 9}.
[00103] (2) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения, причем формула взвешенной суммы соответствует формуле (1), определяют на основе расстояний между двумя опорными кадрами и текущим кадром. Расстояние между Fb и текущим кадром равно 1, расстояние между Fc и текущим кадром равно 3. Таким образом, вес опорного блока С изображения составляет 1/(1+3)=0.25, пусть .
[00104] (3) Режим 3 кодирования выбирается кодером после процедуры оптимизации искажения скорости, и информацию о режиме 3 кодируют в битовый поток.
[00105] (4) На основе режима 3 кодирования, RFb, RFc и MVb кодируют в битовый поток, тогда как MVc не кодируют в битовый поток.
[00106] Вариант 5 осуществления
[00107] 64×64 блок А изображения в текущем изображении подлежит кодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы кодирования для кодера, для кодирования блока А изображения, и один из различных режимов кодирования выбирает способ многогипотезного кодирования, называемый режимом многогипотезного кодирования. Режим многогипотезного кодирования может выбрать один из четырех режимов, описанных в варианте 1 осуществления. Кодирование блока А изображения включает в себя следующее.
[00108] (1) Для блока А изображения, кодер выполняет поиск движения в опорных кадрах для получения двух 64×64 опорных блоков B и C изображения. Кадр, в котором расположен опорный блок В изображения, обозначается Fb, а соответствующий ему индекс опорного кадра обозначается RFb=0. Различие в положении между опорным блоком В изображения и блоком А изображения обозначается вектором MVb движения, причем MVb={5, 7}. Кадр, в котором расположен опорный блок С изображения, обозначается Fc, соответствующий ему индекс опорного кадра обозначается RFc=1, и соответствующий вектор движения обозначается MVc={10, 14}.
[00109] (2) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения, причем формула взвешенной суммы соответствует формуле (1), , т.е., два опорных блока изображения имеют равный вес.
[00110] (3) Режим 4 кодирования выбирается кодером после процедуры оптимизации искажения скорости, и информацию о режиме 4 кодируют в битовый поток.
[00111] (4) На основе режима 4 кодирования, RFb и MVb кодируют в битовый поток, тогда как RFc и MVc не кодируют в битовый поток.
[00112] Вариант 6 осуществления
[00113] 32×32 блок А изображения в текущем изображении подлежит кодированию. Имеется 10 опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы кодирования для кодера, для кодирования блока А изображения, и один из различных режимов кодирования выбирает способ многогипотезного кодирования, называемый режимом многогипотезного кодирования. Режим многогипотезного кодирования может выбрать один из четырех режимов, описанных в варианте 1 осуществления. Кодирование блока А изображения включает в себя следующее.
[00114] (1) Для блока А изображения, кодер выполняет поиск движения в опорных кадрах для получения двух 32×32 опорных блоков B и C изображения. Кадр, в котором расположен опорный блок В изображения, обозначается Fb, а соответствующий ему индекс опорного кадра обозначается RFb=0. Различие в положении между опорным блоком В изображения и блоком А изображения обозначается вектором MVb движения, причем MVb={3, 4}. Кадр, в котором расположен опорный блок С изображения, обозначается Fc, соответствующий ему индекс опорного кадра обозначается RFc=0, и соответствующий вектор движения обозначается MVc={10, 9}.
[00115] (2) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения, причем формула взвешенной суммы соответствует формуле (1), , т.е., два опорных блока изображения имеют равный вес.
[00116] (3) Режим 1 кодирования выбирается кодером после процедуры оптимизации искажения скорости, и информацию о режиме 1 кодируют в битовый поток.
[00117] (4) Согласно режиму 1 кодирования, MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} должны удовлетворять неравенствам |MVb_x-MVc_x|=|3-10|=7>hx и |MVb_y-MVc_y|=|4-9|=5>hy, где hx и hy являются фиксированными значениями, определяемыми кодером или стандартом видео кодирования; | * | обозначает абсолютное значение. В этом варианте осуществления, предполагается, что hx=2 и hy=2. Между тем, поскольку RFb=0 и RFc=0, они удовлетворяют равенству RFb=RFc. RFb, MVb и MVc кодируют в битовый поток, тогда как RFc не кодируют в битовый поток.
[00118] Вариант 7 осуществления
[00119] 4×4 блок А изображения в текущем изображении подлежит кодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы кодирования для кодера, для кодирования блока А изображения, и один из различных режимов кодирования выбирает способ многогипотезного кодирования, называемый режимом многогипотезного кодирования. Режим многогипотезного кодирования может выбрать один из четырех режимов, описанных в варианте 1 осуществления. Кодирование блока А изображения включает в себя следующее.
[00120] (1) Для блока А изображения, кодер выполняет поиск движения в опорных кадрах для получения двух 4×4 опорных блоков B и C изображения. Кадр, в котором расположен опорный блок В изображения, обозначается Fb, а соответствующий ему индекс опорного кадра обозначается RFb=0. Различие в положении между опорным блоком В изображения и блоком А изображения обозначается вектором MVb движения, причем MVb={2, 4}. Кадр, в котором расположен опорный блок С изображения, обозначается Fc, соответствующий ему индекс опорного кадра обозначается RFc=1, и соответствующий вектор движения обозначается MVc={4, 8}.
[00121] (2) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения, причем формула взвешенной суммы соответствует формуле (1), , т.е., два опорных блока изображения имеют равный вес.
[00122] (3) Режим 3 кодирования выбирается кодером после процедуры оптимизации искажения скорости, и информацию о режиме 3 кодируют в битовый поток.
[00123] (4) Согласно режиму 3 кодирования, RFb и RFc не должны быть равны друг другу. В этом варианте осуществления, RFb=0 и RFc=1. RFb, RFc и MVb кодируют в битовый поток, тогда как MVc не кодируют в битовый поток.
[00124] Вариант 8 осуществления
[00125] N×N блок А изображения в текущем изображении подлежит декодированию. Имеется М опорных кадров в опорной очереди. N и M являются положительными целыми. N обозначает размер блока изображения, а М обозначает количество опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать один из следующих четырех режимов: (а) режим 1, только один индекс опорного кадра и два вектора движения декодируют из битового потока. (b) режим 2, только два вектора движения декодируют из битового потока. (c) режим 3, два индекса опорных кадров и только один вектор движения декодируют из битового потока. (d) режим 4, только один индекс опорного кадра и соответствующий ему вектор движения декодируют из битового потока. Таким образом, декодирование блока А изображения включает в себя следующее.
[00126] (1) Информацию о режиме блока А изображения декодируют из битового потока.
[00127] (2) На основе информации о режиме, некоторые из RFb, RFc, MVb и MVc декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения, MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00128] Остальную информацию из RFb, RFc, MVb и MVc, которую не декодируют из битового потока, получают согласно одному из следующих трех способов:
[00129] a) Остальную информацию из RFb, RFc, MVb и MVc, которую не декодируют из битового потока, получают на основе информации о движении одного или нескольких смежных блоков блока А изображения.
[00130] b) На основе некоторых из RFb, RFc, MVb и MVc, которые декодируют, получают остальную информацию из RFb, RFc, MVb и MVc, которую не декодируют из битового потока; и
[00131] c) Остальную информацию из RFb, RFc, MVb и MVc, которую не декодируют из битового потока, задают в виде фиксированного значения.
[00132] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00133] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения.
[00134] Вариант 9 осуществления
[00135] 16×16 блок А изображения в текущем изображении подлежит декодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00136] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 1.
[00137] (2) На основе режима 1, RFb, MVb и MVc декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения, MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. В этом варианте осуществления, RFb=1, MVb={4, 9}, MVc={2, 3}, и опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00138] (3) Получают индекс RFc опорного кадра Fc, в котором расположен опорный блок С изображения. Правило получения выглядит следующим образом: находят кадр, самый близкий к текущему кадру в опорной очереди, и индекс этого самого близкого опорного кадра в опорной очереди обозначают idx, и, затем, RFc устанавливают равным idx. В этом варианте осуществления, предполагается, что idx=0. Таким образом, получают, что RFc=0.
[00139] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00140] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00141] Вариант 10 осуществления
[00142] 32×32 блок А изображения в текущем изображении подлежит декодированию. Имеется 7 опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00143] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 1.
[00144] (2) На основе режима 1, RFb, MVb и MVc декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения, MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. В этом варианте осуществления, RFb=2, MVb={2, 7}, MVc={10, 3}, и опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00145] (3) Индекс RFc опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, получают согласно RFb. Правило получения выглядит следующим образом: RFc=RFb. Таким образом, получают, что RFc=2.
[00146] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00147] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00148] Вариант 11 осуществления
[00149] 64×64 блок А изображения в текущем изображении подлежит декодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00150] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 1.
[00151] (2) На основе режима 1, RFb, MVb и MVc декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения, MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. В этом варианте осуществления, RFb=2, MVb={2, 7}, MVc={10, 3}, и опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00152] (3) Получают индекс RFc опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди. Правило получения выглядит следующим образом: получают левый смежный блок L изображения блока А изображения. Если блок L имеет два индекса опорных кадров, то получают меньший из них и обозначают его idx. Если блок L имеет только один индекс опорного кадра, то этот индекс опорного кадра обозначают idx. Если блок L не имеет никаких индексов опорных кадров, т.е., в отношении L не выполняют кодирование с межкадровым предсказанием, то idx устанавливают равным 0. В этом варианте осуществления, предполагается, что блок L является блоком одногипотезного кодирования, который имеет только один опорный индекс idx. Таким образом, полученным результатом является RFc=1.
[00153] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00154] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем определяют на основе расстояний между двумя опорными кадрами и текущим кадром. Расстояние между Fb и текущим кадром равно 3. Расстояние между Fc и текущим кадром равно 2. Таким образом, вес опорного блока С изображения составляет 3/(2+3)=0.6. Таким образом, .
[00155] Левый блок изображения на этапе (3) варианта 11 осуществления может быть заменен любым смежным во времени блоком или пространственно смежным блоком, показаным на фиг. 1А и 1В. Левый блок изображения является просто примером в этом варианте осуществления.
[00156] Вариант 12 осуществления
[00157] 8×8 блок А изображения в текущем изображении подлежит декодированию. Имеется 6 опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00158] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 2.
[00159] (2) На основе режима 2, MVb и MVc декодируют из битового потока, причем MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения, MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. В этом варианте осуществления, MVb={3, 8}, MVc={9, 2}. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00160] (3) RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, RFb и RFc могут быть получены. Правило получения выглядит следующим образом: в опорной очереди находят два опорных кадра, которые являются самыми близкими к текущему кадру, и индексы этих двух самых близких опорных кадров в опорной очереди обозначают idx1 и idx2, соответственно. Затем, RFb устанавливают равным idx1, а RFc устанавливают равным idx2. В этом варианте осуществления, предполагается, что idx1=0 и idx2=1. Таким образом, получают, что RFb=0 и RFc=1.
[00161] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00162] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00163] Вариант 13 осуществления
[00164] 4×4 блок А изображения в текущем изображении подлежит декодированию. Имеется 5 опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00165] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 2.
[00166] (2) На основе режима 2, MVb и MVc декодируют из битового потока, причем MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения, MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения, в этом варианте осуществления, MVb={3, -8}, MVc={-9, 2}. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00167] (3) RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, и RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, Fb и Fc могут быть получены. Правило получения выглядит следующим образом: RFb устанавливают равным idx1, а RFc устанавливают равным idx2, причем idx1 и idx2 получают на основе индексов опорных кадров верхнего смежного блока. Конкретно, если верхний смежный блок имеет два индекса опорных кадров, то два индекса опорных кадров обозначают idx1 и idx2, соответственно. Если верхний смежный блок имеет только один индекс опорного кадра, то этот индекс опорного кадра обозначают idx1, а idx2 устанавливают равным 0. Если верхний смежный блок является блоком, не подлежащим межкадровому кодированию, и не имеет индекса опорного кадра, то idx1 устанавливают равным 0, а idx2 устанавливают равным 1. В этом варианте осуществления, предполагается, что верхний смежный блок является блоком многогипотезного кодирования и имеет два индекса опорных кадров idx1=1 и idx2=2. Таким образом, получают, что RFb=1 и RFc=2.
[00168] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00169] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00170] Верхний смежный блок изображения на этапе (3) варианта 13 осуществления может быть заменен любым смежным по времени блоком или пространственно смежным блоком, показанным на фиг. 1А и 1В. Верхний смежный блок является просто примером в этом варианте осуществления.
[00171] Вариант 14 осуществления
[00172] 16×16 блок А изображения в текущем изображении подлежит декодированию. Имеется 8 опорных кадров в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00173] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 3.
[00174] (2) На основе режима 3, RFb, RFc и MVb декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения. В этом варианте осуществления, RFb=1, RFc=5, MVb={-1, -1}. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00175] (3) Вектор MVc движения обозначает вектор движения блока А изображения относительно опорного блока С изображения. MVc получают на основе RFb, RFc и MVb на основе способа масштабирования получения MV. Расстояние между Fb и текущим кадром равно 2. Расстояние между Fc и текущим кадром равно 6. Таким образом, MVc={-1×6/2,-1×6/2}={-3,-3}.
[00176] (4) Согласно индексам RFb, RFc опорных кадров и векторам MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00177] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00178] Вариант 15 осуществления
[00179] 16×16 блок А изображения в текущем изображении подлежит декодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00180] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 4.
[00181] (2) На основе режима 4, RFb и MVb декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения. В этом варианте осуществления, RFb=1, MVb={8, 6}. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00182] (3) RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди. RFc получают на основе RFb. Правило получения выглядит следующим образом: в опорной очереди находят опорный кадр с индексом, отличным от RFb, который является самым близким к текущему кадру, и индекс этого опорного кадра в опорной очереди обозначают idx, и, затем, RFc устанавливают равным idx. В этом варианте осуществления, предполагается, что idx=0. Таким образом, получают, что RFc=0.
[00183] (4) Вектор движения MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. MVc получают на основе RFb, RFc и MVb на основе способа масштабирования получения MV. Расстояние между Fb и текущим кадром равно 2. Расстояние между Fc и текущим кадром равно 1. Таким образом, MVc={8×1/2,6×1/2}={4,3}.
[00184] (5) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00185] (6) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00186] Вариант 16 осуществления
[00187] 128×128 блок А изображения в текущем изображении подлежит декодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00188] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 4.
[00189] (2) На основе режима 4, RFb и MVb декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения. В этом варианте осуществления, RFb=1, MVb={2, 9}. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00190] (3) RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, и вектор движения MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. RFc и MVc могут быть получены. Правило получения выглядит следующим образом: получают левый нижний смежный блок LB изображения блока А изображения. Если блок LB имеет два индекса опорных кадров, то получают меньший из них и обозначают его idx. Если блок LB имеет только один индекс опорного кадра, то этот индекс опорного кадра обозначают idx. Вектор движения блока LB, соответствующий опорному кадру с индексом idx, обозначают mv. И, затем, RFc устанавливают равным idx, и MVc устанавливают равным mv. Если блок LB не имеет индексов опорных кадров, т.е., в отношении блока LB не выполняют межкадровое предсказание, то кадр, который является самым близким к текущему кадру и имеет индекс, отличный от RFb, извлекают из опорной очереди. Индекс извлеченного кадра в опорной очереди обозначают idx, и, затем, RFc устанавливают равным idx. В этом случае, MVc может быть получен на основе RFb, RFc и MVb на основе способа масштабирования получения MV. В этом варианте осуществления, предполагается, что блок LB имеет только один индекс опорного кадра idx=2, соответствующий ему вектор mv движения равен {7, 2}. Таким образом, получают, что RFc=2, MVc={7, 2}.
[00191] (4) Согласно индексам RFb, RFc опорных кадров и векторам MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00192] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00193] Левый нижний смежный блок изображения на этапе (3) варианта 16 осуществления может быть заменен любым смежным по времени блоком или любым пространственно смежным блоком, показанным на фиг. 1А и 1В. Левый нижний смежный блок является просто примером в этом варианте осуществления.
[00194] Вариант 17 осуществления
[00195] 16×16 блок А изображения в текущем изображении подлежит декодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00196] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 3.
[00197] (2) На основе режима 3, RFb, RFc и MVb декодируют из битового потока, причем RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок C изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения. В этом варианте осуществления, RFc=3, MVb={-20, 15}. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00198] (3) Вектор MFc движения опорного блока С изображения относительно блока А изображения получают на основе RFb, RFc и MVb на основе способа масштабирования получения MV. Расстояние между Fb и текущим кадром равно 5. Расстояние между Fc и текущим кадром равно 8. Таким образом, MVc={-20×8/5,15×8/5}={-32,24}.
[00199] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00200] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00201] Вариант 18 осуществления
[00202] 16×16 блок А изображения в текущем изображении подлежит декодированию. Имеется 4 опорных кадра в опорной очереди. Эти опорные кадры находятся перед текущим кадром в порядке отображения. Могут существовать различные режимы декодирования для декодера, для декодирования блока А изображения, и один из различных режимов декодирования выбирает способ многогипотезного декодирования, называемый режимом многогипотезного декодирования. Режим многогипотезного декодирования может выбрать любой из четырех режимов, описанных в варианте 8 осуществления. Декодирование блока А изображения включает в себя следующее.
[00203] (1) Информацию о режиме блока А изображения декодируют из битового потока. Декодированным результатом является то, что режим декодирования блока А изображения является режимом 1.
[00204] (2) На основе режима 1, RFb, MVb и MVc декодируют из битового потока, причем RFb=1, MVb={-20, 9}, MVc={10, 2}. В этом режиме, MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} удовлетворяют неравенствам |MVb_x-MVc_x| > hx и |MVb_y-MVc_y| > hy, hx и hy являются фиксированными значениями, определяемыми кодером или стандартом видео кодирования, | * | обозначает абсолютное значение, в этом варианте осуществления, предполагается, что hx=2,hy=2, RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди, MVb обозначает вектор движения блока А изображения относительно опорного блока В изображения, MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. Опорные блоки B и C изображения являются опорными блоками изображения блока А изображения.
[00205] (3) Индекс RFc опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди, получают согласно правилу получения RFc=RFb. Таким образом, получают, что RFc=1.
[00206] (4) На основе индексов RFb, RFc опорных кадров и векторов MVb и MVc движения, опорный блок В изображения извлекают из опорного кадра Fb, опорный блок С изображения извлекают из опорного кадра Fc. В порядке отображения, Fb и Fc оба находятся перед кадром Fa изображения, в котором расположен блок А изображения.
[00207] (5) Взвешенную сумму опорных блоков B и C изображения берут в качестве предиктивного блока Р изображения блока А изображения. Взвешенную сумму вычисляют по формуле (1), причем , т.е., два опорных блока изображения имеют равный вес.
[00208] Вариант 19 осуществления
[00209] Устройство прямого многогипотезного кодирования является устройством, показанным на фиг. 2. Это устройство включает в себя: искатель движения, межкадровый предсказатель, селектор информации о движении, кодер информации о движении и кодер режима. Отношения и функции вышеупомянутых компонентов указаны ниже.
[00210] Входные данные искателя движения включают в себя текущий блок А изображения и опорную очередь. Выходные данные включают в себя опорный блок В изображения, опорный блок С изображения и соответствующее множество U={ RFb, RFc, MVb, MVc } информации о движении. Все кадры в опорной очереди находятся перед текущим кадром в порядке отображения. RFb обозначает индекс опорного кадра Fb, в котором расположен опорный блок В изображения, в опорной очереди. RFc обозначает индекс опорного кадра Fc, в котором расположен опорный блок С изображения, в опорной очереди. MVb обозначает вектор движения блока А изображения относительно блока B изображения. MVc обозначает вектор движения блока А изображения относительно опорного блока С изображения. Искатель движения предназначен для поиска двух опорных блоков изображения текущего блока А изображения в опорной очереди и для вывода информации о движении.
[00211] Входные данные межкадрового предсказателя включают в себя опорные блоки B и C изображения. Выходные данные включают в себя предиктивный блок P изображения. Межкадровый предсказатель предназначен для вычисления взвешенной суммы опорных блоков B и C изображения для получения предиктивного блока Р изображения.
[00212] Входные данные селектора информации о движении включают в себя режим кодирования текущего блока А изображения и множество U информации о движении, выведенное искателем движения. Выходные данные включают в себя подмножество R информации о движении. Селектор информации о движении предназначен для выбора подмножества информации о движении.
[00213] Входные данные кодера информации о движении включают в себя подмножество R информации о движении, а выходные данные включают в себя битовый поток. Кодер информации о движении предназначен для кодирования подмножества информации о движении в битовый поток.
[00214] Входные данные кодера режима включают в себя режим кодирования, а выходные данные включают в себя битовый поток. Кодер режима предназначен для кодирования режима кодирования в битовый поток.
[00215] Вариант 20 осуществления
[00216] Устройство прямого многогипотезного кодирования включает в себя: искатель движения, межкадровый предсказатель, селектор информации о движении, кодер информации о движении и кодер режима. Отношения и функции этих компонентов описаны со ссылкой на вариант 19 осуществления. Режим кодирования, вводимый в селектор информации о движении, имеет четыре типа, которые являются независимыми режимами 1, 2, 3 и 4. Множество информации о движении является множеством { RFb, RFc, MVb, MVc }. Когда режим кодирования является режимом 1, информация о движении, выводимая селектором информации о движении, является множеством { RFb, MVb, MVc }, когда режим кодирования является режимом 2, информация о движении, выводимая селектором информации о движении, является множеством { MVb, MVc }, когда режим кодирования является режимом 3, информация о движении, выводимая селектором информации о движении, является множеством { RFb, RFc, MVb }, когда режим кодирования является режимом 4, информация о движении, выводимая селектором информации о движении, является множеством { RFb, MVb }.
[00217] Вариант 21 осуществления
[00218] Устройство прямого многогипотезного кодирования включает в себя: искатель движения, межкадровый предсказатель, селектор информации о движении, кодер информации о движении и кодер режима. Отношения и функции этих компонентов описаны со ссылкой на вариант 20 осуществления. Если режим кодирования, вводимый в селектор информации о движении, является режимом 1, то MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} удовлетворяют неравенствам |MVb_x-MVc_x|>hx и |MVb_y-MVc_y|>hy, где hx и hy являются значениями, определяемыми кодером или стандартом видео кодирования. RFb и RFc удовлетворяют равенству RFb=RFc.
[00219] Вариант 22 осуществления
[00220] Устройство прямого многогипотезного кодирования включает в себя: искатель движения, межкадровый предсказатель, селектор информации о движении, кодер информации о движении и кодер режима. Отношения и функции этих компонентов описаны со ссылкой на вариант 20 осуществления. Если режим кодирования, вводимый в селектор информации о движении, является режимом 3, то RFb и RFc не равны друг другу.
[00221] Вариант 23 осуществления
[00222] Устройство прямого многогипотезного декодирования является устройством, показанным на фиг. 3. Это устройство включает в себя: декодер информации о режиме, декодер информации о движении, получатель информации о движении, извлекатель опорного блока и межкадровый предсказатель. Отношения и функции этих компонентов указаны ниже.
[00223] Входные данные декодера информации о режиме включают в себя битовый поток, а выходные данные декодера информации о режиме включают в себя информацию о режиме текущего блока А изображения. Декодер информации о режиме предназначен для декодирования информации о режиме текущего блока А изображения из битового потока.
[00224] Входные данные декодера информации о движении включают в себя битовый поток и информацию о режиме текущего блока А изображения. Выходные данные декодера информации о движении включают в себя подмножество R информации о движении. Декодер информации о движении предназначен для получения некоторой информации о движении блока А изображения на основе битового потока и информации о режиме.
[00225] Входные данные получателя информации о движении включают в себя подмножество R информации о движении и информацию о режиме, выходные данные получателя информации о движении включают в себя подмножество Q информации о движении, причем пересечение R и Q является пустым. На основе некоторой декодированной информации о движении, получатель информации о движении должен получить остальную информацию о движении.
[00226] Входные данные извлекателя опорного блока включают в себя множество U информации о движении и опорную очередь, выходные данные извлекателя опорного блока включают в себя два опорных блока B и C изображения, причем все кадры в опорной очереди находятся перед текущим кадром в порядке отображения, множество U информации о движении является объединением подмножества R и подмножества Q. Этот извлекатель опорного блока предназначен для получения двух прямых опорных блоков изображения на основе полученной информации о движении и опорной очереди.
[00227] Входные данные межкадрового предсказателя включают в себя опорные блоки B и C изображения, а выходные данные включают в себя предиктивный блок P изображения. Межкадровый предсказатель предназначен для вычисления взвешенной суммы опорных блоков B и C изображения для получения предиктивного блока Р изображения.
[00228] Вариант 24 осуществления
[00229] Устройство прямого многогипотезного декодирования является устройством, показанным на фиг. 3. Это устройство включает в себя: декодер информации о режиме, декодер информации о движении, получатель информации о движении, извлекатель опорного блока и межкадровый предсказатель. Отношения и функции этих компонентов описаны со ссылкой на вариант 23 осуществления.
[00230] Информация о режиме, вводимая в декодер информации о движении, имеет четыре типа, которые являются независимыми режимами 1, 2, 3 и 4.
[00231] Когда информация о режиме указывает на режим 1, подмножество R информации о движении является множеством { RFb, MVb, MVc }.
[00232] Когда информация о режиме указывает на режим 2, подмножество R информации о движении является множеством { MVb, MVc },
[00233] Когда информация о режиме указывает на режим 3, подмножество R информации о движении является множеством { RFb, RFc, MVb}, и
[00234] Когда информация о режиме указывает на режим 4, подмножество R информации о движении является множеством { RFb, MVb }.
[00235] Вариант 25 осуществления
[00236] Устройство прямого многогипотезного декодирования является устройством, показанным на фиг. 3. Это устройство включает в себя: декодер информации о режиме, декодер информации о движении, получатель информации о движении, извлекатель опорного блока и межкадровый предсказатель. Отношения и функции этих компонентов описаны со ссылкой на вариант 24 осуществления. Когда информация о режиме, вводимая в декодер информации о режиме, указывает на режим 1, MVb={MVb_x,MVb_y} и MVc={MVc_x,MVc_y} удовлетворяют неравенствам |MVb_x-MVc_x|>hx и |MVb_y-MVc_y|>hy, где hx и hy являются значениями, определяемыми кодером или стандартом видео кодирования. А также, RFb и RFc удовлетворяют равенству RFb=RFc.
[00237] Вариант 26 осуществления
[00238] Устройство прямого многогипотезного декодирования является устройством, показанным на фиг. 3. Это устройство включает в себя: декодер информации о режиме, декодер информации о движении, получатель информации о движении, извлекатель опорного блока и межкадровый предсказатель. Отношения и функции этих компонентов являются отношениями и функциями, описанными со ссылкой на вариант 24 осуществления. Когда информация о режиме, вводимая в декодер информации о движении, указывает на режим 3, RFb и RFc не равны друг другу.
[00239] Предшествующее описание описывает только предпочтительные варианты осуществления данного изобретения и не предназначено для ограничения объема правовой охраны данного изобретения. Любые изменения и модификации могут быть выполнены специалистами в данной области техники, не выходя за рамки сущности данного изобретения и, таким образом, они находятся в пределах объема правовой охраны, устанавливаемого приложенной формулой изобретения.