КОДИРОВАНИЕ ВЕКТОРА ДВИЖЕНИЯ И БИ-ПРЕДСКАЗАНИЕ В HEVC И ЕГО РАСШИРЕНИЯХ

1. Способ декодирования видео данных, причем способ содержит:
определение первого типа для текущего вектора движения текущего блока данных видео;
определение второго типа для предсказателя вектора движения - кандидата соседнего блока к текущему блоку;
после начальной установки переменной, представляющей, доступен ли предсказатель вектора движения - кандидат, в значение, указывающее, что предсказатель вектора движения - кандидат доступен, установку этой переменной в значение, указывающее, что предсказатель вектора движения - кандидат не доступен, когда первый тип отличается от второго типа; и
декодирование текущего вектора движения на основании, по меньшей мере частично, значения этой переменной.
2. Способ по п. 1, в котором, когда первый тип содержит диспаратный вектор движения, второй тип содержит диспаратный вектор движения, и предсказатель вектора движения - кандидат использован для предсказания текущего вектора движения, декодирование текущего вектора движения содержит декодирование текущего вектора движения без масштабирования предсказателя вектора движения - кандидата.
3. Способ по п. 1,
в котором определение первого типа для текущего вектора движения содержит определение первого типа на основании первого поднабора опорных картинок, которому первая опорная картинка, на которую ссылается текущий вектор движения, принадлежит, и
в котором определение второго типа для вектора движения - кандидата содержит определение второго типа на основании второго поднабора опорных картинок, которому принадлежит вторая опорная картинка, на которую ссылается предсказатель вектор движения - кандидат.
4. Способ по п. 2, в котором текущий блок включен в картинку текущего уровня, и в котором, когда первая опорная картинка включена в текущий уровень, и вторая опорная картинка включена в уровень, отличный от текущего уровня, определение второго типа содержит определение, что второй тип является отличным от первого типа.
5. Способ по п. 2, в котором текущий блок включен в картинку текущего уровня, и в котором, когда вторая опорная картинка включена в текущий уровень, и первая опорная картинка включена в уровень, отличный от текущего уровня, определение второго типа содержит определение, что второй тип является отличным от первого типа.
6. Способ по п. 1, дополнительно содержащий, до установки упомянутой переменной, определение, что вектор движения кандидата доступен на основании критериев, отличных от того, отличается ли первый тип от второго типа.
7. Способ по п. 1, в котором первый тип для текущего вектора движения представляет, является ли текущее значение счета по порядку опорной картинки (POC) первой опорной картинки, на которую ссылается упомянутый текущий вектор движения, таким же как текущее значение POC текущей картинки, включающей в себя текущий блок, и
в котором второй тип для предсказателя вектора движения - кандидата представляет, является ли опорное значение POC - кандидат второй опорной картинки, на которую ссылается предсказатель вектора движения - кандидат, таким же как текущее значение POC.
8. Способ по п. 7, дополнительно содержащий декодирование информации, указывающей, что, когда по меньшей мере одно из текущего опорного значения POC и опорного значения POC - кандидата является таким же как текущее значение POC, соседний блок, включающий в себя предсказатель вектора движения - кандидат, должен быть установлен как недоступный для ссылки.
9. Способ по п. 8, в котором декодирование текущего вектора движения содержит декодирование текущего вектора движения без масштабирования предсказателя вектора движения - кандидата, когда тип для первой опорной картинки, на которую ссылается упомянутый текущий вектор движения, является отличным от типа для второй опорной картинки, на которую ссылается предсказатель вектора движения - кандидат.
10. Способ по п. 1, в котором декодирование текущего вектора движения содержит декодирование текущего вектора движения, используя по меньшей мере один из режима усовершенствованного предсказания вектора движения (AMVP) и режима слияния, причем способ дополнительно содержит, при декодировании вектора движения, используя AMVP и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, избежание добавления предсказателя вектора движения в список кандидатов AMVP для текущего вектора движения, и при декодировании вектора движения, используя режим слияния и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, избежание добавления предсказателя вектора движения в список кандидатов слияния для текущего вектора движения.
11. Способ по п. 1, дополнительно содержащий декодирование данных, указывающих, не выбирается ли, для всех вырезок в декодированной видео последовательности видео данных, ссылка между видами никогда как совмещенная картинка режима временного предсказания вектора движения (TMVP).
12. Способ по п. 11, в котором декодирование данных содержит декодирование disable_inter_view_as_tmvp_flag.
13. Способ по п. 11, в котором декодирование данных содержит декодирование данных в по меньшей мере одном из битов для видео расширения декодирования с множественными видами (MVC), битов расширения для расширения трехмерного видео (3DV), набор параметров последовательности поднабора (SPS), и набора параметров видео (VPS).
14. Способ по п. 1, дополнительно содержащий определение типа для поднабора набора опорных картинок (RPS), включающего в себя опорную картинку, на которую ссылается текущий вектор движения, в котором определение первого типа для текущего вектора движения содержит определение, что первый тип равен типу для поднабора RPS.
15. Способ кодирования видео данных, причем способ содержит:
определение первого типа для текущего вектора движения текущего блока данных видео;
определение второго типа для предсказателя вектора движения - кандидата соседнего блока к текущему блоку;
после начальной установки переменной, представляющей, доступен ли предсказатель вектора движения - кандидат, в значение, указывающее, что предсказатель вектора движения - кандидат доступен, установку этой переменной в значение, указывающее, что предсказатель вектора движения - кандидат не доступен, когда первый тип отличается от второго типа; и
кодирование текущего вектора движения на основании, по меньшей мере частично, значения этой переменной.
16. Способ по п. 15, в котором, когда первый тип содержит диспаратный вектор движения, второй тип содержит диспаратный вектор движения, и предсказатель вектора движения - кандидат использован для предсказания текущего вектора движения, кодирование текущего вектора движения содержит кодирование текущего вектора движения без масштабирования предсказателя вектора движения - кандидата.
17. Способ по п. 15, в котором определение первого типа для текущего вектора движения содержит определение первого типа на основании первого поднабора опорных картинок, которому первая опорная картинка, на которую ссылается текущий вектор движения, принадлежит, и
в котором определение второго типа для вектора движения - кандидата содержит определение второго типа на основании второго поднабора опорных картинок, которому принадлежит вторая опорная картинка, на которую ссылается предсказатель вектор движения - кандидат.
18. Способ по п. 17, в котором текущий блок включен в картинку текущего уровня, и в котором, когда первая опорная картинка включена в текущий уровень, и вторая опорная картинка включена в уровень, отличный от текущего уровня, определение второго типа содержит определение, что второй тип является отличным от первого типа.
19. Способ по п. 17, в котором текущий блок включен в картинку текущего уровня, и в котором, когда вторая опорная картинка включена в текущий уровень, и первая опорная картинка включена в уровень, отличный от текущего уровня, определение второго типа содержит определение, что второй тип является отличным от первого типа.
20. Способ по п. 15, дополнительно содержащий, до установки упомянутой переменной, определение, что вектор движения кандидата доступен на основании критериев, отличных от того, отличается ли первый тип от второго типа.
21. Способ по п. 15, в котором первый тип для текущего вектора движения представляет, является ли текущее значение счета по порядку опорной картинки (POC) первой опорной картинки, на которую ссылается упомянутый текущий вектор движения, таким же как текущее значение POC текущей картинки, включающей в себя текущий блок, и
в котором второй тип для предсказателя вектора движения - кандидата представляет, является ли опорное значение POC - кандидат второй опорной картинки, на которую ссылается предсказатель вектора движения - кандидат, таким же как текущее значение POC.
22. Способ по п. 21, дополнительно содержащий кодирование информации, указывающей, что, когда по меньшей мере одно из текущего опорного значения POC и опорного значения POC - кандидата является таким же как текущее значение POC, соседний блок, включающий в себя предсказатель вектора движения - кандидат, должен быть установлен как недоступный для ссылки.
23. Способ по п. 22, в котором кодирование текущего вектора движения содержит кодирование текущего вектора движения без масштабирования предсказателя вектора движения - кандидата, когда тип для первой опорной картинки, на которую ссылается упомянутый текущий вектор движения, является отличным от типа для второй опорной картинки, на которую ссылается предсказатель вектора движения - кандидат.
24. Способ по п. 15, в котором кодирование текущего вектора движения содержит кодирование текущего вектора движения, используя по меньшей мере один из режима усовершенствованного предсказания вектора движения (AMVP) и режима слияния, способ дополнительно содержит, при кодировании вектора движения, используя AMVP и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, избежание добавления предсказателя вектора движения в список кандидатов AMVP для текущего вектора движения, и при кодировании вектора движения, используя режим слияния и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, избежание добавления предсказателя вектора движения в список кандидатов слияния для текущего вектора движения.
25. Способ по п. 15, дополнительно содержащий кодирование данных, указывающих не выбирается ли, для всех вырезок в закодированной видео последовательности видео данных, ссылка между видами никогда как совмещенная картинка режима временного предсказания вектора движения (TMVP).
26. Способ по п. 25, в котором кодирование данные содержит кодирование disable_inter_view_as_tmvp_flag.
27. Способ по п. 25, в котором кодирование данных содержит кодирование данных в по меньшей мере одном из битов расширения для расширения кодирования видео с множественными видами (MVC), битов расширения для расширения трехмерного видео (3DV), набора параметров последовательности поднабора (SPS), и набора параметров видео (VPS).
28. Способ по п. 15, дополнительно содержащий определение типа для поднабора набора опорных картинок (RPS), включающего в себя опорную картинку, на которую ссылается текущий вектор движения, в котором определение первого типа для текущего вектора движения содержит определение, что первый тип равен типу для поднабора RPS.
29. Устройство для декодирования видео данных, причем устройство содержит декодер видео, сконфигурированный, чтобы определять первый тип для текущего вектора движения текущего блока данных видео, определять второй тип для предсказателя вектора движения - кандидата соседнего блока к текущему блоку, после начальной установки переменной, представляющей, доступен ли предсказатель вектора движения - кандидат, в значение, указывающее, что предсказатель вектора движения - кандидат доступен, установку переменной в значение, указывающее, что предсказатель вектора движения - кандидат не доступен, когда первый тип отличается от второго типа, и декодировать текущий вектор движения на основании, по меньшей мере частично, значения этой переменной.
30. Устройство по п. 29, в котором, когда первый тип содержит диспаратный вектор движения, второй тип содержит диспаратный вектор движения, и предсказатель вектора движения - кандидат использован для предсказания текущего вектора движения, декодер видео конфигурируется, чтобы декодировать текущий вектор движения без масштабирования предсказателя вектора движения - кандидата.
31. Устройство по п. 29, в котором декодер видео конфигурируется, чтобы определять первый тип для текущего вектора движения на основании первого поднабора опорных картинок, которому принадлежит первая опорная картинка, на которую ссылается текущий вектор движения, и в котором декодер видео конфигурируется, чтобы определять второй тип на основании второго поднабора опорных картинок, которому принадлежит вторая опорная картинка, на которую ссылается предсказатель вектор движения - кандидат.
32. Устройство по п. 29, в котором декодер видео также конфигурируется, чтобы, до установки упомянутой переменной, определять, что вектор движения - кандидат доступен на основании критериев, отличных от того, отличается ли первый тип от второго типа.
33. Устройство по п. 29, в котором первый тип для текущего вектора движения представляет, является ли текущее опорное значение POC первой опорной картинки, на которую ссылается упомянутый текущий вектор движения, таким же как текущее значение POC текущей картинки, включающей в себя текущий блок, и
в котором второй тип для предсказателя вектора движения - кандидата представляет, является ли опорное значение POC - кандидат второй опорной картинки, на которую ссылается предсказатель вектора движения - кандидат, таким же как текущее значение POC.
34. Устройство по п. 33, в котором декодер видео далее конфигурируется, чтобы декодировать информацию, указывающую, что, когда по меньшей мере одно из текущего опорного значения POC и опорного значения POC - кандидата является таким же как текущее значение POC, соседний блок должен быть установлен как недоступный для ссылки.
35. Устройство по п. 29, в котором чтобы декодировать текущий вектор движения, декодер видео конфигурируется, чтобы декодировать текущий вектор движения, используя по меньшей мере один из режима усовершенствованного предсказания вектора движения (AMVP) и режима слияния, в котором при декодировании вектора движения, используя AMVP и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, декодер видео конфигурируется, чтобы избежать добавлять предсказателя вектора движения в список кандидатов AMVP для текущего вектора движения, и при декодировании вектора движения, используя режим слияния и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, декодер видео конфигурируется, чтобы избежать добавлять предсказателя вектора движения в список кандидатов слияния для текущего вектора движения.
36. Устройство по п. 29, в котором декодер видео конфигурируется, чтобы декодировать данные, указывающие, не выбирается ли для всех вырезок в декодированной видео последовательности видео данных ссылка между видами никогда как совмещенная картинка режима временного предсказания вектора движения (TMVP).
37. Устройство по п. 36, в котором данные содержат disable_inter_view_as_tmvp_flag.
38. Устройство по п. 29, в котором декодер видео конфигурируется, чтобы определять тип для поднабора набора опорных картинок (RPS), включающего в себя опорную картинку, на которую ссылается текущий вектор движения, в котором, чтобы определить первый тип для текущего вектора движения, декодер видео конфигурируется, чтобы определить, что первый тип равен типу для поднабора RPS.
39. Устройство по п. 29, в котором декодер видео содержит декодер видео, конфигурируемый, чтобы декодировать текущий вектор движения, декодировать остаточные данные для текущего блока, формировать предсказанные данные для текущего блока, на основании, по меньшей мере частично, текущего вектора движения, и объединить предсказанные данные и остаточные данные, чтобы реконструировать текущий блок.
40. Устройство по п. 29, в котором декодер видео содержит кодер видео, конфигурируемый, чтобы кодировать текущий вектор движения, формировать предсказанные данные для текущего блока, на основании, по меньшей мере частично, текущего вектора движения, вычислить остаточные данные для текущего блока, на основании разностей между текущим блоком и предсказанными данными, и закодировать остаточные данные.
41. Устройство по п. 29, в котором устройство содержит по меньшей мере одно из:
интегральной схемы;
микропроцессора; и
устройства беспроводной связи, которое включает в себя декодер видео.
42. Устройство для кодирования видео данных, причем устройство содержит кодер видео, сконфигурированный, чтобы определять первый тип для текущего вектора движения текущего блока данных видео, определять второй тип для предсказателя вектора движения - кандидата соседнего блока к текущему блоку, после начальной установки переменной, представляющей, доступен ли предсказатель вектора движения - кандидат, установить переменную в значение, указывающее, что предсказатель вектора движения - кандидат доступен в значение, указывающее, что предсказатель вектора движения - кандидат не доступен, когда первый тип отличается от второго типа, и кодировать текущий вектор движения на основании, по меньшей мере частично, значения этой переменной.
43. Устройство по п. 42, в котором, когда первый тип содержит диспаратный вектор движения, второй тип содержит диспаратный вектор движения, и предсказатель вектора движения - кандидат использован для предсказания текущего вектора движения, видео кодер конфигурируется, чтобы закодировать текущий вектор движения без масштабирования предсказателя вектора движения - кандидата.
44. Устройство по п. 42, в котором видео кодер конфигурируется, чтобы определять первый тип для текущего вектора движения на основании первого поднабора опорных картинок, которому принадлежит первая опорная картинка, на которую ссылается текущий вектор движения, и в котором видео кодер конфигурируется, чтобы определять второй тип на основании второго поднабора опорных картинок, которому принадлежит вторая опорная картинка, на которую ссылается предсказатель вектор движения - кандидат.
45. Устройство по п. 42, в котором видео кодер также конфигурируется, чтобы, до установки упомянутой переменной, определять, что вектор движения кандидата доступен на основании критериев, отличных от того, отличается ли первый тип от второго типа.
46. Устройство по п. 42, в котором первый тип для текущего вектора движения представляет, является ли текущее опорное значение POC первой опорной картинки, на которую ссылается упомянутый текущий вектор движения, таким же как текущее значение POC текущей картинки, включающей в себя текущий блок, и
в котором второй тип для предсказателя вектора движения - кандидата представляет, является ли опорное значение POC - кандидат второй опорной картинки, на которую ссылается предсказатель вектора движения - кандидат, таким же как текущее значение POC.
47. Устройство по п. 46, в котором видео кодер далее конфигурируется, чтобы закодировать информацию, указывающую, что, когда по меньшей мере одно из текущего опорного значения POC и опорного значения POC - кандидата является таким же как текущее значение POC, соседний блок должен быть установлен как недоступный для ссылки.
48. Устройство по п. 42, в котором чтобы закодировать текущий вектор движения, видео кодер конфигурируется, чтобы закодировать текущий вектор движения, используя по меньшей мере один из режима усовершенствованного предсказания вектора движения (AMVP) и режима слияния, в котором при кодировании вектора движения, используя AMVP и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, видео кодер конфигурируется, чтобы избежать добавлять предсказателя вектора движения в список кандидатов AMVP для текущего вектора движения, и при кодировании вектора движения, используя режим слияния и когда переменная указывает, что предсказатель вектора движения - кандидат не доступен, видео кодер конфигурируется, чтобы избежать добавлять предсказателя вектора движения в список кандидатов слияния для текущего вектора движения.
49. Устройство по п. 42, в котором видео кодер конфигурируется, чтобы закодировать данные, указывающие, не выбирается ли для всех вырезок в закодированной видео последовательности видео данных ссылка между видами никогда как совмещенная картинка режима временного предсказания вектора движения (TMVP).
50. Устройство по п. 49, в котором данные содержат disable_inter_view_as_tmvp_flag.
51. Устройство по п. 42, в котором видео кодер конфигурируется, чтобы определять тип для поднабора набора опорных картинок (RPS), включающего в себя опорную картинку, на которую ссылается текущий вектор движения, в котором, чтобы определить первый тип для текущего вектора движения, видео кодер конфигурируется, чтобы определить, что первый тип равен типу для поднабора RPS.
52. Устройство по п. 42, в котором видео кодер содержит декодер видео, конфигурируемый, чтобы декодировать текущий вектор движения, декодировать остаточные данные для текущего блока, формировать предсказанные данные для текущего блока, на основании, по меньшей мере частично, текущего вектора движения, и объединить предсказанные данные и остаточные данные, чтобы реконструировать текущий блок.
53. Устройство по п. 42, в котором видео кодер содержит кодер видео, конфигурируемый, чтобы закодировать текущий вектор движения, формировать предсказанные данные для текущего блока, на основании, по меньшей мере частично, текущего вектора движения, вычислить остаточные данные для текущего блока, на основании разностей между текущим блоком и предсказанными данными, и закодировать остаточные данные.
54. Устройство для кодирования видео данных, причем устройство содержит:
средство для определения первого типа для текущего вектора движения текущего блока данных видео;
средство для того, чтобы определить второй тип для предсказателя вектора движения - кандидата соседнего блока к текущему блоку;
средство для установки, после того, как переменная, представляющая, доступен ли предсказатель вектора движения - кандидат, первоначально установлена в значение, указывающее, что предсказатель вектора движения - кандидат доступен, упомянутой переменной в значение, указывающее, что предсказатель вектора движения - кандидат не доступен, когда первый тип отличается от второго типа; и
средство для кодирования текущего вектора движения на основании, по меньшей мере частично, значения этой переменной.
55. Считываемый компьютером запоминающий носитель, имеющий сохраненные на нем инструкции, которые, когда выполняются, вынуждают процессор:
определять первый тип для текущего вектора движения текущего блока данных видео;
определять второй тип для предсказателя вектора движения - кандидата соседнего блока к текущему блоку;
после начальной установки переменной, представляющей, доступен ли предсказатель вектора движения - кандидат, в значение, указывающее, что предсказатель вектора движения - кандидат доступен, устанавливать эту переменную в значение, указывающее, что предсказатель вектора движения - кандидат не доступен, когда первый тип отличается от второго типа; и
декодировать текущий вектор движения на основании, по меньшей мере частично, значения этой переменной.