Claims (26)
1. Способ интерполяции видеоданных для кодирования видео, при этом способ содержит этапы, на которых:1. A method of interpolating video data for encoding a video, the method comprising the steps of:
формируют множество полупиксельных значений на основе множества целопиксельных значений видеоданных;generating a plurality of half-pixel values based on a plurality of integer-pixel values of the video data;
округляют полупиксельные значения, чтобы формировать множество полупиксельных интерполированных значений;rounded half-pixel values to form multiple half-pixel interpolated values;
сохраняют полупиксельные значения как множество неокругленных версий полупиксельных значений;save half-pixel values as a set of non-rounded versions of half-pixel values;
формируют множество четвертьпиксельных значений на основе неокругленных версий полупиксельных значений и целопиксельных значений;form a lot of quarter-pixel values based on unrounded versions of half-pixel values and integer-pixel values;
формируют прогнозирующие данные с использованием полупиксельных интерполированных значений и четвертьпиксельных значений; иgenerating predictive data using half-pixel interpolated values and quarter-pixel values; and
сохраняют прогнозирующие данные для использования при кодировании видео или декодировании видео.store predictive data for use in video encoding or video decoding.
2. Способ по п.1, дополнительно содержащий этапы, на которых:2. The method according to claim 1, additionally containing stages in which:
формируют другое полупиксельное значение в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений; иgenerating another half-pixel value in addition to a plurality of half-pixel values based on unrounded versions of half-pixel values; and
формируют множество дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.form a plurality of additional quarter-pixel values in addition to a plurality of quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
3. Способ по п.1, дополнительно содержащий этапы, на которых:3. The method according to claim 1, further comprising stages in which:
сохраняют полупиксельные интерполированные значения и четвертьпиксельные значения в шестнадцатибитовой структуре данных;store half-pixel interpolated values and quarter-pixel values in a sixteen-bit data structure;
формируют другое полупиксельное значение в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений;generating another half-pixel value in addition to a plurality of half-pixel values based on unrounded versions of half-pixel values;
округляют другое полупиксельное значение так, что другое полупиксельное значение может сохраняться в шестнадцатибитовой структуре данных; иround another half pixel value so that another half pixel value can be stored in a sixteen-bit data structure; and
формируют множество дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.form a plurality of additional quarter-pixel values in addition to a plurality of quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
4. Способ по п.1, дополнительно содержащий этап, на котором:4. The method according to claim 1, additionally containing phase, in which:
кодируют один или более видеоблоков с использованием прогнозирующих данных.encode one or more video blocks using predictive data.
5. Способ по п.1, дополнительно содержащий этап, на котором:5. The method according to claim 1, additionally containing a stage in which:
декодируют один или более видеоблоков с использованием прогнозирующих данных.decode one or more video blocks using predictive data.
6. Устройство, которое интерполирует видеоданные для кодирования видео, при этом устройство включает в себя модуль компенсации движения, который:6. A device that interpolates video data for encoding video, the device includes a motion compensation module, which:
формирует множество полупиксельных значений на основе множества целопиксельных значений видеоданных;generates a plurality of half-pixel values based on a plurality of integer-pixel values of video data;
округляет полупиксельные значения, чтобы формировать множество полупиксельных интерполированных значений;rounds half-pixel values to form multiple half-pixel interpolated values;
сохраняет полупиксельные значения как множество неокругленных версий полупиксельных значений;stores half-pixel values as a set of unrounded versions of half-pixel values;
формирует множество четвертьпиксельных значений на основе неокругленных версий полупиксельных значений и целопиксельных значений;forms a set of quarter-pixel values based on unrounded versions of half-pixel values and integer-pixel values;
формирует прогнозирующие данные с использованием полупиксельных интерполированных значений и четвертьпиксельных значений; иgenerates predictive data using half-pixel interpolated values and quarter-pixel values; and
сохраняет прогнозирующие данные для использования при кодировании видео или декодировании видео.stores predictive data for use in video encoding or video decoding.
7. Устройство по п.6, в котором модуль компенсации движения:7. The device according to claim 6, in which the motion compensation module:
формирует другое полупиксельное значение в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений; иgenerates another half-pixel value in addition to many half-pixel values based on unrounded versions of half-pixel values; and
формирует множество дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.generates many additional quarter-pixel values in addition to many quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
8. Устройство по п.6, в котором модуль компенсации движения:8. The device according to claim 6, in which the motion compensation module:
сохраняет полупиксельные интерполированные значения и четвертьпиксельные значения в шестнадцатибитовой структуре данных;stores half-pixel interpolated values and quarter-pixel values in a sixteen-bit data structure;
формирует другое полупиксельное значение в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений;generates another half-pixel value in addition to many half-pixel values based on unrounded versions of half-pixel values;
округляет другое полупиксельное значение так, что другое полупиксельное значение может сохраняться в шестнадцатибитовой структуре данных; иrounds another half-pixel value so that another half-pixel value can be stored in a sixteen-bit data structure; and
формирует множество дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.generates many additional quarter-pixel values in addition to many quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
9. Устройство по п.6, при этом устройство содержит видеокодер, который включает в себя модуль компенсации движения, при этом видеокодер:9. The device according to claim 6, wherein the device comprises a video encoder, which includes a motion compensation module, wherein the video encoder:
кодирует с прогнозированием один или более видеоблоков с использованием прогнозирующих данных.prediction encodes one or more video blocks using predictive data.
10. Устройство по п.6, при этом устройство содержит видеодекодер, который включает в себя модуль компенсации движения, при этом видеодекодер:10. The device according to claim 6, wherein the device comprises a video decoder, which includes a motion compensation module, wherein the video decoder:
декодирует с прогнозированием один или более видеоблоков с использованием прогнозирующих данных.predicts decodes one or more video blocks using predictive data.
11. Устройство по п.6, при этом устройство содержит интегральную схему.11. The device according to claim 6, wherein the device comprises an integrated circuit.
12. Устройство по п.6, при этом устройство содержит микропроцессор.12. The device according to claim 6, wherein the device comprises a microprocessor.
13. Машиночитаемый носитель хранения данных, содержащий инструкции, которые при выполнении инструктируют устройству интерполировать видеоданные для кодирования видео, при этом инструкции инструктируют устройству:13. A computer-readable storage medium containing instructions that, when executed, instruct the device to interpolate video data to encode video, while the instructions instruct the device:
формировать множество полупиксельных значений на основе множества целопиксельных значений видеоданных;generate a plurality of half-pixel values based on a plurality of integer-pixel values of video data;
округлять полупиксельные значения, чтобы формировать множество полупиксельных интерполированных значений;round half-pixel values to form multiple half-pixel interpolated values;
сохранять полупиксельные значения как множество неокругленных версий полупиксельных значений;save half-pixel values as a set of unrounded versions of half-pixel values;
формировать множество четвертьпиксельных значений на основе неокругленных версий полупиксельных значений и целопиксельных значений;generate multiple quarter-pixel values based on unrounded versions of half-pixel values and integer-pixel values;
формировать прогнозирующие данные с использованием полупиксельных интерполированных значений и четвертьпиксельных значений; иgenerate predictive data using half-pixel interpolated values and quarter-pixel values; and
сохранять прогнозирующие данные для использования при кодировании видео или декодировании видео.save predictive data for use in video encoding or video decoding.
14. Машиночитаемый носитель хранения данных по п.13, дополнительно содержащий инструкции, которые при выполнении инструктируют устройству:14. The computer-readable storage medium of claim 13, further comprising instructions that, when executed, instruct the device:
формировать другое полупиксельное значение в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений; иgenerate another half-pixel value in addition to a plurality of half-pixel values based on unrounded versions of half-pixel values; and
формировать множество дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.generate a plurality of additional quarter-pixel values in addition to a plurality of quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
15. Машиночитаемый носитель хранения данных по п.13, дополнительно содержащий инструкции, которые при выполнении инструктируют устройству:15. Machine-readable storage medium according to item 13, further containing instructions that, when executed, instruct the device:
сохранять полупиксельные интерполированные значения и четвертьпиксельные значения в шестнадцатибитовой структуре данных;save half-pixel interpolated values and quarter-pixel values in a sixteen-bit data structure;
формировать другое полупиксельное значение в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений;generate another half-pixel value in addition to a plurality of half-pixel values based on unrounded versions of half-pixel values;
округлять другое полупиксельное значение так, что другое полупиксельное значение может сохраняться в шестнадцатибитовой структуре данных; иround another half-pixel value so that another half-pixel value can be stored in a sixteen-bit data structure; and
формировать множество дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.generate a plurality of additional quarter-pixel values in addition to a plurality of quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
16. Машиночитаемый носитель хранения данных по п.13, дополнительно содержащий инструкции, которые при выполнении инструктируют устройству:16. The computer-readable storage medium of claim 13, further comprising instructions that, when executed, instruct the device:
кодировать один или более видеоблоков с использованием прогнозирующих данных.encode one or more video blocks using predictive data.
17. Машиночитаемый носитель хранения данных по п.13, дополнительно содержащий инструкции, которые при выполнении инструктируют устройству:17. The computer-readable storage medium according to claim 13, further comprising instructions that, when executed, instruct the device:
декодировать один или более видеоблоков с использованием прогнозирующих данных.decode one or more video blocks using predictive data.
18. Устройство, которое интерполирует видеоданные для кодирования видео, при этом устройство содержит:18. A device that interpolates video data for encoding video, while the device contains:
средство для формирования множества полупиксельных значений на основе множества целопиксельных значений видеоданных;means for generating a plurality of half-pixel values based on a plurality of integer-pixel values of the video data;
средство для округления полупиксельных значений, чтобы формировать множество полупиксельных интерполированных значений;means for rounding half-pixel values to form a plurality of half-pixel interpolated values;
средство для сохранения полупиксельных значений как множества неокругленных версий полупиксельных значений;means for storing half-pixel values as a plurality of unrounded versions of half-pixel values;
средство для формирования множества четвертьпиксельных значений на основе неокругленных версий полупиксельных значений и целопиксельных значений;means for generating a plurality of quarter pixel values based on unrounded versions of half pixel values and integer pixel values;
средство для формирования прогнозирующих данных с использованием полупиксельных интерполированных значений и четвертьпиксельных значений; иmeans for generating predictive data using half-pixel interpolated values and quarter-pixel values; and
средство для сохранения прогнозирующих данных для использования при кодировании видео или декодировании видео.means for storing predictive data for use in video encoding or video decoding.
19. Устройство по п.18, дополнительно содержащее:19. The device according to p, optionally containing:
средство для формирования другого полупиксельного значения в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений; иmeans for generating another half-pixel value in addition to a plurality of half-pixel values based on unrounded versions of half-pixel values; and
средство для формирования множества дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.means for generating a plurality of additional quarter-pixel values in addition to a plurality of quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
20. Устройство по п.18, дополнительно содержащее:20. The device according to p, optionally containing:
средство для сохранения полупиксельных интерполированных значений и четвертьпиксельных значений в шестнадцатибитовой структуре данных;means for storing half-pixel interpolated values and quarter-pixel values in a sixteen-bit data structure;
средство для формирования другого полупиксельного значения в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений;means for generating another half-pixel value in addition to a plurality of half-pixel values based on unrounded versions of half-pixel values;
средство для округления другого полупиксельного значения так, что другое полупиксельное значение может сохраняться в шестнадцатибитовой структуре данных; иmeans for rounding another half-pixel value so that another half-pixel value can be stored in a sixteen-bit data structure; and
средство для формирования множества дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений.means for generating a plurality of additional quarter-pixel values in addition to a plurality of quarter-pixel values based on another half-pixel value and non-rounded versions of half-pixel values.
21. Устройство по п.18, дополнительно содержащее:21. The device according to p, optionally containing:
средство для кодирования одного или более видеоблоков с использованием прогнозирующих данных.means for encoding one or more video blocks using predictive data.
22. Устройство по п.18, дополнительно содержащее:22. The device according to p, optionally containing:
средство для декодирования одного или более видеоблоков с использованием прогнозирующих данных.means for decoding one or more video blocks using predictive data.
23. Устройство, которое кодирует видеоданные, при этом устройство содержит:23. A device that encodes video data, the device comprising:
видеокодер, включающий в себя модуль компенсации движения, который формирует множество полупиксельных значений на основе множества целопиксельных значений опорных видеоданных, округляет полупиксельные значения, чтобы формировать множество полупиксельных интерполированных значений, сохраняет полупиксельные значения как множество неокругленных версий полупиксельных значений, формирует множество четвертьпиксельных значений на основе неокругленных версий полупиксельных значений и целопиксельных значений, формирует прогнозирующие данные с использованием полупиксельных интерполированных значений и четвертьпиксельных значений и кодирует видеоданные с использованием прогнозирующих данных; иa video encoder including a motion compensation module that generates a plurality of half-pixel values based on a plurality of integer-pixel values of the reference video data, rounds half-pixel values to form a plurality of half-pixel interpolated values, stores half-pixel values as a plurality of unrounded versions of half-pixel values, generates a plurality of quarter-pixel values based on non-rounded versions of half-pixel values and integer-pixel values, forms predictively e data using half-pixel interpolated values and quarter-pixel values, and encodes video data using predictive data; and
беспроводное передающее устройство, которое передает видеоданные, кодированные посредством модуля компенсации движения, в другое устройство.a wireless transmitter that transmits video encoded by the motion compensation module to another device.
24. Устройство по п.23, при этом устройство содержит переносной телефон беспроводной связи.24. The device according to item 23, wherein the device comprises a portable wireless telephone.
25. Устройство, которое декодирует видеоданные, при этом устройство содержит:25. A device that decodes video data, the device comprising:
беспроводное приемное устройство, которое принимает видеоданные; иa wireless receiver that receives video data; and
видеодекодер, включающий в себя модуль компенсации движения, который декодирует видеоданные, при этом при декодировании видеоданных модуль компенсации движения:a video decoder including a motion compensation module that decodes the video data, while when decoding the video data, the motion compensation module:
формирует множество полупиксельных значений на основе множества целопиксельных значений опорных видеоданных;forms a plurality of half-pixel values based on a plurality of integer-pixel values of the reference video data;
округляет полупиксельные значения, чтобы формировать множество полупиксельных интерполированных значений;rounds half-pixel values to form multiple half-pixel interpolated values;
сохраняет полупиксельные значения как множество неокругленных версий полупиксельных значений;stores half-pixel values as a set of unrounded versions of half-pixel values;
формирует множество четвертьпиксельных значений на основе неокругленных версий полупиксельных значений и целопиксельных значений;forms a set of quarter-pixel values based on unrounded versions of half-pixel values and integer-pixel values;
формирует прогнозирующие данные с использованием полупиксельных интерполированных значений и четвертьпиксельных значений; иgenerates predictive data using half-pixel interpolated values and quarter-pixel values; and
декодирует видеоданные с использованием прогнозирующих данных.decodes video data using predictive data.
26. Устройство по п.25, при этом устройство содержит переносной телефон беспроводной связи.
26. The device according A.25, while the device contains a portable telephone wireless communication.