RU2010145537A - IMPROVED INTERPOLATION TECHNOLOGIES FOR COMPENSATION OF MOVEMENT IN VIDEO ENCODING - Google Patents

IMPROVED INTERPOLATION TECHNOLOGIES FOR COMPENSATION OF MOVEMENT IN VIDEO ENCODING Download PDF

Info

Publication number
RU2010145537A
RU2010145537A RU2010145537/07A RU2010145537A RU2010145537A RU 2010145537 A RU2010145537 A RU 2010145537A RU 2010145537/07 A RU2010145537/07 A RU 2010145537/07A RU 2010145537 A RU2010145537 A RU 2010145537A RU 2010145537 A RU2010145537 A RU 2010145537A
Authority
RU
Russia
Prior art keywords
pixel values
pixel
quarter
video
values
Prior art date
Application number
RU2010145537/07A
Other languages
Russian (ru)
Other versions
RU2481727C2 (en
Inventor
Янь Е (US)
Янь Е
Пэйсун ЧЭНЬ (US)
Пэйсун ЧЭНЬ
Марта КАРЧЕВИЧ (US)
Марта КАРЧЕВИЧ
Original Assignee
Квэлкомм Инкорпорейтед (US)
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/420,256 external-priority patent/US8971412B2/en
Application filed by Квэлкомм Инкорпорейтед (US), Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед (US)
Publication of RU2010145537A publication Critical patent/RU2010145537A/en
Application granted granted Critical
Publication of RU2481727C2 publication Critical patent/RU2481727C2/en

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

1. Способ интерполяции видеоданных для кодирования видео, при этом способ содержит этапы, на которых: ! формируют множество полупиксельных значений на основе множества целопиксельных значений видеоданных; ! округляют полупиксельные значения, чтобы формировать множество полупиксельных интерполированных значений; ! сохраняют полупиксельные значения как множество неокругленных версий полупиксельных значений; ! формируют множество четвертьпиксельных значений на основе неокругленных версий полупиксельных значений и целопиксельных значений; ! формируют прогнозирующие данные с использованием полупиксельных интерполированных значений и четвертьпиксельных значений; и ! сохраняют прогнозирующие данные для использования при кодировании видео или декодировании видео. ! 2. Способ по п.1, дополнительно содержащий этапы, на которых: ! формируют другое полупиксельное значение в дополнение к множеству полупиксельных значений на основе неокругленных версий полупиксельных значений; и ! формируют множество дополнительных четвертьпиксельных значений в дополнение к множеству четвертьпиксельных значений на основе другого полупиксельного значения и неокругленных версий полупиксельных значений. ! 3. Способ по п.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. 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. The method according to claim 1, additionally containing 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

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.
RU2010145537A 2008-04-10 2009-04-10 Advanced interpolation techniques for motion compensation in video coding RU2481727C2 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US4402308P 2008-04-10 2008-04-10
US61/044,023 2008-04-10
US4424008P 2008-04-11 2008-04-11
US61/044,240 2008-04-11
US61/057,373 2008-05-30
US12/420,256 2009-04-08
US12/420,256 US8971412B2 (en) 2008-04-10 2009-04-08 Advanced interpolation techniques for motion compensation in video coding

Publications (2)

Publication Number Publication Date
RU2010145537A true RU2010145537A (en) 2012-05-20
RU2481727C2 RU2481727C2 (en) 2013-05-10

Family

ID=

Similar Documents

Publication Publication Date Title
JP6881788B2 (en) Video coding method, video decoding method, and terminal
CN109479143B (en) Image coding and decoding method and device for inter-frame prediction
JP5236746B2 (en) System and method for using DC variation parameters in video encoding and decoding
PH12017502132B1 (en) Method of decoding video data
RU2011104078A (en) VIDEO ENCODING BY FILTER SELECTION
TW200746831A (en) Adaptive encoder-assisted frame rate up conversion
US9609324B2 (en) Image encoding/decoding method and device using coefficients of adaptive interpolation filter
US9648340B2 (en) Method and device for encoding/decoding motion vector
KR101469338B1 (en) Mixed tap filters
UA109923C2 (en) Adaptive support for interpolating values of sub-pixels for video coding
WO2009157674A3 (en) Method for encoding/decoding motion vector and apparatus thereof
MX2009010527A (en) High accuracy motion vectors for video coding with low encoder and decoder complexity.
WO2011103209A3 (en) Chrominance high precision motion filtering for motion interpolation
WO2012006304A3 (en) Motion compensation using vector quantized interpolation filters
WO2012095031A1 (en) Spatial prediction encoding method, decoding method, device, and system
WO2008068623A3 (en) Adaptive interpolation method and system for motion compensated predictive video coding and decoding
RU2010145539A (en) INTERPOLATION BASED ON DISTORTIONS DEPENDING ON THE TRANSMISSION SPEED FOR VIDEO ENCODING ON THE BASIS OF A CONTINUOUS FILTER OR ADAPTIVE FILTER
RU2014114262A (en) METHOD AND DEVICE FOR VIDEO ENCODING, METHOD AND DEVICE FOR VIDEO IMAGE DECODING AND PROGRAM FOR THIS
RU2010145537A (en) IMPROVED INTERPOLATION TECHNOLOGIES FOR COMPENSATION OF MOVEMENT IN VIDEO ENCODING
TW200729964A (en) Interpolation techniques in wavelet transform multimedia coding
RU2010145535A (en) IMPROVED WAYS OF INTERPOLATION FOR COMPENSATION OF MOVEMENT IN VIDEO ENCODING