Microsoft запатентовала кодирование видео на GPU
Компания Microsoft получила патент, который позволяет ей кодировать видео с помощью чипа видеокарты, потенциально позволяя разработчику программного обеспечения обеспечить контроль над кросс-платформенной реализацией подобных решений.
Патентная заявка была подана ещё в 2004 году, и в ней были намечены основы для “ускоренного кодирования видео с использованием графического процессора”, технологии, которая была редкой в 2004 году, но почти вездесуща сейчас. Аннотация патента описывает систему, которая “позволяет GPU выполнять процесс оценки движения параллельно с процессом кодирования видео, исполняемым процессором”. Это означает, что “производительность кодирования видео с помощью такой системы значительно ускоряется по сравнению с кодированием, использующим только CPU”.
Звучит знакомо, так как в настоящее время на рынке есть несколько технологий, работающих по такому принципу. Многие системы кодирования видео профессионального уровня используют CUDA от nVidia или опираются на кросс-платформенный OpenCL для перекладывания таких массивно-параллельных задач на GPU, что позволяет значительно повысить скорость, и реализация подобных решений постепенно переходит на потребительский уровень.
Интересно отметить, что Microsoft оказалась первым производителем, запатентовавшим подобную технологию. При этом она не производит собственные видеокарты, а зависит от третьих сторон, таких как AMD и nVvida, выпускающих аппаратные средства, которые можно использовать в качестве основы для ускорения вычислений по запатентованной технологии. Ещё предстоит выяснить, какие последствия для производителей видеокарт будет иметь получение компанией Microsoft этого патента. Ещё раз напомним, что патентная заявка Microsoft была подана в 2004 году, тогда как nVidia начала поддерживать GPGPU вычисления с выпуском GeForce 8800GTX в 2008 году, а несколько месяцев спустя AMD начала предлагать аппаратное ускорение с видеокартами Radeon HD 2000/3000/4000. В свою очередь, Microsoft Windows 7 имеет встроенную поддержку для GPU-ускоренного перекодирования видео с помощью API DirectX Compute.