Как в вк пригласить в свою группу людей: как «ВКонтакте» пригласить друга в группу

В.К. Раджа, бывший генеральный прокурор Сингапура, о том, как Индия может стать центром международного арбитража [Интервью]

На церемонии открытия недавно проведенного Delhi Arbitration Weekend (DAW) бывший генеральный прокурор Великобритании лорд Питер Голдсмит заявил, что Индия как никогда близка к тому, чтобы стать международным арбитражным центром.

Однако мнения по этому вопросу разделились: некоторые индийские юристы говорят, что мы далеки от того, чтобы стать популярным местом для международного коммерческого арбитража.

Итак, какие вопросы необходимо решить, чтобы это стало реальностью?

Паллави Салуджа встретился с В. К. Раджой SC , старшим советником, бывшим судьей Апелляционного суда Сингапура и бывшим генеральным прокурором Сингапура, чтобы выяснить это. Совсем недавно он был чрезвычайным арбитром в споре между Amazon и Future Group.

По его мнению:

«Индия добилась значительного целенаправленного прогресса за последнее десятилетие в создании инфраструктуры и программного обеспечения, необходимых для того, чтобы сделать арбитражный ландшафт здесь похожим на то, что преобладает в других странах, которые считаются лучшими международными норм. Тем не менее, предстоит проделать огромный объем работы, прежде чем индийский город станет предпочтительным международным арбитражным центром, не говоря уже о глобальном центре.

Создание уважаемой и заслуживающей доверия арбитражной экосистемы требует усилий всей страны. Это требует участия всех заинтересованных сторон, в частности, законодательной, судебной власти и юристов, целенаправленно движущихся вместе».

В этом интервью В. К. Раджа размышляет о том, как Индия может стать предпочтительным местом для арбитража, а со временем и международным арбитражным центром.

Далее следуют отредактированные выдержки.

Привлечение индийских экспертов при внесении изменений в законодательство – создание постоянного Постоянного комитета

Значительный прогресс был достигнут благодаря нескольким недавним поправкам к Закону об арбитраже и примирении. Тем не менее, правительство должно создать постоянно действующий комитет индийских арбитражных экспертов, который может постоянно давать рекомендации по обновлению законов в отношении того, что можно по праву охарактеризовать как «адвокатский закон» .

..одна область, в которой законодательный орган мог бы работать лучше, и в которой у меня есть некоторый личный опыт, — это законодательство, касающееся чрезвычайного арбитража

VK Rajah

Например, одна из областей, в которой законодательные органы могли бы добиться большего успеха, и в которой у меня есть некоторый личный опыт, — это область законодательства, касающегося чрезвычайного арбитража. Юридическая комиссия в 2016 году дала рекомендации в отношении законодательства, признающего и придающего эквивалентный статус сначала чрезвычайным арбитрам, а затем и выносимым ими постановлениям. Впоследствии Комиссия Шрикришны дала дополнительные рекомендации, чтобы усилить это. По какой-то непонятной причине парламент не принял именно эту рекомендацию. Это породило большую неопределенность в этой важной области практики.

Amazon — Большой базар

Верховный суд пролил свет своим решением по делу Amazon, но это было связано с признанием решения чрезвычайного арбитра в национальном или индийском арбитраже. Я должен заявить здесь о своей заинтересованности, потому что я был чрезвычайным арбитром, решившим дело.

Это по-прежнему остается неясной областью для индийских практикующих: что, если это место находится за границей? Будет ли такой приказ признаваться в полном объеме?

Многие страны ранее внесли поправки в свое законодательство в соответствии с предложениями Юридической комиссии и Комиссии Шрикришны. Это техническая область права, которая, если бы она была своевременно рассмотрена надлежащим образом, повысила бы статус Индии как прогрессивной арбитражной юрисдикции. Еще не поздно.

Я также отмечаю, что в недавних законодательных поправках было намерение, после доклада Шрикришны, создать Арбитражный совет Индии в соответствии со стандартами полиции. Это вселит уверенность в международном сообществе и инвесторах в том, что правительство серьезно относится к повышению стандартов на национальном уровне. Однако дело не только в намерении, а в том, как вы сообщаете о намерении.

Высокие суды с наибольшим коммерческим опытом могут быть назначены арбитражными судами

Уверенность в компетентности, эффективности, последовательности и предсказуемости судебных решений является краеугольным камнем любого арбитражного центра. Я был очень впечатлен кардинальными изменениями, которые произошли после неудачного решения по делу Bhatia International в 2002 году. С тех пор ряд прогрессивных решений, таких как Enercon , однозначно обеспечил соответствие индийской судебной практики в области международного арбитража современной международной практике. в признании принципа минимального судебного вмешательства.

…Уверенность в компетентности, эффективности, последовательности и предсказуемости принятия судебных решений является краеугольным камнем любого арбитражного центра.

Я бы с уважением сказал, что мнение — и это не только мое мнение — таково, что Верховный суд Индии в течение последнего десятилетия всегда придерживался правильной юриспруденции. За это он по праву получил международное признание. Однако этого нельзя сказать о судебной практике всех высших судов штатов. Есть опасения, что эти суды время от времени принимают проблематичные решения, которые вызывают ужас. Для правовой системы в целом нехорошо, что стороны вынуждены жить в неопределенности, пока их споры не дойдут до Верховного суда.

Есть некоторые области, которые можно немедленно улучшить, чтобы решить эти проблемы, и я рад видеть, что некоторые шаги уже предприняты. Это мои текущие мысли. Во-первых, наличие большего количества судей-специалистов. Во-вторых, улучшение судейского образования. В-третьих, я бы также предложил, чтобы во всех важных делах суды, особенно на уровне штатов, приглашали индийских amicus curiae – опытных юристов или адвокатов, не заинтересованных в исходе, – для помощи в изложении их мнений. Возможно, Высокие суды для важных дел, которые они слушают, или дел, которые, как представляется, открывают новые горизонты, неизменно применяют эту практику. Если бы эта практика применялась чаще, это внушало бы большую уверенность в том, что суды стараются принимать более обоснованные решения.

Следующее предложение касается продолжительности процесса апелляции. Я думаю, что в настоящее время это лучше в отношении коммерческих и международных арбитражных дел, чем в других случаях. Чем эффективнее процесс, тем больше он способствует легкости ведения бизнеса в Индии и, в свою очередь, помогает укрепить доверие к индийской экономике как для индийских, так и для иностранных компаний. Суды могли бы публиковать сроки вынесения решений по таким вопросам и неукоснительно их соблюдать.

несколько Высоких судов с наибольшим коммерческим опытом могут быть назначены специализированными арбитражными судами

Для ускорения процесса несколько Высоких судов с наибольшим коммерческим опытом могут быть назначены специализированными арбитражными судами. Только эти суды будут рассматривать вопросы об исполнении и отмене судебных решений из-за существующей возможности того, что другие суды ошибутся. Ставки в таких делах могут быть очень высоки, и, возможно, международное доверие укрепится, если стороны будут знать, что только судьи-специалисты рассматривают такие вопросы в ускоренном порядке.

Стороны ищут, во-первых, компетентность и, во-вторых, эффективность. Целостность — это бескомпромиссная данность, поэтому я не собираюсь распространяться об этом.

Подводя итог, можно сказать, что каждая из сторон в разрешении спора хочет, чтобы решение было в ее пользу, но суды несут ответственность за то, чтобы их решения, которые могут служить прецедентом для других сторон, не были чрезмерно навязчивыми и не приводили к необоснованные проблемы. Вот где amicus иногда может иметь значение.

Расширение институциональной арбитражной инфраструктуры

В настоящее время в Индии насчитывается около 35 различных арбитражных центров. Раз в два года разные государства заявляют о своем желании создать международный арбитражный центр. Представляется не лучшим использованием национальных ресурсов, когда несколько центров конкурируют друг с другом на одних и тех же рынках, пытаясь зарекомендовать себя в качестве международного арбитражного центра. Национальные интересы должны превалировать над государственными интересами, и необходимо тщательно оценивать иерархию институционального ландшафта.

В настоящее время в Индии насчитывается около 35 различных арбитражных центров.

VK Rajah

Сказав это, в Индии более чем достаточно работы, чтобы обойти центры в Индии, когда дело доходит до внутреннего арбитража. Одной из критических исторических проблем в Индии является арбитраж ad hoc. К сожалению, без заслуживающих доверия институтов до недавнего времени не существовало притяжения к институционализации арбитража.

Преимущества институционального арбитража намного перевешивают любые предполагаемые недостатки. Также важно, чтобы арбитражные учреждения также рассматривались как независимые от судов, когда речь идет о международном арбитраже, потому что, в конце концов, суды будут контролировать и обеспечивать исполнение арбитража. Восприятие не маловажно. Он часто сочетается с уверенностью и доверием.

Те, кто управляет этими учреждениями, а также те, кто поддерживает эти учреждения, должны задать себе несколько трудных вопросов. Как они определят успех? Сколько времени они дадут учреждениям для достижения этого успеха? Как показал опыт других стран, изначально цифры будут небольшими, пока не будет установлено доверие.

Многие другие азиатские центры развивались благодаря первоначальной государственной поддержке, прежде чем стать независимыми. Эта поддержка, это воспитание, вероятно, необходимы, потому что я не вижу, чтобы частный сектор объединился и вложил ресурсы для запуска и работы индийских международных арбитражных центров. Но также важно сохранить независимость центра и в какой-то момент отучить его от государственной поддержки. Это один из трудных разговоров, которые должны вести государство, учреждение и их заинтересованные стороны.

Международные арбитражные учреждения должны иметь больше представительств в Индии

За последние 10-15 лет в международном арбитражном пространстве Индии произошли поразительные изменения. Я особенно впечатлен многими молодыми юристами, с которыми я общался, потому что юридическая профессия и, в свою очередь, международный арбитраж теперь привлекают одни из лучших индийских умов. Они смогут конкурировать, с большим опытом, с лучшими из любой точки мира. Многие из ваших национальных фирм также добились исключительных успехов, и у них есть много юристов, которые работали за границей и знают, что является отличительной чертой международной практики. Они должны ставить перед собой высокие цели и стремиться стать предпочтительным советником для иностранных сторон и конкурировать с международными фирмами.

Тем не менее, есть отдельные области, в которых индийские юристы могут не иметь достаточного опыта. Например, в сложных областях интеллектуальной собственности. Я не сомневаюсь, что в течение следующего десятилетия или около того ряд индийских юристов превратятся в мировых лидеров мнений и займут лидирующие позиции в мировых арбитражных институтах. Это было бы позитивным событием, поскольку оно приведет к большему разнообразию и представительству мнений. В интересах не только Индии, но и Азии и Африки быть лучше представленными в учреждениях и институционализированных арбитражах.

Международный арбитраж в Индии в основном практиковался на среднем уровне еще десять лет назад. Некоторые арбитры и адвокаты не понимали международной арбитражной практики и норм. К счастью, сейчас это коренным образом и необратимо изменилось. В настоящее время имеется значительное число индийцев, которые более чем компетентны и знакомы с международными практиками и стандартами. Им необходимо получить более широкое признание. Эти арбитры и адвокаты обладают подлинным опытом и превосходной пропускной способностью.

Лондон и Дели

Я рад узнать, что 11 февраля 2023 года Лондонский центр международного арбитража (LCIA) провел свою Индийскую конференцию и дал Индийское обещание , в котором говорится, что больше назначений и признания будет предоставлено индейцы. Единственный аспект, который продолжает беспокоить меня, — почему этот шаг занял так много времени. Пришло время, чтобы международные арбитражные учреждения обновили свое программное обеспечение с точки зрения доступных талантов в Индии и других странах Азии, потому что необходимо лучше понимать, что система работает лучше всего, когда существует не только гендерное разнообразие, но, что не менее важно, географическое разнообразие. . Последнее, кажется, отошло на второй план по сравнению с гендерным разнообразием. Это может быть связано с тем, что голоса в этом углу недостаточно усилены. Однако я подчеркиваю, что репрезентативность должна основываться на заслугах, а не только на половой или географической принадлежности. Итак, это еще одно изменение, которое я ожидаю ускорить, и если этого не произойдет, неизбежно последует усиление географической активности. Такие изменения принесут пользу некоторым из лучших умов индийского арбитража в течение следующего десятилетия или около того. Чтобы установить лидерство мысли, молодые, а также более авторитетные индийские практики должны иметь большую известность на международных форумах и широко публиковаться по индийским, а также международным вопросам, тем самым увеличивая свою долю ума и пространство для размышлений в международном арбитраже.

Специализированные курсы в индийских юридических школах/ Raising the Bar

На данный момент нет заслуживающих доверия LL. M. или курсы последипломного образования, предлагаемые в Индии, к которым индийцы могут обратиться. В результате многие из них уезжают либо в США, Великобританию, либо в Сингапур. Это представляет собой финансовое препятствие для тех, у кого недостаточно средств, и создает барьер для новичков в этой области права. В национальных интересах Индии, чтобы несколько университетов предлагали эти курсы внутри страны.

Университеты также могли бы сотрудничать с заслуживающими доверия иностранными университетами и предлагать совместные степени. Таким образом, они сразу же получают как кадровый резерв, так и авторитет. Это приносит пользу и Индии, потому что ваши студенты не только смогут получить опыт в Индии по более низкой цене, но со временем это может даже привлечь людей из-за пределов Индии. Должны быть амбиции, чтобы вы развивали идейных лидеров во многих различных областях международного арбитража. Это может занять от 10 до 20 лет, но в более широком временном континууме это очень короткий промежуток времени. В небольшой стране, в таких городах, как Сингапур и Гонконг, конечно, реализовать эти идеи гораздо проще. Но в Индии из-за того, что ваши политики меняются, иногда нет последовательного применения в реализации этих планов. Вот почему я подчеркнул, что важно иметь структуру. Если у вас есть такая структура, как Арбитражный совет или какой-либо другой зонтичный орган, который наблюдает за экосистемой, вы можете гарантировать, что прогресс будет последовательным и непрерывным. Я думаю, что очень важно, чтобы вы также создавали барьеры, чтобы гарантировать, что вы целенаправленно продвигаетесь по выбранному пути, даже когда личности меняются.

Открытие юридического сектора

Ключевой особенностью всех существующих арбитражных центров является либеральный юридический сектор. На данный момент, насколько я понимаю, существует большая озабоченность как внутри, так и за пределами индийского юридического сообщества по этому поводу, поскольку индийским юридическим фирмам нужно больше времени, чтобы укрепиться. Это понятно и не должно упускаться из виду в преследовании национальных интересов.

Я бы предложил создать различные пути путем внесения поправок в ваши законы, чтобы позволить индийским юридическим фирмам, стремящимся и располагающим необходимыми для этого средствами, стать конкурентоспособными на международном уровне

В.К. Раджа об открытии иностранных юридических фирм

На данный момент вместо того, чтобы открывать индийский юридический сектор для международных юридических фирм, как это сделали некоторые другие страны, я бы предложил создать другие пути путем внесения поправок в ваши законы, чтобы позволить индийским юридические фирмы, стремящиеся и имеющие необходимые средства для того, чтобы стать конкурентоспособными на международном уровне. Позвольте им создать наборы навыков и предложений, которые нельзя развить органически, наняв иностранных юристов со специальным опытом. Скажем, например, в области международного арбитража, интеллектуальной собственности, права на неприкосновенность частной жизни, киберправа, нефти и газа и так далее. Эти фирмы должны иметь возможность конкурировать за международную работу с международными клиентами. Значимая либерализация может произойти позже, когда ваш юридический сектор станет конкурентоспособным на международном уровне. Ваши национальные интересы всегда на первом месте.

Индия найдет свой собственный путь

На мой взгляд, Индия обязательно найдет свой собственный путь. Нет смысла просто смотреть на Сингапур, Гонконг или Лондон и пытаться воспроизвести то, что они там сделали, потому что каждый город или центр имеет разные атрибуты. Но вы должны иметь глубокое понимание того, как эти ведущие места по общему праву достигли и в конечном итоге укрепили свой статус.

Гонконг

Итак, я думаю, что это нужно делать шаг за шагом, но это займет 10, 15, 20 лет. Если вы посмотрите на прогресс, достигнутый Сингапуром и Гонконгом, а также на время и пути, которые они прошли, то увидите, что им потребовалось более двух десятилетий, чтобы достичь своего нынешнего статуса. Возможно, Индия сможет сделать это быстрее в течение десятилетия, но для этого потребуются постоянные усилия, приверженность и бескомпромиссная поддержка со стороны всех заинтересованных сторон, работающих вместе и друг с другом в национальных интересах.

Если вы посмотрите на прогресс, достигнутый Сингапуром и Гонконгом, а также на время и пути, которые они прошли, то увидите, что им потребовалось более двух десятилетий, чтобы достичь своего нынешнего статуса.

Хотя ни в одной стране нет более одного города, который зарекомендовал себя как центр международного арбитража, возможно, что Индия может быть исключением. Это мои причины. Во-первых, если Индия сохранит свою нынешнюю экономическую траекторию, она станет третьей по величине экономикой мира в течение десятилетия. Ее население больше, чем в Европе, и она начинает пожинать дивиденды от населения, производя в промышленных масштабах огромное количество талантливых юристов. Города Индии имеют разные сильные стороны, и ее ключевые города обслуживают разные рынки и отрасли. Географически он находится почти посередине Азии и Африки. Во-вторых, огромное количество специальных арбитражных разбирательств даст нескольким вашим учреждениям, если они будут эффективно и прозрачно управлять своей работой, уникальные возможности для укрепления доверия и уверенности. Это будет хорошей платформой для следующего шага к регионализации и, возможно, для пары или более учреждений к интернационализации. В-третьих, также вероятно, что некоторые центры могут привлекать специализированную работу и/или региональную работу в определенных областях из-за наличия у них особого опыта в работе с определенными жанрами работы. Вполне возможно, что центры в Дели, Мумбаи и Хайдарабаде, все из которых хорошо зарекомендовали себя, развиваются в этом направлении. Однако это не произойдет случайно. Развитие и поддержка этих центров имеет решающее значение.

Короче говоря, международный арбитражный центр не может материализоваться, просто взмахнув законодательной палочкой или построив великолепное здание и открыв двери для всех. Это требует, чтобы все ключевые заинтересованные стороны работали вместе в течение длительного периода времени, чтобы укрепить уверенность и доверие, сначала определяя правовую архитектуру, а затем внедряя и поддерживая необходимое оборудование, программное обеспечение и аппаратное обеспечение.

Арбитраж

Международный арбитраж

VK Rajah

Блог Khronos — The Khronos Group Inc

В начале 2018 года рабочая группа Vulkan в Khronos приступила к изучению способов беспрепятственной интеграции аппаратного ускорения сжатия и распаковки видео в Vulkan API. Сегодня Khronos выпускает набор предварительных расширений ускорения Vulkan Video: «Vulkan Video». В этом блоге вы найдете обзор новых возможностей обработки видео Vulkan, и мы приветствуем отзывы до того, как расширения будут завершены, чтобы они могли обеспечить эффективное ускорение ваших видеоприложений!

Vulkan Video придерживается философии Vulkan, предоставляя приложению гибкий и детальный контроль над планированием обработки видео, синхронизацией и использованием памяти. Использование существующей инфраструктуры Vulkan обеспечивает эффективное использование ресурсов обработки с малой задержкой и низкими накладными расходами, включая распределение задач потоковой обработки между несколькими ядрами ЦП и оборудованием видеокодека — и все это с переносимостью приложений на несколько платформ и устройств, начиная от небольших встроенных устройств и заканчивая высокопроизводительными устройствами. серверы производительности.

Рисунок 1. Этапы типичного приложения декодирования и кодирования Vulkan Video

В дополнение к низкоуровневому дизайну Vulkan Video компания Khronos планирует добавить в Vulkan SDK поддержку слоев для проверки и высокоуровневых абстракций, которые ускорят разработку видео. приложения, в которых достаточно простого декодирования и кодирования кадра в кадре и черного ящика. Это будет дополнено образцами Vulkan Video с открытым исходным кодом для ряда вариантов использования приложений в Windows и Linux.

Предварительные расширения Vulkan Video тесно интегрируют аппаратное ускорение обработки видео с существующими графическими, вычислительными и отображающими функциями Vulkan. Мы приглашаем всех разработчиков оставить отзыв, чтобы окончательные расширения Vulkan Video 1.0 можно было точно настроить, чтобы предоставить захватывающие новые возможности для приложений Vulkan во всем мире!

Vulkan Video Extensions Обзор

Графические процессоры обычно содержат специальные механизмы ускорения декодирования и кодирования видео, которые не зависят от других графических и вычислительных механизмов. Фактически, некоторые физические устройства могут поддерживать только операции декодирования и/или кодирования видео. Следовательно, Vulkan Video добавляет очереди декодирования и кодирования видео, наличие которых можно запросить с помощью VkQueueFlagBits .

Кроме того, область видеокодеков постоянно развивается, обеспечивая еще более эффективное сжатие и распаковку видео с помощью все более совершенных инструментов кодирования видео для конкретной области, что приводит к появлению новых кодеков и расширений кодеков. Следовательно, Vulkan Video был разработан с гибкой поддержкой широкого спектра существующих и будущих кодеков, разделенных на универсальные «базовые» расширения, которые, как ожидается, будут актуальны для всех кодеков, и расширения для конкретных кодеков.

Основные расширения включают функции очереди видео, которые не зависят от видеокодека:

  • VK_KHR_video_queue : вызовы API, общие для операций декодирования и кодирования.
  • VK_KHR_video_decode_queue : Вызовы API используются только в операциях декодирования.
  • VK_KHR_video_encode_queue : Вызовы API используются только в операциях кодирования.
Рисунок 2. Ядро Vulkan Video и расширения для конкретных кодеков
Расширения VP9 и AV1 будут поставляться в будущем выпуске

Этот предварительный выпуск Vulkan Video также включает три расширения, которые расширяют базовые структуры, определенные основными расширениями видео KHR, для поддержки H.264. -декодирование, кодирование H.264 и декодирование H.265:

  • ВК_EXT_video_decode_h364
  • ВК_EXT_video_encode_h364
  • ВК_EXT_video_decode_h365

Эти расширения EXT не определяют вызовы API, они просто расширяют структуры данных. В настоящее время в разработке находится расширение для кодирования H.265, и ожидается, что расширения декодирования VP9 и декодирования/кодирования AV1 появятся вскоре после этого в более позднем выпуске.

Например, реализация Vulkan Video, поддерживающая только декодирование H.264, будет поддерживать только VK_KHR_video_queue , VK_KHR_video_decode_queue и VK_EXT_video_decode_h364 , и приложение будет использовать все три расширения вместе для выполнения операций декодирования H.264 на этом целевом устройстве.

Стандартный API vkGetPhysicalDeviceQueueFamilyProperties2

может использоваться для определения поддержки расширений кодека, таких как декодирование H.265, кодирование H.264, путем связывания VkVideoQueueFamilyProperties2KHR для получения VkVideoCodecOperationFlagsKHR .

Vulkan Video Codec Std C-headers

Эксперты по кодированию видео часто анализируют битовые потоки видео, чтобы исследовать артефакты кодирования и улучшить качество видео, используя синтаксические элементы кодека в битовом потоке, используя спецификацию кодека, которая определяет поведенческие описания синтаксиса и инструментов. Vulkan Video позволяет легко распознавать поля API, соответствующие элементам синтаксиса кодека или терминам, определенным кодеком, без раздувания спецификации Vulkan описаниями, уже хорошо задокументированными в стандартных спецификациях кодека.

C-заголовки стандарта кодека («Std») определяют структуры с явными и производными полями синтаксиса кодека в соглашении об именах и стилях соответствующей спецификации стандарта кодека. Эти структуры Std используются в качестве полей в структурах расширения Vulkan Video codec EXT. Предварительный выпуск Vulkan Video предоставляет следующие заголовки codec Std:

  • vulkan_video_codec_h364std.h : определяет структуры и типы, общие для операций декодирования и кодирования H.264.
  • vulkan_video_codec_h364std_decode.h : определяет структуры, используемые только операциями декодирования H.264.
  • vulkan_video_codec_h364std_encode.h : определяет структуры, используемые только операциями кодирования H. 264.
  • vulkan_video_codec_h365std.h
    : определяет структуры и типы, общие для операций декодирования и кодирования H.265.
  • vulkan_video_codec_h365std_decode.h : определяет структуры, используемые только операциями декодирования H.265.
  • vulkan_video_codecs_common.h : определяет макрос управления версиями, используемый другими заголовками Std для обслуживания версий.

Пример перекодирования видео

Перекодирование видео часто используется для преобразования видеоконтента из более старого кодека в новый, чтобы повысить эффективность сжатия. Его также можно использовать для преобразования контента в кодек, более подходящий для эффективного использования в целевой среде. На рисунке 3 показана базовая блок-схема транскодирования видео.

Рис. 3. Высокоуровневый процесс транскодирования видео Vulkan

Первая фаза транскодирования видео — это декодирование входного битового видеопотока (последовательности байтов) для создания изображений, составляющих видеопоследовательность. Декодирование отдельных изображений в битовом потоке часто требует обращения к одному или нескольким ранее декодированным изображениям, которые должны быть сохранены для этой цели в буфере декодированных изображений (DPB). Обратите внимание, что некоторые реализации могут поддерживать использование одних и тех же ресурсов изображения для выходных изображений и изображений DPB, в то время как другие могут требовать или предпочитать отделение выходных изображений от операции декодирования из изображений DPB, например, для использования собственных макетов и хранения метаданных вместе с изображениями DPB при сохранении вывода. изображения в стандартных макетах для внешнего потребления. Наконец, чтобы получить исходную видеопоследовательность, может потребоваться изменить порядок выходных изображений в соответствии с указаниями битового потока.

Второй этап перекодирования включает в себя кодирование декодированных изображений с помощью нового кодека (или, возможно, того же кодека с другим набором инструментов). Процесс кодирования, по существу, является обратным процессу декодирования: входные данные представляют собой последовательность изображений, которые могут быть переупорядочены перед кодированием, и может быть необходимо сохранить «реконструированные» или декодированные версии изображений для справки при кодировании. следующие изображения. Обратите внимание, что, как правило, входные изображения не используются в качестве ссылки в процессе кодирования, чтобы избежать дрейфа при декодировании потока битов на стороне потребителя, поскольку кодирование обычно является операцией с потерями. Приложения транскодирования конвейеризируют операции декодирования и кодирования, чтобы уменьшить количество декодируемых выходных/кодирующих входных изображений, необходимых при транскодировании.

Итак, как бы мы реализовали этот пример транскодирования с помощью Vulkan Video?

Видеоресурсы и профили

Первым шагом приложения транскодирования является выделение необходимых ресурсов. Базовые ресурсы для операций декодирования и кодирования видео используют стандартные объекты Vulkan:

  • Входные и выходные битовые потоки декодирования видео: VkBuffer
  • Выход декодирования видео, ввод кодирования и декодирование/кодирование изображений DPB:
    VkImageView
    при поддержке VkImage

Vulkan Video расширяет VkBufferUsage , VkImageUsage и VkImageLayout битами, относящимися к видеодекодированию/кодированию ресурсов, используемых приложениями, и оптимально управлять использованием и кодированием ресурсов приложениями.

Видеокодеки обычно определяют «профили», которые используются для объявления набора функций, используемых кодированным битовым потоком. Аппаратные декодеры, совместимые с кодеками, часто поддерживают полный набор функций профиля, поэтому они могут обрабатывать весь совместимый контент. Напротив, поставщики оборудования могут поддерживать выбранные функции профиля в аппаратном кодировщике и по-прежнему генерировать совместимый битовый поток, исходя из соображений площади и стоимости, при этом отдавая приоритет API кодирования ключей и вариантам использования.

VkVideoProfileKHR структура определяет целевой профиль видео:

  • Операция видеокодека (например, H.265-декодирование или H.264-кодирование)
  • Подвыборка цветности YCbCr и битовая глубина компонентов яркости/цветности (например, 4:2:0, 8-битная яркость/цветность), поскольку видеокодеки работают с изображениями YUV для повышения эффективности кодирования
  • Видеопрофиль, специфичный для кодека (например, основной профиль H.264), через связанную структуру EXT, характерную для используемой операции кодека

Ресурсы, предназначенные для операций с видео, могут иметь специфичные для реализации свойства и требования, основанные на целевом профиле видео, поэтому приложения должны указывать целевой профиль видео при запросе свойств или создании различных ресурсов (изображений, буферов и т.

д.).

API-вызов VkFormat перечисляет поддерживаемые видеоизображения для данной операции видеокодека и профиля видео:

  • vkGetPhysicalDeviceVideoFormatPropertiesKHR

Видеосеанс

После выделения ресурсов приложение транскодирования создает видеосеанс. Объект видеосеанса VkVideoSessionKHR предоставляет контекст для хранения постоянного состояния при работе с конкретным видеопотоком. Отдельные экземпляры VkVideoSessionKHR может быть создан для одновременной работы с несколькими видеопотоками. Следующие API создают, уничтожают, запрашивают требования к памяти и привязывают память к объектам видеосеанса:

  • vkCreateVideoSessionKHR
  • vkDestroyVideoSessionKHR
  • vkGetVideoSessionMemoryRequirementsKHR
  • vkBindVideoSessionMemoryKHR

Если приложение должно поддерживать декодирование битового видеопотока с динамическим изменением разрешения, например, для работы в различных сетевых условиях, видеосеанс должен быть создан с максимальными параметрами видеопотока, чтобы было выделено достаточно ресурсов.

Для приложения предоставляется API для запроса возможностей реализации, включая минимальные и максимальные ограничения для определенных параметров:

  • vkGetPhysicalDeviceVideoCapabilitiesKHR

Параметры сеанса видео

Vulkan Video использует объекты VkVideoSessionParametersKHR , созданные для данного экземпляра VkVideoSessionKHR

, для хранения наборов параметров видео для управления обработкой потока, например. для описания настроек, которые применяются к одному или нескольким изображениям в потоке, например последовательность H.264 и наборы параметров изображения.

Приложение может создать несколько объектов параметров сеанса для данного видеосеанса, указав максимальное количество наборов параметров различных типов, которые, как ожидается, будет содержать этот объект. Это позволяет пользователю впоследствии добавлять дополнительные наборы параметров к тому же объекту при соблюдении определенных условий. В качестве альтернативы пользователь может создать другой объект параметров сеанса с большей емкостью памяти и наследовать существующие наборы параметров, сохраненные из ранее созданного объекта параметров сеанса. Это позволяет избежать повторного перевода наборов параметров через Vulkan API и позволяет повторно использовать их внутренние представления для разных объектов.

Для создания, уничтожения и обновления параметров видеосеанса предоставляются следующие API:

  • vkCreateVideoSessionParametersKHR
  • vkDestroyVideoSessionParametersKHR
  • vkUpdateVideoSessionParametersKHR

В настоящее время объект параметров сеанса используется для хранения наборов параметров H.264 SPS и PPS, а также наборов параметров H.265 VPS, SPS и PPS. Ожидается, что для операций декодирования приложение будет анализировать сегменты битового потока, содержащие эти заголовки кодека, для создания/обновления объектов параметров сеанса по мере необходимости.

Процесс декодирования видео

Теперь сеанс видео создан, декодирование может начаться с разбора битового потока видео на последовательность отдельно декодируемых сегментов битового потока, как определено видеокодеком. Некоторые из этих сегментов несут наборы параметров кодека, применимые к нескольким изображениям в последовательности, как описано ранее. Другие сегменты битового потока сами несут закодированное изображение или закодированные области субизображения (например, слайсы H.264).

Рисунок 4. Детали процесса декодирования видео Vulkan

Аппаратное ускорение декодирования видео обычно требуется только для сегментов битового потока, связанных с изображениями/изображениями или их подобластями, в то время как сегменты, связанные с наборами параметров, предназначены для простого декодирования или синтаксического анализа на базе ЦП. Наборы параметров также предназначены для эффективной передачи требований к ресурсам для декодирования битового потока видео раньше времени и для определения того, поддерживает ли аппаратный декодер декодирование фактических битовых потоков или нет.

Помимо ускорения декодирования изображения или субрегиона, реализации могут также использовать различные методы для устранения ошибок битового потока (например, вызванных искажением во время ненадежной передачи по сети). Также может быть необходимо сохранить статистику или состояние, относящиеся к предыдущему декодированию, чтобы помочь декодировать текущие/будущие изображения/частичные изображения в видеопоследовательности. Как правило, приложение будет использовать Vulkan Video для тяжелой работы по декодированию на уровне изображения, при этом выполняя синтаксический анализ, управление ресурсами и внутреннюю синхронизацию.

Команда операции декодирования видео

Теперь пришло время записать операцию декодирования видео в командный буфер Vulkan, используя:

  • vkCmdDecodeVideoKHR

Это единственный вызов API, предоставляемый в расширении VK_KHR_video_decode_queue . Буферы команд и данные битового потока создаются для видеоустройства в памяти перед отправкой на графический процессор.

В настоящее время поддерживаются только команды декодирования на уровне изображения (как указано в соответствующих структурах расширения EXT для кодека для операций декодирования, например VkVideoDecodeh364PictureInfoEXT ). Нам интересно узнать о вариантах использования, которые требуют более детальных операций!

Процесс кодирования видео

Теперь у нас есть декодированные изображения, кодирование включает такие же подробные задачи, что и декодирование, но со значительно большим количеством точек принятия решений (рис. 5). На уровне последовательности приложение может настроить целевую скорость передачи для сгенерированного потока битов. Реализации используют проприетарные алгоритмы для оценки сложности изображения и планирования распределения битов между изображениями и в подобластях каждого изображения. Эта функция, широко известная как «управление скоростью», также требует сохранения статистики и состояния, которые можно использовать при кодировании будущих изображений последовательности.

Рисунок 5. Детали процесса кодирования видео Vulkan

В рамках процесса кодирования также необходимо принять решение относительно того, какие инструменты кодека следует использовать при кодировании каждого изображения или области субизображения, а также какие другие изображения следует использовать при кодировании. Решения могут применяться даже к единицам кодирования самого низкого уровня (например, блокам 16×16 пикселей), для которых может быть указан синтаксис битового потока (как определено кодеком). Соответствующие наборы параметров должны быть закодированы в дополнение к битовым потокам для изображений или областей субизображения, чтобы сгенерировать окончательный битовый поток элементарного видео.

Реализации кодировщика могут различаться набором предлагаемых инструментов кодека и уровнем детального контроля, предоставляемого пользователю. Точно так же ожидания пользователей значительно различаются в отношении кодирования; некоторые пользователи предпочитают кодировщики черного ящика, которые просто загружают изображения и некоторые высокоуровневые настройки со всем подробным синтаксисом, генерируемым «под капотом». Некоторым продвинутым пользователям может потребоваться больший контроль над процессом низкоуровневого кодирования, чтобы включить в приложении оптимизацию, специфичную для предметной области.

Vulkan Video является результатом балансировки этих требований, в результате чего низкоуровневый API поощряет широкое внедрение поставщиков кремниевых компонентов, а инструменты и уровни позволяют скрыть сложность от приложений, предпочитающих высокоуровневый API. Vulkan Video включает расширения поставщиков, которые предоставляют элементы управления для конкретных поставщиков, которые могут быть стандартизированы при наличии поддержки разных поставщиков.

Рисунок 5. также иллюстрирует некоторые дополнительные введенные команды и запросы Vulkan Video, которые описаны далее.

Команды операций кодирования видео

Теперь мы готовы начать процесс кодирования, записав операцию кодирования видео в буфер команд Vulkan:

  • vkCmdEncodeVideoKHR

Это единственный вызов API, предоставляемый в расширении VK_KHR_video_encode_queue .

В настоящее время поддерживаются только команды кодирования на уровне изображения (как указано в соответствующих структурах расширения EXT для кодека для операций кодирования, например, VkVideoEncodeh364VclFrameInfoEXT ). В будущем команда кодирования может поддерживать кодирование области фрагмента изображения сама по себе (например, один слой в многослойном кадре в H.264).

Все решения по управлению изображениями и ссылками принимаются приложением, которое также имеет прямой контроль над синтаксисом битового потока, связанным с управлением ссылками. Кроме того, приложение может дополнительно запросить генерацию сегментов битового потока H.264 SPS/PPS реализацией (см. VkVideoEncodeh364EmitPictureParametersEXT 9).0016). Это обеспечивает путь для реализации, чтобы генерировать полный элементарный битовый поток, если это необходимо.

Настройки контроля скорости кодировщика записываются с помощью следующего API в буфер команд Vulkan:

  • vkCmdControlVideoCodingKHR

Обратите внимание, что эти настройки вступают в силу на временной шкале выполнения (т. е. при отправке в очередь). Этот API также позволяет сбросить видеосеанс в исходное состояние, например, если видеосеанс будет использоваться для обработки нового видеопотока. Этот универсальный хук API позволяет в будущем расширять другие операции управления на уровне потока.

Контекст буфера команд видео

Поскольку несколько операций декодирования или кодирования могут быть записаны в один и тот же буфер команд, и все они зависят от одного и того же набора ресурсов и настроек, Vulkan Video определяет пару вызовов API для обозначения области действия видео. параметры управления командой во время сеанса:

  • vkCmdBeginVideoCodingKHR
  • вкккмденндвидеокодингкхр

vkCmdBeginVideoCodingKHR устанавливает контекст буфера команд для операций с видео в одном видеопотоке. На этом этапе предоставляется объект VkVideoSessionKHR вместе с объектом VkVideoSessionParametersKHR , содержащим наборы параметров для использования во всех последующих операциях декодирования или кодирования видео до конца области. После этого ожидается один или несколько vkCmd*Video*KHR , указывающих фактическую операцию (операции) декодирования/кодирования и/или операцию (операции) управления видео. Наряду с видеокомандами также могут присутствовать стандартные команды Vulkan для синхронизации, смены раскладки и т. д. vkCmdEndVideoCodingKHR завершает область видеоопераций.

Несколько наборов видеокоманд, ограниченных командами vkCmdBeginVideoCodingKHR и vkCmdEndVideoCodingKHR , могут быть записаны в один и тот же буфер команд с использованием одного или разных объектов видеосеанса и параметров видеосеанса для каждого набора. Также возможно использовать объект параметров видеосеанса с соответствующим объектом видеосеанса в вызовах записи нескольких буферов команд — параллельная запись в несколько буферов команд.

Video Queries

Vulkan Video добавляет новый обязательный VkQueryType для сообщения местоположения и размера закодированного битового потока в выходном буфере (см.

Кроме того, добавлен необязательный тип запроса состояния результата для определения состояния завершения набора операций, заключенных между командами vkCmdBeginQuery и vkCmdEndQuery . Этот статус результата может быть сообщен сам по себе с помощью VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR тип запроса или в сочетании с другим типом запроса с помощью VK_QUERY_RESULT_WITH_STATUS_BIT_KHR . Статус результата не относится к операциям с видео и может использоваться для сообщения об ошибках во время выполнения любых команд Vulkan, требующих дополнительного изучения. Для видеоопераций реализации могут сообщать о состоянии ошибки при обнаружении синтаксических ошибок декодирования или при переполнении буфера кодирования битового потока.

Поскольку видеозапросы обычно используются хостом, видеоочереди поддерживают только трансляцию результатов запросов хостом ( vkGetQueryPoolResults ) и поддерживают трансляцию устройств , а не ( vkCmdCopyQueryPoolResults ). Пожалуйста, дайте нам знать, если перевод устройства важен для вашего варианта использования!

На этом пошаговое руководство с примером транскодирования завершено! Мы надеемся, что это дало вам представление о том, как Vulkan Video может реализовать новые возможности в ваших собственных продуктах за счет интеграции низкоуровневого ускорения видео в сложные конвейеры Vulkan, объединяющие операции с видео, графикой, вычислениями и отображением.

Звоните для обратной связи!

Выпуск предварительных расширений Vulkan Video знаменует собой первое публичное представление этой важной новой функциональности Vulkan и является важной вехой, позволяющей проводить отраслевые обзоры и отзывы. Пожалуйста, поделитесь своими мыслями через выпуск Khronos Vulkan Video GitHub.

Как и любой предварительный выпуск, расширения Vulkan Video могут быть обновлены в соответствии с отзывами разработчиков. Поэтому мы просим поставщиков драйверов не поставлять рабочие драйверы, поддерживающие эти временные расширения, и чтобы независимые поставщики программного обеспечения не использовали эти временные расширения в своих рабочих приложениях. Чтобы использовать эти временные расширения, приложения должны явно включить бета-расширения следующим образом:

#define vk_enable_beta_extensions
#include

Видео VIDERCAN VIGE

  • VK_KHR_video_decode_queue
  • ВК_КХР_video_encode_queue
  • ВК_EXT_video_decode_h364
  • ВК_EXT_video_encode_h364
  • ВК_EXT_video_decode_h365
  • NVIDIA выпустила бета-версию драйверов Vulkan, реализующих Vulkan Video, и пример приложения для декодирования Vulkan Video vk_video_decoder, чтобы разработчики могли создавать прототипы и экспериментировать с текущими предварительными расширениями.

    Поддержка уровня проверки Vulkan SDK будет добавлена ​​для финализированных расширений Vulkan Video 1.0. В этом предварительном выпуске проверочные слои будут проверены на работу только с отключенными расширениями Vulkan Video.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Закрыть
    Menu