RU2795052C2 - Methods and device for adaptive point cloud streaming - Google Patents
Methods and device for adaptive point cloud streaming Download PDFInfo
- Publication number
- RU2795052C2 RU2795052C2 RU2021128499A RU2021128499A RU2795052C2 RU 2795052 C2 RU2795052 C2 RU 2795052C2 RU 2021128499 A RU2021128499 A RU 2021128499A RU 2021128499 A RU2021128499 A RU 2021128499A RU 2795052 C2 RU2795052 C2 RU 2795052C2
- Authority
- RU
- Russia
- Prior art keywords
- pcc
- video
- attribute
- network node
- components
- Prior art date
Links
Images
Abstract
Description
Предпосылки создания изобретенияPrerequisites for the creation of the invention
В последнее время появились высококачественные 3D-облака точек в качестве усовершенствованного представления об иммерсивной среде. Облако точек состоит из набора точек, представленных в 3D-пространстве, с использованием координат, указывающих местоположение каждой точки вместе с одним или более атрибутами, такими как цвет, связанный с каждой точкой, прозрачность, время получения, отражение лазера или свойство материала и т. п. Данные для создания облаков точек можно получать разными способами. Например, одной из методик захвата облаков точек является применение множества камер и датчиков глубины. Для захвата облаков точек также часто используют лазерные сканеры обнаружения света и определения дальности (LiDAR). Количество точек, необходимых для реалистичного восстановления объектов и сцен с использованием облаков точек, составляет порядка миллионов (или даже миллиардов). Следовательно, для хранения и передачи данных облака точек важны эффективное представление и сжатие.Recently, high-quality 3D point clouds have emerged as an advanced representation of an immersive environment. A point cloud consists of a collection of points represented in 3D space using coordinates indicating the location of each point along with one or more attributes such as the color associated with each point, transparency, acquisition time, laser reflection or material property, etc. n. Data for creating point clouds can be obtained in different ways. For example, one technique for capturing point clouds is to use multiple cameras and depth sensors. Laser light detection and ranging (LiDAR) scanners are also often used to capture point clouds. The number of points needed to realistically restore objects and scenes using point clouds is on the order of millions (or even billions). Therefore, efficient representation and compression is essential for storing and transmitting point cloud data.
Последние достижения в области технологий захвата и визуализации 3D-точек привели к появлению новых приложений в областях телеприсутствия, виртуальной реальности и крупномасштабных динамических 3D-карт. Подгруппа трехмерной графики (3D Graphics) экспертной группы по движущемуся изображению (Moving Picture Experts Group (MPEG)), курирующей стандарт ISO/IEC JTC1/SC29/WG11, в настоящее время работает над разработкой двух стандартов сжатия 3D-облаков точек (PCC): стандарта сжатия на основе геометрии для статических облаков точек (облаков точек для неподвижных объектов) и стандарта сжатия на основе видео для динамических облаков точек (облаков точек для движущихся объектов). Цель этих стандартов — обеспечение эффективного и интерактивного хранения и передачи 3D-облаков точек. Среди требований этих стандартов — поддержка кодирования с потерями и/или без потерь геометрических координат и атрибутов облака точек.Recent advances in 3D point capture and visualization technologies have led to new applications in the areas of telepresence, virtual reality, and large-scale dynamic 3D maps. The 3D Graphics subgroup of the Moving Picture Experts Group (MPEG), which oversees the ISO/IEC JTC1/SC29/WG11 standard, is currently working on the development of two 3D Point Cloud Compression (PCC) standards: a geometry-based compression standard for static point clouds (point clouds for stationary objects); and a video-based compression standard for dynamic point clouds (point clouds for moving objects). The purpose of these standards is to provide efficient and interactive storage and transmission of 3D point clouds. Among the requirements of these standards is support for lossy and/or lossless encoding of geometric coordinates and point cloud attributes.
Краткое описание графических материаловBrief description of graphic materials
Более подробное объяснение содержится в представленном ниже подробном описании с использованием примеров в сочетании с прилагаемыми графическими материалами. Фигуры на таких графических материалах, как и подробное описание, являются примерами. Таким образом, данные фигуры и подробное описание нельзя рассматривать как ограничивающие, при этом возможны и вероятны другие в равной степени эффективные примеры. Кроме того, подобные позиции на фигурах указывают подобные элементы, причемFor a more detailed explanation, see the detailed description below, using examples in conjunction with the accompanying graphics. The figures in such drawings, as well as the detailed description, are examples. Thus, these figures and the detailed description should not be construed as limiting, and other equally effective examples are possible and likely. In addition, like positions in the figures indicate like elements, with
на фиг. 1A представлена блок-схема, иллюстрирующая пример системы кодирования и декодирования видео, в которой можно обеспечить и/или реализовать один или более вариантов осуществления;in fig. 1A is a block diagram illustrating an example of a video encoding and decoding system in which one or more embodiments may be provided and/or implemented;
на фиг. 1B приведена блок-схема, иллюстрирующая пример блока видеокодера для использования с системой кодирования и/или декодирования видео, показанной на фиг. 1A;in fig. 1B is a block diagram illustrating an example of a video encoder block for use with the video encoding and/or decoding system shown in FIG. 1A;
на фиг. 2 представлена блок-схема универсальной гибридной блочной системы кодирования видеосигналов;in fig. 2 is a block diagram of a universal hybrid block video coding system;
на фиг. 3 представлена общая блок-схема блочного видеодекодера;in fig. 3 is a general block diagram of a block video decoder;
на фиг. 4 представлена структура битового потока для сжатия облака точек на основе видео (V-PCC);in fig. 4 shows a bitstream structure for video-based point cloud compression (V-PCC);
на фиг. 5 представлена иерархическая модель данных MPD;in fig. 5 shows a hierarchical MPD data model;
на фиг. 6 представлен пример DASH-конфигурации для группирования компонентов V-PCC, принадлежащих облаку с единственной точкой, в файле MPD MPEG-DASH; иin fig. 6 shows an example DASH configuration for grouping V-PCC components belonging to a single point cloud in an MPD MPEG-DASH file; And
на фиг. 7 представлена блок-схема, иллюстрирующая пример способа декодирования для потоковой передачи содержимого облака точек в соответствии с вариантом осуществления.in fig. 7 is a flowchart illustrating an example of a decoding method for streaming point cloud content according to an embodiment.
Подробное описаниеDetailed description
Примеры систем, в которых возможна реализация вариантов осуществленияExamples of systems in which implementation of the embodiments is possible
На фиг. 1A показана блок-схема, иллюстрирующая пример системы 100 кодирования и декодирования видео, в которой можно обеспечить и/или реализовать один или более вариантов осуществления. Система 100 может включать в себя устройство-источник 112, которое может передавать кодированную видеоинформацию в устройство 114 назначения по каналу 116 связи.In FIG. 1A is a block diagram illustrating an example of a video encoding and decoding system 100 in which one or more embodiments may be provided and/or implemented. System 100 may include a source device 112 that can transmit encoded video information to destination device 114 over
Устройство-источник 112 и/или устройство 114 назначения могут представлять собой любые из широкого спектра устройств. В некоторых типовых вариантах осуществления устройство-источник 112 и/или устройство 114 назначения могут включать в себя модули беспроводной передачи и/или приема (WTRU), такие как беспроводные телефоны или любые беспроводные устройства, способные передавать видеоинформацию по каналу 116 связи, и в этом случае канал 116 связи включает в себя беспроводную линию связи. Однако способы, устройства и системы, описанные, раскрытые или иным образом предоставленные в явном виде, неявно и/или неотъемлемо (в совокупности называемые «предоставленными»), в настоящем документе не обязательно ограничиваются беспроводными приложениями или настройками. Например, эти методики можно применять к эфирным телевизионным трансляциям, передачам кабельного телевидения, передачам спутникового телевидения, передачам видео через Интернет, кодированному цифровому видео, которое закодировано на носителе данных, и/или к другим сценариям. Канал 116 связи может включать в себя и/или может представлять собой любую комбинацию беспроводных или проводных сред, подходящих для передачи кодированных видеоданных.Source device 112 and/or destination device 114 can be any of a wide variety of devices. In some exemplary embodiments, source device 112 and/or destination device 114 may include wireless transmit and/or receive units (WTRUs), such as wireless telephones or any wireless device capable of transmitting video information over
Устройство-источник 112 может включать в себя блок 118 видеокодера, блок 120 передачи и/или приема (Tx/Rx) и/или элемент 122 Tx/Rx. Как показано, устройство-источник 112 может включать в себя источник 124 видео. Устройство 114 назначения может включать в себя элемент 126 Tx/Rx, блок 128 Tx/Rx и/или блок 130 видеодекодера. Как показано, устройство 114 назначения может включать в себя устройство 132 отображения. Каждый из блоков 120, 128 Tx/Rx может представлять собой или может включать в себя передатчик, приемник или комбинацию передатчика и приемника (например, приемопередатчик или передатчик/приемник). Каждый из элементов 122, 126 Tx/Rx может представлять собой, например, антенну. В соответствии с настоящим описанием блок 118 видеокодера устройства-источника 112 и/или блок 130 видеодекодера устройства 114 назначения могут быть выполнены с возможностью и/или адаптированы (обобщенно «адаптированы») для применения методик кодирования, предложенных в настоящем документе.Source device 112 may include a
Устройства 112 и 114 источника и назначения могут включать в себя другие элементы/компоненты или конструкции. Например, устройство-источник 112 может быть выполнено с возможностью приема видеоданных от внешнего источника видео. Устройство 114 назначения может взаимодействовать с внешним устройством отображения (не показано) и/или может включать в себя и/или использовать (например, интегрированное) устройство 132 отображения. В некоторых вариантах осуществления поток данных, сгенерированный блоком 118 видеокодера, может быть передан на другие устройства без модуляции данных несущим сигналом, например, путем прямой цифровой передачи, а другие устройства могут модулировать или не модулировать данные для передачи.Source and destination devices 112 and 114 may include other elements/components or structures. For example, source device 112 may be configured to receive video data from an external video source. Destination device 114 may communicate with an external display device (not shown) and/or may include and/or use (eg, integrated)
Предложенные в настоящем документе методики можно реализовать с помощью любого устройства цифрового кодирования и/или декодирования видео. Хотя методики, предложенные в настоящем документе, по существу выполняют с помощью отдельных устройств кодирования видео и/или декодирования видео, эти методики также могут быть выполнены с помощью объединенного кодера/декодера видео, обычно называемого «КОДЕКОМ». Предложенные в настоящем документе методики также могут выполняться процессором предварительной обработки видео или т.п. Устройство-источник 112 и устройство 114 назначения являются лишь примерами таких кодирующих устройств, в которых устройство-источник 112 может генерировать (и/или может принимать видеоданные и может генерировать) кодированную видеоинформацию для передачи в устройство 114 назначения. В некоторых типовых вариантах осуществления устройства 112, 114 источника и назначения могут работать по существу симметричным образом, так что каждое из устройств 112, 114 может включать в себя компоненты и/или элементы как кодирования, так и декодирования видео (обобщенно называемые «элементами»). Таким образом, система 100 может поддерживать любую из односторонней и двусторонней передачи видео между устройствами 112, 114 источника и назначения (например, помимо прочего, для любого варианта из потоковой передачи видео, воспроизведения видео, широковещательной передачи видео, видеотелефонии и/или видеоконференций). В некоторых типовых вариантах осуществления устройство-источник 112 может представлять собой, например, сервер потоковой передачи видео, выполненный с возможностью генерирования (и/или приема видеоданных и генерирования) кодированной видеоинформации для одного или более устройств назначения, причем устройства назначения могут обмениваться данными с устройством-источником 112 по системам проводной и/или беспроводной связи.The techniques proposed herein can be implemented using any digital video encoding and/or decoding device. Although the techniques proposed herein are essentially performed with separate video encoders and/or video decoders, these techniques can also be performed with a combined video encoder/decoder, commonly referred to as a "CODEC". The techniques provided herein may also be performed by a video pre-processor or the like. Source device 112 and destination device 114 are only examples of such encoders in which source device 112 can generate (and/or can receive video data and can generate) encoded video information for transmission to destination device 114. In some exemplary embodiments, source and destination devices 112, 114 may operate in a substantially symmetrical manner such that each of devices 112, 114 may include components and/or elements of both video encoding and decoding (collectively referred to as "elements") . Thus, system 100 can support any one-way and two-way video transmission between source and destination devices 112, 114 (eg, but not limited to any of video streaming, video playback, video broadcast, video telephony, and/or video conferencing). In some exemplary embodiments, source device 112 may be, for example, a video streaming server configured to generate (and/or receive video data and generate) encoded video information for one or more destination devices, wherein the destination devices can communicate with the device. -source 112 via wired and/or wireless communication systems.
Внешний источник видео и/или источник 124 видео могут представлять собой и/или включать в себя устройство видеозахвата, такое как видеокамера, видеоархив, содержащий ранее захваченное видео, и/или видеопоток от провайдера видеосодержимого. В некоторых типовых вариантах осуществления внешний источник видео и/или источник 124 видео могут генерировать данные на основе компьютерных графических изображений в качестве исходного видео или комбинацию видео в реальном времени, архивированного видео и/или генерируемого компьютером видео. В некоторых типовых вариантах осуществления, если источник 124 видео представляет собой видеокамеру, устройство-источник 112 и устройство 114 назначения могут представлять собой камерофоны или видеотелефоны или могут иметь их в своем составе.The external video source and/or
Захваченные, предварительно захваченные, сгенерированные компьютером видео, видеопоток и/или другой тип видеоданных (обобщенно называются «некодированным видео») можно подвергать кодированию с помощью блока 118 видеокодера для формирования кодированной видеоинформации. Блок 120 Tx/Rx может модулировать кодированную видеоинформацию (например, в соответствии со стандартом связи для формирования одного или более модулированных сигналов, содержащих кодированную видеоинформацию). Блок 120 Tx/Rx может передавать модулированные сигналы на свой передатчик для передачи. Передатчик может передавать модулированные сигналы на устройство 114 назначения посредством элемента 122 Tx/Rx.The captured, pre-captured, computer-generated video, video stream, and/or other type of video data (collectively referred to as "non-encoded video") may be encoded by the
В устройстве 114 назначения блок 128 Tx/Rx может принимать модулированные сигналы по каналу 116 посредством элемента 126 Tx/Rx. Блок 128 Tx/Rx может демодулировать модулированные сигналы для получения кодированной видеоинформации. Блок 128 Tx/Rx может передавать кодированную видеоинформацию в блок 130 видеодекодера.At destination device 114, Tx/Rx unit 128 can receive modulated signals over
Блок 130 видеодекодера может декодировать кодированную видеоинформацию для получения декодированных видеоданных. Кодированная видеоинформация может включать в себя синтаксическую информацию, определенную блоком 118 видеокодера. Эта синтаксическая информация может включать в себя один или более элементов («элементы синтаксиса»), некоторые или все из которых могут быть полезны для декодирования кодированной видеоинформации. Элементы синтаксиса могут включать в себя, например, характеристики кодированной видеоинформации. Элементы синтаксиса также могут включать в себя характеристики и/или описывать обработку некодированного видео, используемого для формирования кодированной видеоинформации.The
Блок 130 видеодекодера может выводить декодированные видеоданные для последующего хранения и/или отображения на внешний дисплей (не показан). В некоторых типовых вариантах осуществления блок 130 видеодекодера может выводить декодированные видеоданные на устройство 132 отображения. Устройство 132 отображения может представлять собой и/или может включать в себя любое отдельное устройство отображения, множество, комбинацию различных устройств отображения, выполненных с возможностью отображения декодированных видеоданных для пользователя. Примеры таких устройств отображения включают в себя, помимо прочего, жидкокристаллический дисплей (ЖКД), плазменный дисплей, дисплей на основе органических светодиодов (OLED) и/или катодную лучевую трубку (ЭЛТ).The
Канал 116 связи может представлять собой любую среду беспроводной или проводной связи, такую как радиочастотный (РЧ) спектр, или одну или более физических линий передачи, или любую комбинацию беспроводных и проводных сред. Канал 116 связи может быть частью пакетной сети, такой как локальная сеть, территориально распределенная сеть или глобальная сеть, такая как сеть Интернет. Канал 116 связи по существу представляет собой любую подходящую среду связи или набор различных сред связи для передачи видеоданных от устройства-источника 112 к устройству 114 назначения, включая любую подходящую комбинацию проводных и/или беспроводных сред. Канал 116 связи может включать в себя маршрутизаторы, переключатели, базовые станции и/или любое другое оборудование, которое может быть полезным для облегчения передачи данных от устройства-источника 112 к устройству 114 назначения. Подробная информация по иллюстративной системе связи, которая может облегчать такую связь между устройствами 112, 114, приведена ниже со ссылкой на фиг. 15A–15E. Ниже также приведены подробные сведения об устройствах 112, 114 источника и назначения.
Блок 118 видеокодера и блок 130 видеодекодера могут работать в соответствии с одним или более стандартами и/или спецификациями, такими как, например, помимо прочего, MPEG-2, H.261, H.263, H.264, H.264/AVC и/или H.264, расширенные в соответствии с расширениями SVC (H.264/SVC). Специалисту в данной области понятно, что способы, устройства и/или системы, описанные в настоящем документе, применимы к другим видеокодерам, декодерам и/или КОДЕКам, реализованным в соответствии с разными стандартами (и/или совместимым с ними), или к запатентованным видеокодерам, декодерам и/или КОДЕКам, включая будущие видеокодеры, декодеры и/или КОДЕКи. Методики, изложенные в настоящем документе, не ограничены каким-либо конкретным стандартом кодирования.
Релевантные части H.264/AVC, упомянутые выше, доступны в Международном союзе электросвязи в качестве рекомендации ITU-T Recommendation H.264 или точнее ITU-T Rec. H.264 и ISO/IEC 14496-10 (MPEG4-AVC), Advanced Video Coding for Generic Audiovisual Services,’v5, март, 2010 г., которая включена в настоящий документ путем ссылки и которая может называться в настоящем документе стандартом H.264, спецификацией H.264, стандартом и/или спецификацией H.264/AVC. Методики, представленные в настоящем документе, можно применять к устройствам, которые соответствуют (например, в целом соответствуют) стандарту H.264.The relevant parts of H.264/AVC mentioned above are available from the International Telecommunication Union as ITU-T Recommendation H.264 or more specifically ITU-T Rec. H.264 and ISO/IEC 14496-10 (MPEG4-AVC), Advanced Video Coding for Generic Audiovisual Services,'v5, March 2010, which is incorporated herein by reference and which may be referred to herein as the H. 264, H.264 specification, standard and/or H.264/AVC specification. The techniques presented herein can be applied to devices that conform (eg, generally conform) to the H.264 standard.
Хотя это и не показано на фиг. 1A, каждый из блоков 118, 130 видеокодера и видеодекодера может включать в себя аудиокодер и/или аудиодекодер (при необходимости) и/или может быть объединен с ним. Блоки 118, 130 видеокодера и видеодекодера могут включать в себя соответствующие блоки MUX-DEMUX или другое аппаратное и/или программное обеспечение для обработки кодирования как аудиосигнала, так и видеосигнала в общем потоке данных и/или в отдельных потоках данных. Если применимо, блоки MUX-DEMUX могут соответствовать, например, протоколу мультиплексора и/или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP), согласно рекомендации ITU-T Recommendation H.223.Although not shown in FIG. 1A, each of the video encoder and video decoder blocks 118, 130 may include and/or be combined with an audio encoder and/or audio decoder (if necessary). The video encoder and
Один или более блоков 118, 130 видеокодера и/или видеодекодера могут быть включены в один или более кодеров и/или декодеров, любой из них может быть интегрирован в состав КОДЕКА и может быть интегрирован и/или совмещен, помимо прочего, с соответствующей камерой, компьютером, мобильным устройством, абонентским устройством, широковещательным устройством, телевизионной приставкой и/или сервером. Блок 118 видеокодера и/или блок 130 видеодекодера могут быть реализованы в виде любой из множества подходящих схем кодера и/или декодера соответственно, таких как один или более микропроцессоров, цифровых сигнальных процессоров (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретных логических схем, программного обеспечения, аппаратного обеспечения, микропрограммного обеспечения или любых их комбинаций. Один или оба из блоков 118, 130 видеокодера и видеодекодера могут быть по существу реализованы в виде программного обеспечения, а операции элементов блока 118 видеокодера и/или блока 130 видеодекодера могут быть выполнены с помощью соответствующих программных инструкций, исполняемых одним или более процессорами (не показаны). Такой вариант осуществления в дополнение к процессору может содержать компоненты вне кристалла, например, помимо прочего, внешнее запоминающее устройство (например, в виде энергонезависимого запоминающего устройства) и/или интерфейсы ввода/вывода.One or more video encoder and/or video decoder blocks 118, 130 may be included in one or more encoders and/or decoders, any of which may be integrated into a CODEC and may be integrated and/or combined with, among other things, a corresponding camera, computer, mobile device, subscriber device, broadcast device, set-top box and/or server.
В любом варианте осуществления, в котором операции элементов блоков 118, 130 видеокодера и/или видеодекодера могут выполняться с помощью программных инструкций, исполняемых одним или более процессорами, программные инструкции могут храниться на машиночитаемом носителе, включая, например, помимо прочего, магнитные диски, оптические диски, любое другое энергозависимое (например, оперативное запоминающее устройство (ОЗУ)), энергонезависимое (например, постоянное запоминающее устройство (ПЗУ)) и/или запоминающее устройство большой емкости, считываемое ЦП. Машиночитаемый носитель может включать в себя взаимодействующий или взаимосвязанный машиночитаемый носитель, который может применяться исключительно в системе обработки и/или распределен между множеством взаимосвязанных систем обработки, которые могут быть локальными или удаленными по отношению к указанной системе обработки.In any embodiment in which the operations of the elements of video encoder and/or video decoder blocks 118, 130 may be performed by software instructions executable by one or more processors, the software instructions may be stored on a computer-readable medium, including, for example, but not limited to, magnetic disks, optical disks, any other volatile (eg, random access memory (RAM)), non-volatile (eg, read only memory (ROM)) and/or mass storage device readable by the CPU. The computer-readable medium may include an interoperable or interconnected computer-readable medium that may be used exclusively within a processing system and/or distributed among a plurality of interconnected processing systems, which may be local or remote to said processing system.
На фиг. 1B показана блок-схема, иллюстрирующая пример блока 118 видеокодера для использования с системой кодирования и/или декодирования видео, такой как система 100. Блок 118 видеокодера может включать в себя видеокодер 133, выходной буфер 134 и системный контроллер 136. Видеокодер 133 (или один или более его элементов) может быть реализован в соответствии с одним или более стандартами и/или спецификациями, такими как, например, помимо прочего, H.261, H.263, H.264, H.264/AVC, расширения SVC H.264/AVC (H.264/AVC Annex G), HEVC и/или масштабируемые расширения HEVC (SHVC). Специалисту в данной области будет понятно, что способы, устройства и/или системы, представленные в настоящем документе, могут быть применимы к другим видеокодерам, реализованным в соответствии с различными стандартами и/или запатентованными КОДЕКами, включая будущие КОДЕКи.In FIG. 1B is a block diagram illustrating an example
Видеокодер 133 может принимать видеосигнал, поступающий от источника видео, такого как источник 124 видео и/или внешний источник видео. Этот видеосигнал может включать в себя некодированное видео. Видеокодер 133 может кодировать некодированное видео и предоставлять на своем выходе кодированный (т.е. сжатый) битовый поток (BS) видео.
Кодированный битовый видеопоток BS может быть передан в выходной буфер 134. Выходной буфер 134 может буферизовать кодированный битовый видеопоток BS и может предоставлять такой кодированный битовый видеопоток BS в виде буферизованного битового потока (BBS) для передачи по каналу 116 связи.The encoded video bitstream of the BS may be sent to an
Буферизованный битовый поток BBS, выводимый из выходного буфера 134, может быть отправлен на устройство хранения (не показано) для последующего просмотра или передачи. В некоторых типовых вариантах осуществления блок 118 видеокодера может быть выполнен с возможностью визуальной связи, при которой буферизованный битовый поток BBS может быть передан по каналу 116 связи с заданной постоянной и/или переменной битовой скоростью (например, с задержкой (например, с очень низкой или минимальной задержкой)).The buffered BBS bitstream output from
Кодированный битовый видеопоток BS и в свою очередь буферизованный битовый поток BBS могут переносить биты кодированной видеоинформации. Биты буферизованного битового потока BBS могут быть упорядочены в виде потока кодированных видеокадров. Кодированные видеокадры могут представлять собой интракодированные кадры (например, I-кадры) или интеркодированные кадры (например, B-кадры и/или P-кадры). Поток кодированных видеокадров может быть упорядочен, например, в виде серии групп изображений (GOP), причем кодированные видеокадры каждой GOP расположены в указанном порядке. Как правило, каждая GOP может начинаться с интракодированного кадра (например, I-кадра), за которым следуют один или более интеркодированных кадров (например, P-кадры и/или B-кадры). Каждая GOP может включать в себя только один интракодированный кадр, хотя любая из групп GOP может включать в себя множество таких кадров. Предполагается, что B-кадры могут не использоваться для приложений в реальном времени с низкой задержкой, поскольку, например, двунаправленное прогнозирование может приводить к дополнительной задержке кодирования по сравнению с однонаправленным прогнозированием (P-кадры). Можно использовать дополнительные и/или другие типы кадров, и конкретный порядок кодированных видеокадров можно изменить, как будет понятно специалисту в данной области.The encoded video bitstream BS and in turn the buffered bitstream BBS may carry bits of encoded video information. The bits of the buffered BBS bitstream may be ordered as a stream of encoded video frames. The encoded video frames may be intra-coded frames (eg, I-frames) or inter-coded frames (eg, B-frames and/or P-frames). The encoded video frame stream may be ordered, for example, as a series of groups of pictures (GOPs), with the encoded video frames of each GOP arranged in that order. Typically, each GOP may begin with an intra-coded frame (eg, I-frame) followed by one or more inter-coded frames (eg, P-frames and/or B-frames). Each GOP may include only one intra-coded frame, although any of the GOPs may include multiple such frames. It is contemplated that B-frames may not be used for low latency real-time applications because, for example, bidirectional prediction may result in additional coding delay compared to unidirectional prediction (P-frames). Additional and/or other types of frames may be used, and the specific order of the encoded video frames may be changed, as will be appreciated by one of ordinary skill in the art.
Каждая GOP может включать в себя данные синтаксиса («данные синтаксиса GOP»). Данные синтаксиса GOP могут быть расположены в заголовке GOP, в заголовке одного или более кадров GOP и/или в другом месте. Данные синтаксиса GOP могут указывать порядок, количество или тип и/или описывать кодированные видеокадры соответствующей GOP. Каждый кодированный видеокадр может включать в себя данные синтаксиса («данные синтаксиса кодированного кадра»). Данные синтаксиса кодированного кадра могут указывать и/или описывать режим кодирования для соответствующего кодированного видеокадра.Each GOP may include syntax data ("GOP syntax data"). The GOP syntax data may be located in the GOP header, in the header of one or more GOP frames, and/or elsewhere. The GOP syntax data may indicate the order, number, or type and/or describe the encoded video frames of the corresponding GOP. Each encoded video frame may include syntax data ("encoded frame syntax data"). The encoded frame syntax data may indicate and/or describe an encoding mode for a corresponding encoded video frame.
Системный контроллер 136 может отслеживать различные параметры и/или ограничения, связанные с каналом 116, вычислительные возможности блока 118 видеокодера, требования пользователей и т. п. и может устанавливать целевые параметры для обеспечения сопутствующего качества восприятия услуг (QoE), подходящего для указанных ограничений и/или условий канала 116. Один или более целевых параметров могут корректироваться по времени или периодически в зависимости от указанных ограничений и/или состояний канала. В качестве примера QoE можно оценивать количественно с использованием одного или более показателей для оценки качества видео, включая, например, показатель, обычно называемый относительным качеством восприятия кодированных видеопоследовательностей. Относительное качество восприятия кодированных видеопоследовательностей, измеренное, например, с помощью пикового отношения сигнал/шум (PSNR), может контролироваться скоростью передачи битов (BR) кодированного битового потока BS. Один или более целевых параметров (включая, например, параметр квантования (QP)) можно скорректировать для максимального увеличения относительного качества восприятия видео в пределах ограничений, связанных со скоростью передачи битов в кодированном битовом потоке BS.The system controller 136 may monitor various parameters and/or constraints associated with the
На фиг. 2 показана блок-схема гибридного блочного видеокодера 200 для использования с системой кодирования и/или декодирования видео, такой как система 100.In FIG. 2 shows a block diagram of a hybrid block video encoder 200 for use with a video encoding and/or decoding system, such as system 100.
Как показано на фиг. 2, гибридная система 200 блочного кодирования может включать в себя, помимо прочего, блок 204 преобразования, блок 206 квантования, блок 208 энтропийного кодирования, блок 210 обратного квантования, блок 212 обратного преобразования, первый сумматор 216, второй сумматор 226, блок 260 пространственного прогнозирования, блок 262 прогнозирования движения, хранилище 264 эталонных изображений, один или более фильтров 266 (например, петлевых фильтров) и/или блок 280 выбора режима и управления кодером.As shown in FIG. 2, the hybrid block coding system 200 may include, but is not limited to, a
Подробная информация о видеокодере 200 приведена исключительно в качестве иллюстрации, и реальные варианты реализации могут различаться. Например, практический вариант реализации может включать в себя большее, меньшее количество элементов и/или разные элементы, и/или он может быть организован иным образом по отношению к компоновке, показанной на фиг. 2. Например, некоторые или все функциональные возможности как блока преобразования 204, так и блока квантования 206, хотя они и показаны отдельно, можно в значительной степени интегрировать в некоторые практические варианты реализации, такие как, например, варианты реализации, в которых используют базовое преобразование по стандарту H.264. Аналогично блок 210 обратного квантования и блок 212 обратного преобразования можно в значительной степени интегрировать в некоторые практические варианты реализации (например, варианты реализации, совместимые со стандартами H.264 или HEVC), но они также проиллюстрированы отдельно для концептуальных целей.The details of video encoder 200 are provided for illustrative purposes only and actual implementations may vary. For example, a practical implementation may include more, fewer, and/or different elements, and/or it may be organized differently from the arrangement shown in FIG. 2. For example, some or all of the functionality of both
Как описано выше, видеокодер 200 может принимать видеосигнал на своем входе 202. Видеокодер 200 может формировать кодированную видеоинформацию из принятого некодированного видео и выводить кодированную видеоинформацию (например, любой из интракадров или интеркадров) со своего выхода 220 в форме кодированного битового видеопотока BS. Видеокодер 200 может функционировать, например, как гибридный видеокодер и использовать способ блочного кодирования для кодирования некодированного видео. При выполнении такого способа кодирования видеокодер 200 может работать с отдельными кадрами, картинками и/или изображениями (обобщенно называемыми «некодированными изображениями») некодированного видео.As described above, video encoder 200 may receive video at its
Для упрощения способа блочного кодирования видеокодер 200 может нарезать, разбивать, разделять и/или сегментировать (обобщенно — «сегментировать») каждое некодированное изображение, полученное на его входе 202, на множество некодированных видеоблоков. Например, видеокодер 200 может сегментировать некодированное изображение на множество некодированных видеосегментов (например, срезов) и может (например, впоследствии может) сегментировать каждый из некодированных видеосегментов на некодированные видеоблоки. Видеокодер 200 может передавать, подавать, отправлять или предоставлять некодированные видеоблоки блоку 260 пространственного прогнозирования, блоку 262 прогнозирования движения, блоку 280 выбора режима и управления кодером и/или первому сумматору 216. Как более подробно описано ниже, некодированные видеоблоки могут быть предоставлены поблочно.To simplify the block coding method, video encoder 200 may slice, split, split, and/or segment (generally, "segment") each non-encoded image received at its
Блок 260 пространственного прогнозирования может принимать некодированные видеоблоки и кодировать такие видеоблоки в интрарежиме. Термин «интрарежим» относится к любому из нескольких режимов пространственного сжатия, и кодирование в интрарежиме обеспечивает пространственное сжатие некодированного изображения. Пространственное сжатие, при наличии, может быть результатом уменьшения или удаления пространственной избыточности видеоинформации в некодированном изображении. При формировании блоков прогнозирования блок 260 пространственного прогнозирования может выполнять пространственное прогнозирование (или «интрапрогнозирование») каждого некодированного видеоблока по отношению к одному или более видеоблокам некодированного изображения, которые уже подверглись кодированию («кодированные видеоблоки») и/или были восстановлены («восстановленные видеоблоки»). Кодированные и/или восстановленные видеоблоки могут быть соседними, смежными или расположенными рядом (например, в непосредственной близости) с некодированным видеоблоком.
Блок 262 прогнозирования движения может принимать некодированные видеоблоки со входа 202 и кодировать их в интеррежиме. Термин «интеррежим» относится к любому из нескольких режимов временного сжатия, включая, например, P-режим (однонаправленное прогнозирование) и/или B-режим (двунаправленное прогнозирование). Кодирование в интеррежиме обеспечивает временное сжатие некодированного изображения. Временное сжатие, при наличии, может быть результатом уменьшения или удаления временной избыточности видеоинформации между некодированным изображением и одним или более эталонными (например, смежными) изображениями. Блок 262 временного прогнозирования / прогнозирования движения может выполнять временное прогнозирование (или «интерпрогнозирование») каждого некодированного видеоблока относительно одного или более видеоблоков эталонных изображений («эталонных видеоблоков»). Выполняемое временное прогнозирование может представлять собой однонаправленное прогнозирование (например, для P-режима) и/или двунаправленное прогнозирование (например, для B-режима).
Для однонаправленного прогнозирования эталонные видеоблоки могут быть получены из одного или более ранее кодированных и/или восстановленных изображений. Кодированное и/или восстановленное изображение или изображения может (могут) быть соседним(-ими), смежным(-ыми) или расположенным(-ыми) рядом с некодированным изображением.For unidirectional prediction, reference video blocks may be obtained from one or more previously encoded and/or reconstructed pictures. The encoded and/or reconstructed image or images may be neighboring(s), adjacent(s), or adjacent(s) to the unencoded image.
Для двунаправленного прогнозирования эталонные видеоблоки могут быть получены из одного или более ранее кодированных и/или восстановленных изображений. Кодированные и/или восстановленные изображения могут быть соседними, смежными или расположенными рядом с некодированным изображением.For bidirectional prediction, reference video blocks may be obtained from one or more previously encoded and/or reconstructed pictures. The encoded and/or reconstructed pictures may be adjacent, contiguous, or adjacent to the non-encoded picture.
При использовании множества эталонных изображений (что может относиться к последним стандартам кодирования видео, таким как H.264/AVC и/или HEVC) индекс эталонного изображения для каждого видеоблока может быть отправлен в блок 208 энтропийного кодирования для последующего вывода и/или передачи. Эталонный индекс можно использовать для идентификации того, от какого эталонного изображения или изображений в хранилище 264 эталонных изображений поступает сигнал временного прогнозирования.When using multiple reference pictures (which may be the latest video coding standards such as H.264/AVC and/or HEVC), a reference picture index for each video block may be sent to
Хотя обычно функции блока 262 временного прогнозирования/прогнозирования движения для оценки движения и компенсации движения в значительной степени интегрированы, они могут выполняться отдельными объектами или блоками (не показаны). Оценку движения можно выполнять для оценки движения для каждого некодированного видеоблока относительно видеоблоков эталонного изображения, и это может включать генерирование вектора движения для некодированного видеоблока. Вектор движения может указывать смещение блока прогнозирования относительно кодируемого некодированного видеоблока. Этот блок прогнозирования представляет собой видеоблок эталонного изображения, который, как обнаружено, имеет близкое соответствие, например, с точки зрения разности пикселей кодируемого некодированного видеоблока. Соответствие может быть определено суммой абсолютной разности (SAD), суммой квадратичной разности (SSD) и/или другими показателями разности. Компенсация движения может включать выборку и/или генерирование блока прогнозирования на основе вектора движения, определенного посредством оценки движения.While typically highly integrated, the functions of temporal prediction/
Блок 262 прогнозирования движения может вычислять вектор движения для некодированного видеоблока путем сравнения некодированного видеоблока с эталонными видеоблоками из эталонных изображений в хранилище 264 эталонных изображений. Блок 262 прогнозирования движения может вычислять значения для положений дробных пикселей эталонного изображения, включенного в хранилище 264 эталонных изображений. В некоторых случаях сумматор 226 или другой блок видеокодера 200 может вычислять значения положений дробных пикселей для восстановленных видеоблоков и может сохранять восстановленные видеоблоки с вычисленными значениями для положений дробных пикселей в хранилище 264 эталонных изображений. Блок 262 прогнозирования движения может интерполировать субцелочисленные пиксели эталонного изображения (например, I-кадра, и/или P-кадра, и/или B-кадра).
Блок 262 прогнозирования движения может быть выполнен с возможностью кодирования вектора движения относительно выбранного параметра прогнозирования движения. Параметр прогнозирования движения, выбранный блоком 262 временного прогнозирования / прогнозирования движения, может представлять собой, например, вектор, эквивалентный среднему значению векторов движения соседних блоков, которые уже подвергались кодированию. Для кодирования вектора движения некодированного видеоблока блок 262 временного прогнозирования/прогнозирования движения может вычислять разницу между вектором движения и параметром прогнозирования движения для формирования значения разницы вектора движения.The
В стандартах H.264 и HEVC набор потенциальных эталонных кадров рассматривают как «список». Такому списку эталонных кадров может соответствовать набор эталонных изображений в хранилище 264 эталонных изображений. Блок 262 временного прогнозирования / прогнозирования движения может сравнивать эталонные видеоблоки эталонных изображений из хранилища 264 эталонных изображений с некодированным видеоблоком (например, P-кадра или B-кадра). Когда эталонные изображения в хранилище 264 эталонных изображений включают значения для субцелочисленных пикселей, вектор движения, вычисленный блоком 262 временного прогнозирования / прогнозирования движения, может относиться к субцелочисленному местоположению пикселя эталонного изображения. Блок 262 временного прогнозирования / прогнозирования движения может отправлять вычисленный вектор движения в блок 208 энтропийного кодирования и функциям компенсации движения блока 262 временного прогнозирования / прогнозирования движения. Блок 262 прогнозирования движения (или его функции компенсации движения) может (могут) вычислять значения ошибок для блока прогнозирования относительно кодируемого некодированного видеоблока. Блок 262 прогнозирования движения может вычислять данные для прогнозирования на основе блока прогнозирования.In the H.264 and HEVC standards, a set of potential reference frames is considered as a "list". Such a list of reference frames may correspond to a set of reference images in the
Блок 280 выбора режима и управления кодером может выбирать один из режимов кодирования — интрарежим или интеррежим. Блок 280 выбора режима и управления кодером может выполнять это на основании, например, способа оптимизации соотношения «искажения – скорость передачи данных» и/или результатов ошибок, полученных в каждом режиме.Block 280 mode selection and encoder control can select one of the coding modes - intramode or intermode. The mode selector and
Видеокодер 200 может формировать блок остатков («остаточный видеоблок») путем вычитания данных для прогнозирования, предоставляемых блоком 262 прогнозирования движения, из кодируемого некодированного видеоблока. Сумматор 216 представляет собой элемент или множество элементов, которые могут выполнять эту операцию вычитания.Video encoder 200 may generate a residual block ("residual video block") by subtracting the prediction data provided by
Блок 204 преобразования может применять преобразование к остаточному видеоблоку для преобразования такого остаточного видеоблока из области значений пикселя в область преобразования, такую как частотная область. Преобразование может представлять собой, например, любое из представленных в настоящем документе преобразований, дискретное косинусное преобразование (DCT) или концептуально подобное преобразование. Другие примеры преобразования включают в себя преобразования, помимо прочего, определенные в H.264 и/или HEVC, вейвлет-преобразования, целочисленные преобразования и/или поддиапазонные преобразования. Когда блок 204 преобразования применяет преобразование к остаточному видеоблоку, создается соответствующий блок коэффициентов преобразования остаточного видеоблока («коэффициенты остаточного преобразования»). Эти коэффициенты остаточного преобразования могут представлять собой величины частотных компонентов остаточного видеоблока. Блок 204 преобразования может пересылать коэффициенты остаточного преобразования в блок 206 квантования.A
Блок 206 квантования может квантовать коэффициенты остаточного преобразования для дополнительного уменьшения скорости передачи кодированных битов. Например, процесс квантования может уменьшать битовую глубину, связанную с некоторыми или всеми коэффициентами остаточного преобразования. В определенных случаях блок 206 квантования может выполнять деление значения коэффициентов остаточного преобразования на уровень квантования, соответствующий QP, с формированием блока квантованных коэффициентов преобразования. Степень квантования можно изменять путем регулирования значения QP. Блок 206 квантования может применять квантование для представления коэффициентов остаточного преобразования с использованием желаемого числа шагов квантования; количество используемых шагов (или значение уровня квантования соответственно) может определять количество кодированных видеобитов, используемых для представления остаточного видеоблока. Блок 206 квантования может получать значение QP от контроллера скорости передачи (не показано). После квантования блок 206 квантования может предоставлять квантованные коэффициенты преобразования в блок 208 энтропийного кодирования и в блок 210 обратного квантования.
Блок 208 энтропийного кодирования может применять энтропийное кодирование к квантованным коэффициентам преобразования для формирования энтропийно-кодированных коэффициентов (т.е. битового потока). Для формирования коэффициентов энтропийного кодирования блок 208 энтропийного кодирования может использовать адаптивное кодирование с переменной длиной (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и/или другую методику энтропийного кодирования. Для кодирования CABAC, как понятно специалистам в данной области, может требоваться ввод контекстной информации («контекста»). Например, этот контекст может быть основан на соседних видеоблоках.
Блок 208 энтропийного кодирования может предоставлять энтропийно-кодированные коэффициенты вместе с векторами движения и одним или более индексами эталонных изображений в виде битового потока необработанного кодированного видео для внутреннего формата битового потока (не показан). Этот формат битового потока может формировать кодированный битовый видеопоток BS, поступающий в выходной буфер 134 (фиг. 1B), путем добавления дополнительной информации о необработанном кодированном битовом видеопотоке, включая заголовки и/или другую информацию, позволяющую, например, блоку 300 видеодекодера (фиг. 3) декодировать кодированный видеоблок из необработанного кодированного битового видеопотока. После энтропийного кодирования кодированный битовый видеопоток BS, полученный из блока 208 энтропийного кодирования, может выводиться, например, в выходной буфер 134 и может передаваться, например, в устройство 114 назначения по каналу 116 или архивироваться для последующей передачи или извлечения.
В определенных типовых вариантах осуществления блок 208 энтропийного кодирования или другой блок 133, 200 видеокодера может быть выполнен с возможностью выполнения других функций кодирования в дополнение к энтропийному кодированию. Например, блок 208 энтропийного кодирования может быть выполнен с возможностью определения значений шаблона блока кода (CBP) для видеоблоков. В некоторых типовых вариантах осуществления блок 208 энтропийного кодирования может выполнять кодирование длин серий квантованных коэффициентов преобразования в видеоблоке. В качестве примера блок 208 энтропийного кодирования может применять зигзагообразное сканирование или другой шаблон сканирования для упорядочения квантованных коэффициентов преобразования в видеоблоке и кодирования серий нулей для дополнительного сжатия. Блок 208 энтропийного кодирования может создавать информацию заголовка с соответствующими элементами синтаксиса для передачи в кодированном битовом видеопотоке BS.In certain exemplary embodiments,
Блок 210 обратного квантования и блок 212 обратного преобразования могут применять обратное квантование и обратное преобразование соответственно для восстановления остаточного видеоблока в пиксельной области, например, для последующего использования в качестве одного из эталонных видеоблоков (например, в одном из эталонных изображений в списке эталонных изображений).An
Блок 280 выбора режима и управления кодером может вычислять эталонный видеоблок путем добавления восстановленного остаточного видеоблока к блоку прогнозирования одного из эталонных изображений в хранилище 264 эталонных изображений. Блок 280 выбора режима и управления кодером может применять один или более интерполяционных фильтров к восстановленному остаточному видеоблоку для вычисления значений субцелочисленных пикселей (например, для положений полупикселей) при использовании в оценке движения.The mode selection and
Сумматор 226 может добавлять восстановленный остаточный видеоблок к видеоблоку прогнозирования с компенсацией движения, чтобы сформировать восстановленный видеоблок для хранения в хранилище 264 эталонных изображений. Восстановленный видеоблок (в области значений пикселей) может использоваться блоком 262 прогнозирования движения (или его функциями оценки движения и/или его функциями компенсации движения) в качестве одного из эталонных блоков для интеркодирования некодированного видеоблока в последующем некодированном видео.
Фильтры 266 (например, петлевые фильтры) могут включать в себя фильтр деблокирования. Фильтр деблокирования может функционировать с возможностью удаления визуальных артефактов, которые могут присутствовать в восстановленных макроблоках. Эти артефакты могут вводиться в процесс кодирования, например, из-за использования различных режимов кодирования, таких как режим I-типа, P-типа или B-типа. Артефакты могут присутствовать, например, на границах и/или краях принятых видеоблоков, а фильтр деблокирования может функционировать с возможностью сглаживания границ и/или краев видеоблоков для улучшения визуального качества. Фильтр деблокирования может фильтровать выходной сигнал сумматора 226. Фильтры 266 могут включать в себя другие внутрипетлевые фильтры, такие как фильтр адаптивного смещения отсчетов (SAO), поддерживаемый стандартом HEVC.Filters 266 (eg, loop filters) may include a deblocking filter. The deblocking filter may be operable to remove visual artifacts that may be present in the reconstructed macroblocks. These artifacts may be introduced into the encoding process, for example, due to the use of different encoding modes such as I-type, P-type, or B-type. Artifacts may be present, for example, at the boundaries and/or edges of the received video blocks, and the deblocking filter may function to smooth the boundaries and/or edges of the video blocks to improve visual quality. The deblocking filter may filter the output of
На фиг. 3 приведена блок-схема, иллюстрирующая пример видеодекодера 300 для использования с блоком видеодекодера, таким как блок 130 видеодекодера, показанный на фиг. 1A. Видеодекодер 300 может включать в себя вход 302, блок 308 энтропийного декодирования, блок 362 прогнозирования с компенсацией движения, блок 360 пространственного прогнозирования, блок 310 обратного квантования, блок 312 обратного преобразования, хранилище 364 эталонных изображений, фильтры 366, сумматор 326 и выход 320. Видеодекодер 300 может выполнять способ декодирования, который по существу обратен способу кодирования применительно к видеокодеру 133, 200. Этот процесс декодирования может быть выполнен, как описано ниже.In FIG. 3 is a block diagram illustrating an example of a video decoder 300 for use with a video decoder unit, such as the
Блок 362 прогнозирования с компенсацией движения может генерировать данные для прогнозирования на основе векторов движения, полученных от блока 308 энтропийного декодирования. Векторы движения могут быть кодированы относительно параметра прогнозирования движения для видеоблока, соответствующего кодированному вектору движения. Блок 362 прогнозирования с компенсацией движения может определять параметр прогнозирования движения, например, как медиану векторов движения блоков, смежных с видеоблоком, подлежащим декодированию. После определения параметра прогнозирования движения блок 362 прогнозирования с компенсацией движения может декодировать кодированный вектор движения посредством извлечения значения разницы векторов движения из кодированного битового видеопотока BS и добавления значения разницы векторов движения к параметру прогнозирования движения. Блок 362 прогнозирования с компенсацией движения может квантовать параметр прогнозирования движения до того же разрешения, что и кодированный вектор движения. В определенных типовых вариантах осуществления блок 362 прогнозирования с компенсацией движения может использовать одну и ту же точность для некоторых или всех кодированных параметров прогнозирования движения. В качестве другого примера блок 362 прогнозирования с компенсацией движения может быть выполнен с возможностью использования любого из вышеуказанных способов и определения того, какой способ следует использовать, путем анализа данных, включенных в набор параметров последовательности, набор параметров среза или набор параметров изображения, полученных из кодированного битового видеопотока BS.The motion compensated
После декодирования вектора движения блок 362 прогнозирования с компенсацией движения может извлекать видеоблок прогнозирования, идентифицированный вектором движения, из эталонного изображения хранилища 364 эталонных изображений. Если вектор движения указывает на положение дробного пикселя, например на полупиксель, блок 362 прогнозирования с компенсацией движения может интерполировать значения для положений дробных пикселей. Блок 362 прогнозирования с компенсацией движения может использовать адаптивные интерполяционные фильтры или фиксированные интерполяционные фильтры для интерполяции этих значений. Блок 362 прогнозирования с компенсацией движения может получать указания о том, какой из фильтров 366 использовать, и в различных типовых вариантах осуществления — коэффициенты для фильтров 366 из принятого кодированного битового видеопотока BS.After the motion vector is decoded, the motion compensated
Блок 360 пространственного прогнозирования может использовать режимы интрапрогнозирования, принятые в кодированном битовом видеопотоке BS, для формирования видеоблока прогнозирования из пространственно смежных блоков. Блок 310 обратного квантования может обратно квантовать (например, деквантовать квантованные коэффициенты блоков, предоставленные в закодированном битовом видеопотоке BS и декодированные блоком 308 энтропийного декодирования). Способ обратного квантования может включать стандартный способ, например согласно стандарту H.264. Способ обратного квантования может включать использование параметра QP квантования, вычисленного видеокодером 133, 200 для каждого видеоблока, для определения степени квантования и/или степени обратного квантования, которую будут использовать.The
В блоке 312 обратного преобразования к коэффициентам преобразования может применяться обратное преобразование (например, обратное любому из представленных в настоящем документе преобразований, обратное DCT, обратное целочисленное преобразование или концептуально аналогичный способ обратного преобразования) для получения остаточных видеоблоков в пиксельной области. Блок 362 прогнозирования с компенсацией движения может создавать блоки с компенсацией движения и может выполнять интерполяцию на основе интерполяционных фильтров. Идентификаторы интерполяционных фильтров для использования при оценке движения с точностью до субпикселя могут быть включены в элементы синтаксиса видеоблока. Блок 362 прогнозирования с компенсацией движения может использовать интерполяционные фильтры, используемые видеокодером 133, 200 во время кодирования видеоблока, для вычисления интерполированных значений для субцелочисленных пикселей эталонного блока. Блок 362 прогнозирования с компенсацией движения может определять интерполяционные фильтры, используемые видеокодером 133, 200, в соответствии с принятой синтаксической информацией и использовать интерполяционные фильтры для создания блоков прогнозирования.At
Блок 262 прогнозирования с компенсацией движения может использовать: (1) синтаксическую информацию для определения размеров видеоблоков, используемых для кодирования одного или более изображений кодированной видеопоследовательности; (2) информацию о разделах, которая описывает разделение каждого видеоблока кадра кодированной видеопоследовательности; (3) режимы (или информацию о режиме), указывающие, как кодируется каждый раздел; (4) одно или более эталонных изображений для каждого интеркодированного видеоблока и/или (5) другую информацию для декодирования кодированной видеопоследовательности.The motion-compensated
Сумматор 326 может суммировать остаточные блоки с соответствующими блоками прогнозирования, сгенерированными блоком 362 прогнозирования с компенсацией движения или блоком 360 пространственного прогнозирования, для формирования декодированных видеоблоков. Петлевые фильтры 366 (например, фильтры деблокирования или фильтры SAO) можно применять для фильтрации декодированных видеоблоков для удаления артефактов блочности и/или для улучшения визуального качества. Декодированные видеоблоки могут храниться в хранилище 364 эталонных изображений, которое может обеспечивать эталонные видеоблоки для последующей компенсации движения, и возможно создание декодированного видео для представления на устройстве отображения (не показано).An
Сжатие облака точекPoint cloud compression
На фиг. 4 показана структура битового потока для сжатия облака точек на основе видео (V-PCC). Сгенерированные битовые видеопотоки и метаданные мультиплексируют вместе для генерирования конечного битового потока V-PCC.In FIG. 4 shows a bitstream structure for video-based point cloud compression (V-PCC). The generated video bitstreams and metadata are multiplexed together to generate the final V-PCC bitstream.
Битовый поток V-PCC состоит из набора блоков V-PCC, как показано на фиг. 4. Синтаксис блока V-PCC согласно определению в последней версии проекта сообщества стандарта V-PCC (CD V-PCC) приведен в таблице 1, где каждый блок V-PCC имеет заголовок блока V-PCC и полезную нагрузку блока V-PCC. Заголовок блока V-PCC описывает тип блока V-PCC (таблица 2). Блоки V-PCC с типами блоков 2, 3 и 4 представляют собой блоки данных о занятости, геометрии и атрибутах, как определено в проекте сообщества. Эти блоки данных представляют собой три основных компонента, необходимых для восстановления облака точек. В дополнение к типу блока V-PCC заголовок блока V-PCC для атрибута также определяет тип атрибута и его индекс, что позволяет поддерживать множество экземпляров одного и того же типа атрибута.The V-PCC bitstream consists of a set of V-PCC blocks as shown in FIG. 4. The V-PCC block syntax as defined in the latest version of the V-PCC Standard Community Draft (V-PCC CD) is shown in Table 1, where each V-PCC block has a V-PCC block header and a V-PCC block payload. The V-PCC block header describes the V-PCC block type (Table 2). V-PCC blocks with
Полезная нагрузка блоков V-PCC для занятости, геометрии и атрибута (таблица 3) соответствует блокам видеоданных (например, блокам NAL (уровня сетевой абстракции) HEVC), которые могут быть декодированы видеодекодером, указанным в соответствующем блоке V-PCC набора параметров занятости, геометрии и атрибутов.The payload of the Occupancy, Geometry, and Attribute V-PCC blocks (Table 3) corresponds to video data blocks (e.g., HEVC NAL blocks) that can be decoded by the video decoder specified in the corresponding V-PCC block of the Occupancy, Geometry Parameter Set and attributes.
Таблица 1. Синтаксис блока V-PCCTable 1. V-PCC Block Syntax
Таблица 2. Синтаксис заголовка блока V-PCCTable 2. V-PCC Block Header Syntax
vpcc_unit_type = = VPCC_OVD | | vpcc_unit_type = = VPCC_PSD )if( vpcc_unit_type = = VPCC_AVD | | vpcc_unit_type = = VPCC_GVD | |
vpcc_unit_type == VPCC_OVD | | vpcc_unit_type == VPCC_PSD)
Таблица 3. Синтаксис полезной нагрузки блока V-PCCTable 3. V-PCC Block Payload Syntax
vpcc_unit_type = = VPCC_GVD | |
vpcc_unit_type = = VPCC_AVD)else if( vpcc_unit_type == VPCC_OVD | |
vpcc_unit_type == VPCC_GVD | |
vpcc_unit_type == VPCC_AVD)
Динамическая потоковая передача по HTTP (DASH) Dynamic Streaming over HTTP (DASH)
Динамическая адаптивная потоковая передача MPEG по HTTP (MPEG-DASH) представляет собой универсальный формат доставки, который обеспечивает конечным пользователям наилучшее возможное видеовосприятие путем динамической адаптации к изменяющимся сетевым условиям.MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH) is a generic delivery format that provides end users with the best possible video experience by dynamically adapting to changing network conditions.
Адаптивная потоковая передача по HTTP, например MPEG-DASH, требует доступности на сервере различных вариантов скорости передачи данных мультимедийного содержимого. Кроме того, мультимедийное содержимое может содержать несколько мультимедийных компонентов (например, аудио-, видео-, текстовых), каждый из которых может иметь разные характеристики. В MPEG-DASH эти характеристики представлены в описании представления мультимедиа (MPD).Adaptive streaming over HTTP, such as MPEG-DASH, requires that different bit rates of the media content be available on the server. In addition, the multimedia content may contain several multimedia components (eg, audio, video, text), each of which may have different characteristics. In MPEG-DASH, these characteristics are represented in the multimedia presentation description (MPD).
На фиг. 5 показана иерархическая модель данных MPD. MPD описывает последовательность периодов, в которой согласованный набор кодированных версий компонентов мультимедийного содержимого не изменяется в течение периода. Каждый период имеет время начала и продолжительность и состоит из одного или множества наборов адаптации (AdaptationSet).In FIG. 5 shows the hierarchical data model of the MPD. The MPD describes a sequence of periods in which the agreed set of coded versions of the media content components does not change during the period. Each period has a start time and duration and consists of one or more adaptation sets (AdaptationSet).
AdaptationSet представляет собой набор закодированных версий одного или нескольких компонентов мультимедийного содержимого с идентичными свойствами, такими как язык, тип мультимедиа, соотношение сторон изображения, роль, доступность и показатель рейтинга. Например, AdaptationSet может содержать различные скорости передачи данных видеокомпонента с одинаковым мультимедийным содержимым. Другой AdaptationSet может содержать различные скорости передачи данных аудиокомпонента (например, более низкое качество для стереозвука и более высокое качество для объемного звука) с одинаковым мультимедийным содержимым. Каждый AdaptationSet обычно включает в себя множество представлений (Representation).An AdaptationSet is a set of coded versions of one or more media content components with identical properties such as language, media type, aspect ratio, role, accessibility, and rating score. For example, an AdaptationSet may contain different bit rates of a video component with the same media content. Another AdaptationSet may contain different audio component bit rates (eg lower quality for stereo and higher quality for surround sound) with the same media content. Each AdaptationSet usually includes a set of representations (Representation).
Representation описывает доставляемую кодируемую версию одного или нескольких компонентов мультимедиа, отличающихся от других представлений скоростью передачи данных, разрешением, числом каналов или другими характеристиками. Каждое представление состоит из одного или множества сегментов. Атрибуты элемента Representation, такие как @id, @bandwidth, @qualityRanking и @dependencyId, используют для указания свойств связанного Representation. Представления также могут включать в себя субпредставления, которые являются частью представления, для описания и извлечения частичной информации из представления. Субпредставления могут обеспечивать возможность доступа к версии с более низким качеством представления, в которой они содержатся.A representation describes a delivered encoded version of one or more media components that differ from other representations in bit rate, resolution, number of channels, or other characteristics. Each view consists of one or more segments. Representation element attributes such as @id, @bandwidth, @qualityRanking, and @dependencyId are used to specify the properties of the associated Representation. Views may also include subviews that are part of the view to describe and extract partial information from the view. Subviews may provide access to a lower quality version of the view in which they are contained.
Сегмент (Segment) представляет собой наибольший блок данных, который можно получить с помощью одного HTTP-запроса. Каждый сегмент имеет URL-адрес, т.е. адресуемое местоположение на сервере, его можно загрузить с использованием HTTP GET или HTTP GET с байтовыми диапазонами.A Segment is the largest block of data that can be retrieved with a single HTTP request. Each segment has a URL, i.e. addressable location on the server, it can be downloaded using HTTP GET or HTTP GET with byte ranges.
Для использования этой модели данных DASH-клиент анализирует XML-документ MPD, выбирает подборку наборов AdaptationSet, подходящих для своей окружающей среды, на основании информации, приведенной в каждом из элементов AdaptationSet. В каждом AdaptationSet клиент выбирает одно Representation, как правило, на основании значения атрибута @bandwidth (ширины полосы), а также учитывает возможности клиента по декодированию и визуализации. Клиент загружает сегмент инициализации выбранных представлений, а затем получает доступ к содержимому, запрашивая все сегменты или байтовые диапазоны сегментов. После запуска представления клиент продолжает использовать мультимедийное содержимое, непрерывно запрашивая мультимедийные сегменты или части мультимедийных сегментов и проигрывая содержимое в соответствии с временной шкалой представления мультимедиа. Клиент может переключать представления с учетом обновленной информации из своего окружения. Клиент должен воспроизводить содержимое непрерывно по всем периодам. Как только клиент получает мультимедиа, содержащееся в Segment, ближе к концу объявленного мультимедиа в Representation, то либо прекращается представление мультимедиа, либо запускается новый период (Period), либо требуется повторная выборка MPD.To use this data model, the DASH client parses the MPD XML document, selects a selection of AdaptationSets appropriate for its environment, based on the information provided in each of the AdaptationSet elements. In each AdaptationSet, the client selects one Representation, typically based on the value of the @bandwidth attribute (bandwidth), and also considers the client's decoding and rendering capabilities. The client loads the initialization segment of the selected views and then accesses the content by requesting all segments or byte ranges of the segments. After the presentation is started, the client continues to consume the media content by continuously requesting media segments or portions of media segments and playing the content according to the media presentation timeline. The client can switch views based on updated information from its environment. The client must play the content continuously for all periods. As soon as the client receives the media contained in the Segment near the end of the declared media in the Representation, either the presentation of the media is terminated, a new Period is started, or an MPD refetch is required.
Дескрипторы в DASHDescriptors in DASH
MPEG-DASH вводит концепцию дескрипторов для предоставления ориентированной на конкретное приложение информации о мультимедийном содержимом. Все элементы дескриптора структурированы одинаково, а именно: они содержат атрибут @schemeIdUri, который обеспечивает URI для идентификации схемы, необязательный атрибут @value и необязательный атрибут @id. Семантика элемента зависит от используемой схемы. URI, идентифицирующий схему, может представлять собой универсальное имя ресурса (URN) или универсальный указатель ресурса (URL). MPD не предоставляет какую-либо конкретную информацию о том, как использовать эти элементы. Это зависит от приложения, которое использует форматы DASH для создания экземпляров элементов дескриптора с соответствующей информацией о схеме. DASH-приложения, в которых используется один из этих элементов, сначала должны определять идентификатор схемы в виде URI, а затем определять пространство значений для элемента при использовании этого идентификатора схемы. Если требуются структурированные данные, то любой элемент или атрибут расширения может быть определен в отдельном пространстве имен. Дескрипторы могут появляться на нескольких уровнях в MPD.MPEG-DASH introduces the concept of descriptors to provide application-specific information about multimedia content. All descriptor elements are structured in the same way: they contain a @schemeIdUri attribute that provides a URI to identify the scheme, an optional @value attribute, and an optional @id attribute. The semantics of the element depends on the schema used. The URI identifying the scheme can be a Uniform Resource Name (URN) or a Uniform Resource Locator (URL). MPD does not provide any specific information on how to use these elements. It depends on the application that uses DASH formats to instantiate descriptor elements with appropriate schema information. DASH applications that use one of these elements must first define a schema identifier as a URI, and then determine the value space for the element when using that schema identifier. If structured data is required, then any extension element or attribute can be defined in a separate namespace. Descriptors can appear at several levels in the MPD.
- Наличие элемента на уровне MPD означает, что этот элемент является дочерним по отношению к элементу MPD.- The presence of an element at the MPD level means that this element is a child of the MPD element.
- Наличие элемента на уровне набора адаптации означает, что этот элемент является дочерним по отношению к элементу AdaptationSet.- The presence of an element at the adaptation set level means that this element is a child of the AdaptationSet element.
- Наличие элемента на уровне представления означает, что этот элемент является дочерним по отношению к элементу Representation.- The presence of an element in the presentation layer means that this element is a child of the Representation element.
ПреднаборыPresets
В MPEG-DASH пакет представляет собой набор компонентов мультимедиа, которые могут совместно использоваться одним экземпляром декодера. Каждый пакет включает в себя основной компонент мультимедиа, который содержит специфичную для декодера информацию и загружает декодер. Преднабор (PreSelection) определяет подмножество компонентов мультимедиа в пакете, которые, как ожидается, будут использоваться совместно.In MPEG-DASH, a package is a collection of media components that can be shared by a single decoder instance. Each package includes a main media component that contains decoder-specific information and loads the decoder. A PreSelection defines a subset of media components in a package that are expected to be shared.
Набор AdaptationSet, который содержит основной компонент мультимедиа, называют основным AdaptationSet. Основной компонент мультимедиа всегда включен в любой PreSelection, связанный с пакетом. Кроме того, каждый пакет может включать в себя один или множество частичных наборов AdaptationSet. Частичные наборы AdaptationSet можно обрабатывать только в комбинации с основным AdaptationSet.The AdaptationSet that contains the main media component is called the main AdaptationSet. The main media component is always included in any PreSelection associated with a package. In addition, each package may include one or more partial AdaptationSets. Partial AdaptationSets can only be processed in combination with the main AdaptationSet.
PreSelection может быть определен с помощью элемента PreSelection, как определено в таблице 4. Выбор PreSelection основан на атрибутах и элементах, содержащихся в элементе PreSelection.A PreSelection may be defined using a PreSelection element as defined in Table 4. The PreSelection selection is based on the attributes and elements contained in the PreSelection element.
Таблица 4. Семантика элемента PreSelectionTable 4. Semantics of the PreSelection element
по умолчанию = 1OD
default = 1
Для атрибутов: M = обязательный, O = дополнительный, OD = дополнительный со значением по умолчанию, CM = условно обязательный.
Для элементов: <minOccurs>..<maxOccurs> (N=unbounded)
Элементы выделены жирным шрифтом; атрибуты не выделены жирными шрифтом, и им предшествует знак @.Legend:
For attributes: M = required, O = optional, OD = optional with default value, CM = conditionally required.
For elements: <minOccurs>..<maxOccurs> (N=unbounded)
Elements are in bold; attributes are not in bold and are preceded by an @ sign.
Адаптивная потоковая передача облаков точекAdaptive Point Cloud Streaming
Хотя традиционные приложения мультимедиа, такие как видео, по-прежнему популярны, наблюдается значительный интерес к новым мультимедиа, таким как виртуальная реальность (VR) и иммерсивная 3D-графика. В последнее время появились высококачественные 3D-облака точек — продвинутое представление иммерсивных мультимедиа, что позволяет создавать новые формы взаимодействия и обмена данными с виртуальными мирами. Большой объем информации, необходимый для представления таких динамических облаков точек, требует эффективных алгоритмов кодирования. Рабочая группа 3DG группы MPEG в настоящее время работает над разработкой стандарта для сжатия облака точек на основе видео с выпущенной на собрании № 124 группы MPEG версией проекта сообщества (CD). Последняя версия CD определяет битовый поток для сжатых динамических облаков точек. Параллельно MPEG также разрабатывает стандарт систем для пересылки данных облака точек.While traditional media applications such as video are still popular, there has been significant interest in new media such as virtual reality (VR) and immersive 3D graphics. Recently, high-quality 3D point clouds have emerged - an advanced representation of immersive multimedia, which allows you to create new forms of interaction and data exchange with virtual worlds. The large amount of information required to represent such dynamic point clouds requires efficient coding algorithms. The MPEG 3DG Working Group is currently working on developing a standard for video-based point cloud compression with a community draft (CD) version released at
Вышеупомянутые стандарты облаков точек касаются только аспектов кодирования и хранения облаков точек. Однако предполагается, что для практических приложений облака точек потребуется потоковая передача данных облака точек по сети. Такие приложения могут выполнять потоковую передачу содержимого облака точек в реальном времени или по запросу, в зависимости от того, как было сгенерировано это содержимое. Кроме того, из-за большого объема информации, необходимой для представления облаков точек, такие приложения должны поддерживать адаптивные методики потоковой передачи, чтобы избежать перегрузки сети и обеспечить оптимальное восприятие просмотра в любой конкретный момент времени с точки зрения пропускной способности сети в данный момент.The point cloud standards mentioned above only deal with the encoding and storage aspects of point clouds. However, practical point cloud applications are expected to require point cloud data to be streamed over a network. Such applications can stream point cloud content in real time or on demand, depending on how the content was generated. In addition, due to the large amount of information required to represent point clouds, such applications must support adaptive streaming techniques to avoid network congestion and provide an optimal viewing experience at any given time in terms of network bandwidth at that moment.
Одним из хороших потенциальных способов адаптивной доставки облаков точек является динамическая адаптивная потоковая передача по HTTP (DASH). Однако текущий стандарт MPEG-DASH не обеспечивает никакого механизма сигнализации для среды облака точек, включая потоки облака точек на основе стандарта V-PCC MPEG. Таким образом, важно определить новые элементы сигнализации, которые позволят клиентам потоковой передачи идентифицировать потоки облака точек и их субпотоки компонентов в файле дескриптора представления мультимедиа (MPD). Кроме того, также необходимо сигнализировать о различных видах метаданных, связанных с компонентами облака точек, чтобы клиент потоковой передачи мог выбирать наилучшую(-ие) версию(-и) облака точек или его компонентов, которую(-ые) он способен поддерживать.One good potential way to adaptively deliver point clouds is Dynamic Adaptive Streaming over HTTP (DASH). However, the current MPEG-DASH standard does not provide any signaling mechanism for a point cloud environment, including point cloud streams based on the V-PCC MPEG standard. Thus, it is important to define new signaling elements that will allow streaming clients to identify point cloud streams and their component substreams in a media presentation descriptor (MPD) file. In addition, it is also necessary to signal the various kinds of metadata associated with the point cloud components so that the streaming client can select the best version(s) of the point cloud or its components that it is capable of supporting.
В отличие от традиционного мультимедийного содержимого мультимедийное содержимое V-PCC состоит из ряда компонентов, причем некоторые компоненты имеют множество уровней. Каждый компонент (и/или уровень) отдельно кодируют как субпоток битового потока V-PCC. Некоторые субпотоки компонентов, такие как геометрия и карта занятости (в дополнение к некоторым атрибутам, таким как текстура), кодируют с использованием традиционных видеокодеров (например, H.264/AVC или HEVC). Однако эти субпотоки необходимо совместно декодировать вместе с дополнительными метаданными, чтобы визуализировать облако точек.Unlike traditional multimedia content, V-PCC multimedia content consists of a number of components, with some components having multiple layers. Each component (and/or layer) is separately encoded as a substream of the V-PCC bitstream. Some component substreams such as geometry and occupancy map (in addition to some attributes such as texture) are encoded using traditional video encoders (eg H.264/AVC or HEVC). However, these substreams need to be jointly decoded along with additional metadata in order to render the point cloud.
Определен ряд элементов и атрибутов XML. Эти элементы XML определены в отдельном пространстве имен urn:mpeg:mpegI:vpcc:2019. В данном документе для ссылки на это пространство имен используется дескриптор vpccc: пространства имен.A number of XML elements and attributes are defined. These XML elements are defined in a separate namespace urn:mpeg:mpegI:vpcc:2019. This document uses the vpccc: namespace descriptor to refer to this namespace.
Сигнализация компонентов V-PCC в MPD DASHV-PCC component signaling in MPD DASH
Каждый компонент V-PCC и/или уровень компонента может быть представлен в файле манифеста DASH (MPD) как отдельный AdaptationSet (далее «компонент AdaptationSet») с дополнительным AdaptationSet в качестве основной точки доступа для содержимого V-PCC (далее «основной AdaptationSet»). В другом варианте осуществления один набор адаптации передают по каждому компоненту для каждого разрешения.Each V-PCC component and/or component level may be represented in a DASH manifest (MPD) file as a separate AdaptationSet (hereinafter "AdaptationSet component") with an additional AdaptationSet as the primary access point for the contents of the V-PCC (hereinafter "primary AdaptationSet") . In another embodiment, one adaptation set is sent on each component for each grant.
В одном варианте осуществления наборы адаптации для потока V-PCC, включая все компоненты AdaptationSet V-PCC, должны иметь значение атрибута @codecs (например, как определено для V-PCC), установленное на vpc1, это будет означать, что MPD относится к точке облака. В другом варианте осуществления только основной AdaptationSet имеет атрибут @codecs, установленный на vpc1, тогда как атрибут @codecs для компонента AdaptationSet облака точек (или соответствующие Representation, если @codecs не передают для элемента AdaptationSet) устанавливают на основе соответствующего кодека, используемого для кодирования компонента. В случае видеокодированных компонентов значение @codecs должно быть установлено на resv.pccv.XXXX, где XXXX соответствует четырехсимвольному коду (4CC) видеокодека (например, avc1 или hvc1).In one embodiment, adaptation sets for a V-PCC flow, including all V-PCC AdaptationSet components, must have the @codecs attribute value (e.g., as defined for V-PCC) set to vpc1, which would indicate that the MPD refers to the point clouds. In another embodiment, only the underlying AdaptationSet has the @codecs attribute set to vpc1, while the @codecs attribute for the point cloud AdaptationSet component (or the corresponding Representations if no @codecs is passed for the AdaptationSet element) is set based on the corresponding codec used to encode the component . For video encoded components, the value of @codecs should be set to resv.pccv.XXXX, where XXXX corresponds to the four-character code (4CC) of the video codec (eg avc1 or hvc1).
Для определения типа компонента(-ов) V-PCC (например, карты занятости, геометрии или атрибута) в компоненте AdaptationSet можно использовать дескриптор EssentialProperty с атрибутом @schemeIdUri, равным urn:mpeg:mpegI:vpcc:2019:component. Данный дескриптор называется дескриптором VPCCComponent.An EssentialProperty descriptor with a @schemeIdUri attribute of urn:mpeg:mpegI:vpcc:2019:component can be used to define the type of V-PCC component(s) (for example, occupancy map, geometry, or attribute) in an AdaptationSet component. This descriptor is called the VPCCComponent Descriptor.
На уровне набора адаптации один дескриптор VPCCComponent может быть сигнализирован для каждого компонента облака точек, который присутствует в Representation набора адаптации.At the adaptation set level, one VPCCComponent descriptor may be signaled for each point cloud component that is present in the Representation of the adaptation set.
В варианте осуществления атрибут @value дескриптора VPCCComponent присутствовать не должен. Дескриптор VPCCComponent может включать в себя элементы и атрибуты, указанные в таблице 5.In an embodiment, the @value attribute of the VPCCComponent descriptor shall not be present. The VPCCComponent Descriptor may include the elements and attributes specified in Table 5.
Таблица 5. Элементы и атрибуты для дескриптора VPCCComponentTable 5. Elements and attributes for the VPCCComponent descriptor
нениеNote-
knowledge
Если в представлениях набора AdaptationSet присутствует только один уровень, min_layer_index и max_layer_index должны иметь одно и то же значение.Specifies the index of the first level of the component represented by the AdaptationSet that contains the VPCCComponent descriptor.
If there is only one layer in the AdaptationSet views, min_layer_index and max_layer_index must be the same value.
Должен присутствовать только при наличии уровня min_layer.
Если в представлениях набора адаптации присутствует только один уровень, min_layer_index и max_layer_index должны иметь одно и то же значение.Specifies the index of the last level of the component represented by the AdaptationSet that contains the VPCCComponent descriptor.
Should only be present if min_layer is present.
If there is only one layer in the country set views, min_layer_index and max_layer_index must be the same value.
Должен присутствовать только в том случае, если компонент представляет собой атрибут облака точек (т.е. component_type имеет значение attr).Indicates the attribute type (see Table 7.2 in the V-PCC CD). Only values between 0 and 15 are allowed.
Should only be present if the component is a point cloud attribute (i.e. component_type is attr).
Должен присутствовать только в том случае, если компонент представляет собой атрибут облака точек (т.е. component_type имеет значение attr).Specifies the index of the attribute. Must be between 0 and 127 inclusive.
Should only be present if the component is a point cloud attribute (i.e. component_type is attr).
Для атрибутов: M = обязательный, O = дополнительный, OD = дополнительный со значением по умолчанию, CM = условно обязательный.
Для элементов: <minOccurs>..<maxOccurs> (N=unbounded)
Элементы выделены жирным шрифтом; атрибуты не выделены жирными шрифтом, и им предшествует знак @.Legend:
For attributes: M = required, O = optional, OD = optional with default value, CM = conditionally required.
For elements: <minOccurs>..<maxOccurs> (N=unbounded)
Elements are in bold; attributes are not in bold and are preceded by an @ sign.
Типы данных для различных элементов и атрибутов дескриптора VPCCComponent могут быть такими, как определено в следующей схеме XML.The data types for the various elements and attributes of the VPCCComponent descriptor may be as defined in the following XML schema.
В одном варианте осуществления основной AdaptationSet должен содержать либо один сегмент инициализации на уровне набора адаптации, либо множество сегментов инициализации на уровне представления (по одному для каждого Representation). В одном варианте осуществления сегменты инициализации должны содержать наборы параметров последовательности V-PCC, как определено в проекте сообщества, которые используют для инициализации декодера V-PCC. В случае одного сегмента инициализации наборы параметров последовательности V-PCC для всех Representation могут содержаться в сегменте инициализации. При передаче более одного Representation в основном AdaptationSet сегмент инициализации каждого Representation может содержать наборы параметров последовательности V-PCC для данного конкретного Representation. При использовании базового формата медиафайлов ISO (ISOBMFF) в качестве контейнера мультимедиа для содержимого V-PCC, как определено в WD стандарта ISO/IEC 23090-10, сегменты инициализации также могут включать в себя контейнер метаданных, как определено в ISO/IEC 14496-12. Данный метабокс содержит один или более экземпляров VPCCGroupBox, как определено в CD VPCC, который предоставляет информацию о метаданных, описывающую треки на уровне формата файла и зависимость между ними.In one embodiment, the main AdaptationSet must contain either one initialization segment at the adaptation set level or multiple initialization segments at the presentation layer (one for each Representation). In one embodiment, the initialization segments must contain sets of V-PCC sequence parameters, as defined in the community draft, that are used to initialize the V-PCC decoder. In the case of a single initialization segment, the V-PCC sequence parameter sets for all Representations may be contained in the initialization segment. When more than one Representation is sent in the main AdaptationSet, the initialization segment of each Representation may contain sets of V-PCC sequence parameters for that particular Representation. When using the ISO Basic Media File Format (ISOBMFF) as the media container for V-PCC content as defined in ISO/IEC 23090-10 WD, initialization segments may also include a metadata container as defined in ISO/IEC 14496-12 . This metabox contains one or more instances of the VPCCGroupBox, as defined in the VPCC CD, which provides metadata information describing the tracks at the file format level and the relationship between them.
В варианте осуществления сегменты мультимедиа для Representation основного AdaptationSet содержат один или более трековых фрагментов трека V-PCC, определенных в проекте сообщества. Сегменты мультимедиа для Representation компонентов AdaptationSet содержат один или более фрагментов треков соответствующего трека компонента на уровне формата файла.In an embodiment, the media segments for the Representation of the main AdaptationSet comprise one or more track tiles of a V-PCC track defined in a community project. Media segments for Representation AdaptationSet components contain one or more track fragments of the corresponding component track at the file format level.
В другом варианте осуществления для дескриптора VPCCComponent определяют дополнительный атрибут, называемый в данном случае атрибутом @videoCodec, значение которого указывает на кодек, используемый для кодирования соответствующего компонента облака точек. Это позволяет поддерживать сценарии, в которых в AdaptationSet или Representation присутствует более чем один компонент облака точек.In another embodiment, an additional attribute is defined for the VPCCComponent descriptor, in this case called the @videoCodec attribute, the value of which indicates the codec used to encode the corresponding point cloud component. This allows you to support scenarios where there is more than one point cloud component in an AdaptationSet or Representation.
В другом варианте осуществления элемент дескриптора Role можно использовать с вновь определенными значениями для компонентов V-PCC для указания роли соответствующего AdaptationSet или Representation (например, геометрия, карта занятости или атрибут). Например, геометрия, карта занятости и компоненты атрибутов могут иметь следующие соответствующие значения соответственно: vpcc-geometry, vpcc-occupancy и vpcc-attribute. Дополнительный элемент дескриптора EssentialProperty, аналогичный элементу, описанному в таблице 5, за исключением атрибута component_type, может быть сообщен на уровне набора адаптации для идентификации уровней компонента и типа атрибута (если компонент представляет собой атрибут облака точек).In another embodiment, the Role descriptor element may be used with newly defined values for V-PCC components to indicate the role of the associated AdaptationSet or Representation (eg, geometry, occupancy map, or attribute). For example, the geometry, occupancy map, and attribute components may have the following corresponding values, respectively: vpcc-geometry, vpcc-occupancy, and vpcc-attribute. An optional element of the EssentialProperty descriptor, similar to the element described in Table 5, except for the component_type attribute, may be reported at the customization set level to identify component levels and attribute type (if the component is a point cloud attribute).
Группирование наборов адаптации V-PCCGrouping V-PCC Adaptation Sets
Клиент потоковой передачи способен идентифицировать тип компонента облака точек в AdaptationSet или Representation путем проверки дескриптора VPCCComponent внутри соответствующего элемента. Однако клиент потоковой передачи также должен отличать различные потоки облака точек, присутствующие в файле MPD, и идентифицировать их соответствующие потоки компонентов.The streaming client is able to identify the type of point cloud component in an AdaptationSet or Representation by examining the VPCCComponent descriptor within the corresponding element. However, the streaming client must also distinguish between the various point cloud streams present in the MPD file and identify their respective component streams.
Может быть введен элемент EssentialProperty с атрибутом @schemeIdUri, равным urn:mpeg:mpegI:vpcc:2019:vpc, который в настоящем документе называется дескриптором VPCC. На уровне набора адаптации для основного AdaptationSet облака точек может присутствовать максимум один дескриптор VPCC. Если в основном AdaptationSet присутствует более чем одно Representation, то на уровне представления (т.е. внутри каждого элемента Representation) может присутствовать не более чем один дескриптор VPCC. В таблице 6 проиллюстрированы атрибуты дескриптора VPCC в соответствии с вариантом осуществления.An EssentialProperty element with an @schemeIdUri attribute of urn:mpeg:mpegI:vpcc:2019:vpc, which is referred to as a VPCC descriptor in this document, may be introduced. At the adaptation set level, a maximum of one VPCC descriptor may be present for the main AdaptationSet of the point cloud. If more than one Representation is present in the main AdaptationSet, then no more than one VPCC descriptor may be present at the presentation layer (ie, within each Representation element). Table 6 illustrates the attributes of a VPCC descriptor according to an embodiment.
Таблица 6. Атрибуты для дескриптора VPCCTable 6. Attributes for the VPCC Descriptor
При наличии более чем одной версии облака точек (например, с разным разрешением) каждая версия может присутствовать в отдельном компоненте AdaptationSet, содержащем одно Representation, а также дескриптор VPCC с одинаковым значением для атрибута @pcId. В другом варианте осуществления различные версии облака точек могут быть сообщены как Representation одного (основного) AdaptationSet. В таком случае дескриптор VPCC должен присутствовать в каждом Representation, а атрибут @pcId может быть либо сигнализирован с одним и тем же значением для всех Representation в основном AdaptationSet, либо опущен.If there is more than one version of the point cloud (for example, with different resolutions), each version may be present in a separate AdaptationSet containing one Representation, as well as a VPCC descriptor with the same value for the @pcId attribute. In another embodiment, different versions of the point cloud may be reported as a Representation of the same (main) AdaptationSet. In such a case, the VPCC Descriptor shall be present in each Representation, and the @pcId attribute may either be signaled with the same value for all Representations in the main AdaptationSet or omitted.
В другом варианте осуществления о PreSelection сигнализируют в MPD со значением атрибута @preselectionComponents, включая идентификатор основного AdaptationSet для облака точек, за которым следуют идентификаторы наборов компонентов AdaptationSet, соответствующих компонентам облака точек. Атрибут @codecs для PreSelection должен быть установлен на vpc1, указывая, что мультимедиа PreSelection представляет собой облако точек, основанное на видео. О PreSelection можно оповещать посредством элемента PreSelection в элементе Period, либо дескриптора преднабора на уровне набора адаптаций (или уровне представления, когда для одного облака точек доступно множество версий/представлений). При использовании элемента PreSelection и наличии более одной версии одного и того же облака точек о каждой версии оповещают в отдельном элементе PreSelection, при этом первый идентификатор в списке идентификаторов атрибута @preselectionComponents представляет собой идентификатор Representation соответствующей версии облака точек в основном AdaptationSet. На фиг. 6 представлен пример DASH-конфигурации для группирования компонентов V-PCC, принадлежащих облаку с единственной точкой, в файле MPD MPEG-DASH.In another embodiment, the PreSelection is signaled in MPD with the value of the @preselectionComponents attribute, including the identifier of the main AdaptationSet for the point cloud, followed by the identifiers of the AdaptationSet components corresponding to the components of the point cloud. The @codecs attribute for PreSelection should be set to vpc1, indicating that the PreSelection media is a video-based point cloud. PreSelection can be advertised through the PreSelection element in the Period element, or a preset descriptor at the adaptation set level (or presentation level when multiple versions/views are available for the same point cloud). When a PreSelection element is used and there is more than one version of the same point cloud, each version is advertised in a separate PreSelection element, with the first identifier in the @preselectionComponents attribute's list of identifiers being the Representation identifier of the corresponding point cloud version in the main AdaptationSet. In FIG. 6 shows an example of a DASH configuration for grouping V-PCC components belonging to a single point cloud in an MPEG-DASH MPD file.
С использованием дескриптора преднабора об этом группировании/этой ассоциации можно оповещать следующим образом.Using the preset descriptor, this grouping/this association can be signaled as follows.
В другом варианте осуществления в основном AdaptationSet облака точек или его Representation могут быть перечислены идентификаторы наборов компонентов AdaptationSet и/или Representation с использованием атрибута @associationId, определенного в ISO/IEC 23009-1, причем значения @associationType устанавливают равными 4CC при V-PCC (т. Е. vpc1).In another embodiment, the main AdaptationSet of the point cloud or its Representation may enumerate the identifiers of the AdaptationSet and/or Representation component sets using the @associationId attribute defined in ISO/IEC 23009-1, with @associationType values set to 4CC at V-PCC( i.e. vpc1).
В другом варианте осуществления в основном AdaptationSet облака точек или его Representation могут быть перечислены идентификаторы наборов компонентов AdaptationSet и/или Representation с использованием атрибута @dependencyId, определенного в ISO/IEC 23009-1. Это связано с существованием внутренней зависимости, поскольку для восстановления облака точек необходимо декодировать сегменты в основном AdaptationSet вместе с сегментами из наборов компонентов AdaptationSet облака точек.In another embodiment, the point cloud's main AdaptationSet or its Representation may list the identifiers of the AdaptationSet and/or Representation component sets using the @dependencyId attribute defined in ISO/IEC 23009-1. This is due to the existence of an internal dependency, since in order to restore the point cloud, it is necessary to decode the segments in the main AdaptationSet along with the segments from the component sets of the AdaptationSet of the point cloud.
Сигнализация метаданных о компонентеComponent metadata signaling
Метаданные о геометрии и атрибутах обычно используют для визуализации. О них оповещают в наборах параметров битового потока V-PCC. Однако может быть необходимо оповещение об этих элементах метаданных в MPD, чтобы клиент потоковой передачи мог получать информацию как можно раньше. Кроме того, клиент потоковой передачи может принимать решения о выборе между множеством версий облака точек с различными значениями метаданных о геометрии и атрибутах (например, на основании того, поддерживает клиент сообщенные значения или нет).Metadata about geometry and attributes is commonly used for visualization. They are advertised in the V-PCC bitstream parameter sets. However, it may be necessary to advertise these metadata elements in the MPD so that the streaming client can receive the information as early as possible. In addition, the streaming client may make decisions to choose between multiple point cloud versions with different geometry and attribute metadata values (eg, based on whether the client supports the reported values or not).
Сигнализация метаданных о геометрииGeometry metadata signaling
Может быть введен элемент SupplementalProperty с атрибутом @schemeIdUri, равным urn:mpeg:mpegI:vpcc:2019:geom_meta, который в настоящем документе называется дескриптором метаданных о геометрии или дескриптором geoMeta. Не более чем один дескриптор geomMeta может присутствовать на уровне MPD, и в этом случае он применим к компонентам геометрии для всех облаков точек, о которых оповещают в MPD, если только он не будет переопределен дескриптором geomMeta на более низком уровне, как описано ниже. Не более одного дескриптора geomMeta может присутствовать на уровне набора адаптации в основном AdaptationSet. Не более одного дескриптора geomMeta может присутствовать на уровне представления в основном AdaptationSet. Если дескриптор geomMeta присутствует на определенном уровне, он замещает любой дескриптор geomMeta, переданный на более высоком уровне.A SupplementalProperty element with a @schemeIdUri attribute of urn:mpeg:mpegI:vpcc:2019:geom_meta may be introduced, which is referred to in this document as a geometry metadata descriptor or geoMeta descriptor. At most one geomMeta descriptor may be present at the MPD level, in which case it is applicable to the geometry components for all point clouds advertised in the MPD, unless it is overridden by a geomMeta descriptor at a lower level, as described below. At most one geomMeta descriptor may be present at the adaptation set level in the main AdaptationSet. At most one geomMeta descriptor may be present at the presentation level in the main AdaptationSet. If a geomMeta descriptor is present at a particular level, it overrides any geomMeta descriptor passed at a higher level.
В варианте осуществления атрибут @value дескриптора geomMeta присутствовать не должен. В варианте осуществления дескриптор geomMeta включает в себя элементы и атрибуты, указанные в таблице 7.In an embodiment, the @value attribute of the geomMeta descriptor shall not be present. In an embodiment, the geomMeta descriptor includes the elements and attributes specified in Table 7.
Таблица 7. Элементы и атрибуты для дескриптора geomMetaTable 7. Elements and attributes for the geomMeta descriptor
Если элемент geom.geomSmoothing отсутствует, размер сетки по умолчанию должен быть выведен равным 8. Specifies the mesh size for geometry smoothing. Valid values must be between 2 and 128 inclusive.
If there is no geom.geomSmoothing element, the grid size should default to 8.
Если элемент geom.geomSmoothing отсутствует, порог по умолчанию должен быть выведен равным 64.Smoothing threshold.
If there is no geom.geomSmoothing element, the default threshold should be inferred to be 64.
Для атрибутов: M = обязательный, O = дополнительный, OD = дополнительный со значением по умолчанию, CM = условно обязательный.
Для элементов: <minOccurs>..<maxOccurs> (N=unbounded)
Элементы выделены жирным шрифтом; атрибуты не выделены жирными шрифтом, и им предшествует знак @.Legend:
For attributes: M = required, O = optional, OD = optional with default value, CM = conditionally required.
For elements: <minOccurs>..<maxOccurs> (N=unbounded)
Elements are in bold; attributes are not in bold and are preceded by an @ sign.
В варианте осуществления типы данных для различных элементов и атрибутов дескриптора geomMeta могут быть такими, как определено в следующей схеме XML.In an embodiment, the data types for the various elements and attributes of the geomMeta descriptor may be as defined in the following XML schema.
Сигнализация метаданных об атрибутахAttribute metadata signaling
Может быть введен элемент SupplementalProperty с атрибутом @schemeIdUri, равным urn:mpeg:mpegI:vpcc:2019:attr_meta, который в настоящем документе называется дескриптором метаданных об атрибуте или дескриптором attrMeta. Не более одного дескриптора attrMeta может присутствовать на уровне набора адаптаций в основном AdaptationSet. Не более одного дескриптора attrMeta может присутствовать на уровне представления в основном AdaptationSet. Если на уровне представления дескриптор attrMeta присутствует, он замещает любой дескриптор attrMeta, сообщенный на уровне набора адаптации для AdaptationSet, к которому относится Representation.A SupplementalProperty element with a @schemeIdUri attribute of urn:mpeg:mpegI:vpcc:2019:attr_meta may be introduced, which is referred to in this document as an attribute metadata descriptor or attrMeta descriptor. At most one attrMeta descriptor may be present at the adaptation set level in the main AdaptationSet. At most one attrMeta descriptor may be present at the presentation layer in the main AdaptationSet. If an attrMeta descriptor is present at the presentation layer, it overrides any attrMeta descriptor reported at the adaptation set layer for the AdaptationSet to which the Representation belongs.
В варианте осуществления атрибут @value дескриптора attrMeta отсутствует. В варианте осуществления дескриптор attrMeta может включать в себя элементы и атрибуты, указанные в таблице 8.In an embodiment, the @value attribute of the attrMeta descriptor is omitted. In an embodiment, the attrMeta descriptor may include the elements and attributes specified in Table 8.
Таблица 8. Элементы и атрибуты для дескриптора attrMetaTable 8. Elements and attributes for the attrMeta descriptor
Для атрибутов: M = обязательный, O = дополнительный, OD = дополнительный со значением по умолчанию, CM = условно обязательный.
Для элементов: <minOccurs>..<maxOccurs> (N=unbounded)
Элементы выделены жирным шрифтом; атрибуты не выделены жирными шрифтом, и им предшествует знак @.Legend:
For attributes: M = required, O = optional, OD = optional with default value, CM = conditionally required.
For elements: <minOccurs>..<maxOccurs> (N=unbounded)
Elements are in bold; attributes are not in bold and are preceded by an @ sign.
В варианте осуществления типы данных для различных элементов и атрибутов дескриптора attrMeta могут быть такими, как определено в следующей схеме XML.In an embodiment, the data types for the various elements and attributes of the attrMeta descriptor may be as defined in the following XML schema.
Поведение клиента потоковой передачиStreaming Client Behavior
DASH-клиент (узел декодера) руководствуется информацией, предоставленной в MPD. Ниже приведен пример поведения клиента при обработке содержимого облака точек потоковой передачи в соответствии с сигнализацией, представленной в настоящем описании, с учетом варианта осуществления, в котором об ассоциации наборов компонентов AdaptationSet с основным AdaptationSet облака точек оповещают с использованием дескриптора VPCC. На фиг. 7 представлена блок-схема, иллюстрирующая пример клиентского процесса потоковой передачи в соответствии с вариантом осуществления.The DASH client (decoder node) is guided by the information provided in the MPD. The following is an example of client behavior when processing streaming point cloud content in accordance with the signaling provided herein, given an embodiment in which the association of AdaptationSets with the main AdaptationSet of the point cloud is advertised using a VPCC descriptor. In FIG. 7 is a flowchart illustrating an example of a streaming client process according to an embodiment.
На этапе 711 клиент сначала выдает HTTP-запрос и загружает MPD-файл с сервера содержимого. Затем клиент анализирует MPD-файл для создания соответствующего представления в памяти элементов XML в MPD-файле.At
Затем на этапе 713 для определения доступного мультимедийного содержимого облака точек в Period клиент потоковой передачи сканирует элементы AdaptationSet для поиска наборов AdaptationSet с атрибутом @codecs, установленным на vpc1, и элементом дескриптора VPCC. Полученная подгруппа представляет собой набор основных AdaptationSet для содержимого облака точек.Then, at
Далее на этапе 715 клиент потоковой передачи идентифицирует число уникальных облаков точек путем проверки дескрипторов VPCC этих AdaptationSet и AdaptationSet групп с таким же значением @pcId в их дескрипторе VPCC, что и в версиях одного и того же содержимого.Next, at
На этапе 717 идентифицируют группу AdaptationSet со значением @pcId, соответствующим содержимому облака точек, которое пользователь желает получить в потоковой передаче. Если группа содержит более одного AdaptationSet, клиент потоковой передачи выбирает AdaptationSet с поддерживаемой версией (например, разрешение видео). В противном случае выбирают единственный AdaptationSet группы.At
Затем на этапе 719 клиент потоковой передачи проверяет дескриптор VPCC выбранного AdaptationSet, чтобы идентифицировать наборы AdaptationSet для компонентов облака точек. Их идентифицируют по значениям атрибутов @occupancyId, @geometryId и @attributeId. Если в выбранном основном AdaptationSet присутствуют дескрипторы geomMeta и/или attrMeta, клиент потоковой передачи может до загрузки каких-либо сегментов определить, поддерживает ли он сообщенную конфигурацию визуализации для потока облака точек. В противном случае клиенту необходимо извлечь эту информацию из сегмента инициализации.Then, at
Затем на этапе 721 клиент запускает потоковую передачу облака точек путем загрузки сегмента инициализации для основного AdaptationSet, содержащего наборы параметров, необходимых для инициализации декодера V-PCC.Then, in
На этапе 723 сегменты инициализации для потоков видеокодированных компонентов загружают и кэшируют в запоминающее устройство.At
На этапе 725 клиент потоковой передачи далее начинает загрузку синхронизированных по времени сегментов мультимедиа из основного AdaptatationSet и компонентов наборов AdatptationSet параллельно по HTTP, и загруженные сегменты сохраняются в буфере сегментов в запоминающем устройстве.At
На этапе 727 синхронизированные по времени сегменты мультимедиа извлекают из их соответствующих буферов и конкатенируют с их соответствующими сегментами инициализации.At 727, the time-synchronized media segments are retrieved from their respective buffers and concatenated with their respective initialization segments.
Наконец, на этапе 729 контейнер мультимедиа (например, ISOBMFF) анализируют для извлечения информации об элементарном потоке и структурирования битового потока V-PCC в соответствии со стандартом V-PCC, после чего битовый поток поступает в декодер V-PCC.Finally, at
Хотя признаки и элементы описаны выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент можно использовать отдельно или в любой комбинации с другими признаками и элементами. Кроме того, описанные в настоящем документе способы могут быть реализованы в компьютерной программе, программном обеспечении или программно-аппаратном обеспечении, встроенном в машиночитаемый носитель и предназначенном для исполнения компьютером или процессором. Примеры энергозависимого машиночитаемого носителя информации включают в себя, без ограничений, постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), регистр, кэш-память, полупроводниковые устройства хранения данных, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD). Процессор в сочетании с программным обеспечением можно использовать для реализации радиочастотного приемопередатчика, предназначенного для применения в составе модуля 102 WTRU, пользовательского оборудования (UE), терминала, базовой станции, контроллера RNC и/или любого главного компьютера.While the features and elements are described above in specific combinations, it will be apparent to one skilled in the art that each feature or element can be used alone or in any combination with other features and elements. In addition, the methods described herein may be implemented in a computer program, software, or firmware embedded in a computer-readable medium and designed to be executed by a computer or processor. Examples of volatile computer-readable storage media include, without limitation, read-only memory (ROM), random access memory (RAM), register, cache memory, semiconductor storage devices, magnetic media such as internal hard drives and removable drives, magneto-optical media and optical media such as CD-ROMs and digital versatile discs (DVDs). The processor, in conjunction with software, may be used to implement an RF transceiver for use in WTRU module 102, user equipment (UE), terminal, base station, RNC, and/or any host computer.
Кроме того, в описанных выше вариантах осуществления отмечены платформы для выполнения обработки, вычислительные системы, контроллеры и другие устройства, содержащие процессоры. Эти устройства могут содержать по меньшей мере один центральный процессор (ЦП) и запоминающее устройство. Как свидетельствует практика специалистов в области компьютерного программирования, указания на действия и символические представления этапов или команд могут быть реализованы с помощью различных ЦП и запоминающих устройств. Такие действия и этапы или команды могут упоминаться как «исполняемые», «исполняемые с помощью компьютера» или «исполняемые с помощью ЦП».In addition, in the embodiments described above, processing platforms, computing systems, controllers, and other devices containing processors are noted. These devices may include at least one central processing unit (CPU) and a storage device. As the practice of specialists in the field of computer programming shows, indications of actions and symbolic representations of steps or commands can be implemented using various CPUs and storage devices. Such actions and steps or commands may be referred to as "executable", "computer-executable", or "CPU-executable".
Для специалиста в данной области будет очевидно, что указанные действия и символически представленные этапы или команды включают управление электрическими сигналами с помощью ЦП. Электрическая система выдает биты данных, которые могут инициировать итоговое преобразование или ослабление электрических сигналов и сохранение битов данных в ячейках запоминающего устройства в системе запоминающего устройства, чтобы таким образом переконфигурировать или иным образом изменить работу ЦП, а также другую обработку сигналов. Ячейки запоминающего устройства, в которых хранятся биты данных, представляют собой физические местоположения, которые обладают определенными электрическими, магнитными, оптическими или органическими свойствами, соответствующими битам данных или характерными для битов данных. Следует понимать, что примеры осуществления не ограничены вышеупомянутыми платформами или ЦП и что другие платформы и ЦП также могут поддерживать предложенные способы.It will be apparent to a person skilled in the art that said actions and symbolically represented steps or commands involve the control of electrical signals by the CPU. The electrical system provides data bits that can cause the resulting conversion or attenuation of the electrical signals and the storage of the data bits in storage cells in the storage system to thereby reconfigure or otherwise alter CPU operation as well as other signal processing. Memory cells that store data bits are physical locations that have certain electrical, magnetic, optical, or organic properties corresponding to or characteristic of data bits. It should be understood that the exemplary embodiments are not limited to the aforementioned platforms or CPUs, and that other platforms and CPUs may also support the proposed methods.
Биты данных также могут храниться на машиночитаемом носителе, в том числе на магнитных дисках, оптических дисках и любом другом энергозависимом (например, оперативном запоминающем устройстве (ОЗУ)) или энергонезависимом (например, постоянном запоминающем устройстве (ПЗУ)) накопителе большой емкости для считывания ЦП. Машиночитаемый носитель может включать в себя взаимодействующий или взаимосвязанный машиночитаемый носитель, применяемый исключительно в системе обработки или распределенный между множеством взаимосвязанных систем обработки, которые могут быть локальными или удаленными по отношению к указанной системе обработки. При этом подразумевается, что типовые варианты осуществления не ограничены вышеупомянутыми запоминающими устройствами и что другие платформы и запоминающие устройства также могут поддерживать описанные способы.Data bits may also be stored on a computer-readable medium, including magnetic disks, optical disks, and any other volatile (eg, random access memory (RAM)) or non-volatile (eg, read only memory (ROM)) mass storage device for reading by the CPU. . Computer-readable media may include co-operating or interconnected computer-readable media used exclusively within a processing system or distributed among a plurality of interconnected processing systems, which may be local or remote to said processing system. This implies that exemplary embodiments are not limited to the aforementioned storage devices and that other platforms and storage devices may also support the described methods.
В иллюстративном варианте осуществления любые этапы, способы и т.п., описанные в настоящем документе, могут быть реализованы в виде машиночитаемых команд, хранящихся на машиночитаемом носителе. Процессор мобильного устройства, сетевой элемент и/или любое другое вычислительное устройство могут быть выполнены с возможностью исполнения машиночитаемых команд.In an exemplary embodiment, any of the steps, methods, and the like described herein may be implemented as computer-readable instructions stored on a computer-readable medium. The mobile device processor, network element, and/or any other computing device may be configured to execute machine-readable instructions.
Между аппаратными и программными реализациями аспектов систем остаются незначительные различия. Использование аппаратного или программного обеспечения, как правило (но не всегда, поскольку в определенных контекстах различие между аппаратным и программным обеспечением может стать значительным), предполагает выбор конструкции, представляющей собой компромисс между затратами и эффективностью. Могут существовать различные средства, с помощью которых могут быть реализованы способы и/или системы, и/или другие технологии, описанные в данном документе (например, аппаратное обеспечение, программное обеспечение и/или микропрограммное обеспечение), а предпочтительное средство может варьироваться в зависимости от контекста, в котором развернуты указанные способы и/или системы, и/или другие технологии. Например, если разработчик определяет, что скорость и точность имеют первостепенное значение, он может применять главным образом аппаратное и/или микропрограммное средство. Если самым важным аспектом является гибкость, разработчик может выбирать реализацию главным образом в виде программного обеспечения. В альтернативном варианте осуществления разработчик может применять комбинацию аппаратного обеспечения, программного обеспечения и/или микропрограммного обеспечения.Minor differences remain between hardware and software implementations of aspects of systems. The use of hardware or software typically (but not always, as the distinction between hardware and software can become significant in certain contexts) involves choosing a design that represents a trade-off between cost and efficiency. There may be various means by which the methods and/or systems and/or other technologies described herein can be implemented (e.g., hardware, software, and/or firmware), and the preferred means may vary depending on the context in which said methods and/or systems and/or other technologies are deployed. For example, if the developer determines that speed and accuracy are of paramount importance, he may use mostly hardware and/or firmware. If flexibility is the most important aspect, the developer may choose to implement it primarily in software. In an alternative embodiment, the developer may use a combination of hardware, software, and/or firmware.
В приведенном выше подробном описании изложены различные варианты осуществления устройств и/или способов с применением блок-схем, структурных схем и/или примеров. Поскольку такие блок-схемы, структурные схемы и/или примеры содержат одну или более функций и/или операций, для специалистов в данной области будет очевидно, что каждая функция и/или операция в таких блок-схемах, структурных схемах или примерах может быть реализована, отдельно и/или совместно, с применением широкого спектра аппаратного обеспечения, программного обеспечения, микропрограммного обеспечения или по существу любой их комбинации. В качестве примера подходящие процессоры включают процессор общего назначения, процессор специального назначения, стандартный процессор, цифровой сигнальный процессор (DSP), множество микропроцессоров, один или более микропроцессоров, связанных с ядром DSP, контроллер, микроконтроллер, специализированные интегральные микросхемы (ASIC), стандартные части специализированной интегральной схемы (ASSP); программируемую пользователем вентильную матрицу (FPGA), интегральную схему (IC) любого другого типа и/или конечный автомат.In the above detailed description, various embodiments of devices and/or methods are set forth using block diagrams, block diagrams, and/or examples. Since such block diagrams, block diagrams and/or examples contain one or more functions and/or operations, it will be obvious to those skilled in the art that each function and/or operation in such block diagrams, block diagrams or examples can be implemented , separately and/or together, using a wide range of hardware, software, firmware, or essentially any combination thereof. By way of example, suitable processors include a general purpose processor, a special purpose processor, a standard processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, application specific integrated circuits (ASICs), standard parts application specific integrated circuit (ASSP); a field programmable gate array (FPGA), any other type of integrated circuit (IC), and/or a state machine.
Хотя признаки и элементы представлены выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент может быть использован отдельно или в любой комбинации с другими признаками и элементами. Настоящее изобретение не ограничивается описанными в настоящей заявке конкретными вариантами осуществления, которые предназначены для иллюстрации различных аспектов. Для специалистов в данной области будет очевидно, что возможно внесение множества модификаций и изменений без отступления от сущности и объема настоящего изобретения. Никакие элементы, действия или команды, используемые в описании настоящей заявки, не следует рассматривать как критические или существенные для изобретения, если явным образом не указано иное. Функционально эквивалентные способы и устройства, входящие в объем описания, в дополнение к перечисленным в настоящем документе станут очевидными для специалистов в данной области после ознакомления с представленными выше описаниями. Предполагается, что такие модификации и вариации включены в объем приложенной формулы изобретения. Настоящее описание ограничивается исключительно прилагаемой формулой изобретения, а также полным диапазоном эквивалентов, к которым относится такая формула изобретения. Следует понимать, что настоящее описание не ограничивается конкретными способами или системами.While the features and elements are presented above in specific combinations, it will be apparent to one skilled in the art that each feature or element may be used alone or in any combination with other features and elements. The present invention is not limited to the specific embodiments described in this application, which are intended to illustrate various aspects. It will be apparent to those skilled in the art that many modifications and changes are possible without departing from the spirit and scope of the present invention. None of the elements, actions or commands used in the description of this application should not be considered critical or essential to the invention, unless expressly stated otherwise. Functionally equivalent methods and devices within the scope of the description, in addition to those listed herein, will become apparent to those skilled in the art upon review of the above descriptions. Such modifications and variations are intended to be included within the scope of the appended claims. The present description is limited solely by the appended claims, as well as the full range of equivalents to which such claims apply. It should be understood that the present description is not limited to specific methods or systems.
Кроме того, следует понимать, что применяемые в настоящем документе термины используют только в целях описания конкретных вариантов осуществления настоящего изобретения и они не носят ограничительного характера. Используемые в настоящем документе термины «станция» и его аббревиатура STA, «пользовательское оборудование» и его аббревиатура UE могут означать (i) модуль беспроводной передачи/приема (WTRU), например, как описано ниже; (ii) любой из некоторого количества вариантов осуществления WTRU, например, как описано ниже; (iii) беспроводное и/или проводное (например, подключаемое) устройство, выполненное, в частности, с применением некоторых или всех конструкций и функциональных возможностей WTRU, например, как описано ниже; (iii) беспроводное и/или проводное устройство, выполненное не со всеми конструкциями и функциональными возможностями WTRU, например, как описано ниже; или (iv) и т.п.In addition, it should be understood that the terms used herein are used only for the purpose of describing specific embodiments of the present invention and they are not restrictive. As used herein, the terms "station" and its abbreviation STA, "user equipment" and its abbreviation UE may mean (i) a wireless transmit/receive unit (WTRU), for example, as described below; (ii) any of a number of WTRU embodiments, eg, as described below; (iii) a wireless and/or wired (eg, pluggable) device specifically configured using some or all of the WTRU designs and functionality, eg, as described below; (iii) a wireless and/or wired device not configured with all of the WTRU designs and functionality, eg as described below; or (iv) etc.
В определенных типовых вариантах осуществления некоторые части объекта изобретения, описанного в настоящем документе, могут быть реализованы с помощью специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), цифровых сигнальных процессоров (DSP) и/или интегральных схем других форматов. Однако для специалистов в данной области будет очевидно, что некоторые аспекты описанных в настоящем документе вариантов осуществления полностью или частично могут быть эквивалентно реализованы в интегральных схемах в виде одной или более компьютерных программ, выполняемых на одном или более компьютерах (например, в виде одной или более программ, выполняемых в одной или более компьютерных системах), в виде одной или более программ, выполняемых на одном или более процессорах (например, в виде одной или более программ, выполняемых на одном или более микропроцессорах), в виде микропрограммного обеспечения или в виде по существу любой их комбинации и что разработка схем и/или написание кода для программного обеспечения и/или микропрограммного обеспечения будет вполне по силам специалисту в данной области после ознакомления с настоящим описанием. Кроме того, для специалистов в данной области будет очевидно, что механизмы объекта изобретения, описанные в настоящем документе, могут быть распределены в виде программного продукта в множестве форм и что иллюстративный вариант осуществления объекта изобретения, описанный в настоящем документе, применяют независимо от конкретного типа среды передачи сигналов, используемой для фактического осуществления такого распределения. Примеры носителя сигнала включают в себя, без ограничений, следующее: носитель, выполненный с возможностью записи, например, гибкий диск, накопитель на жестком диске, CD, DVD, магнитную ленту для цифровой записи, запоминающее устройство компьютера и т.д., а также носитель, выполненный с возможностью передачи, такой как цифровая и/или аналоговая среда передачи данных (например, оптоволоконный кабель, волновод, проводная линия связи, беспроводная линия связи и т.д.).In certain exemplary embodiments, certain portions of the subject matter described herein may be implemented with application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), and/or other integrated circuit formats. However, those skilled in the art will appreciate that certain aspects of the embodiments described herein, in whole or in part, may equivalently be implemented in integrated circuits as one or more computer programs executing on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as software. essentially any combination thereof, and that designing circuits and/or writing code for software and/or firmware would be well within the ability of a person skilled in the art upon reading this disclosure. In addition, it will be apparent to those skilled in the art that the mechanisms of the subject matter described herein may be distributed as a software product in a variety of forms and that the exemplary embodiment of the subject matter described herein is applicable regardless of the particular type of environment. the signaling used to actually make that allocation. Examples of the signal medium include, without limitation, the following: a recordable medium such as floppy disk, hard disk drive, CD, DVD, digital tape, computer storage device, etc., and a medium capable of transmission, such as a digital and/or analog data transmission medium (eg, fiber optic cable, waveguide, wired link, wireless link, etc.).
Описанный в настоящем документе объект изобретения иногда иллюстрирует различные компоненты, содержащиеся внутри различных других компонентов или соединенные с ними. Следует понимать, что такие показанные архитектуры являются лишь примерами и что фактически можно реализовать различные другие архитектуры с такой же функциональностью. В концептуальном смысле любая конструкция компонентов для получения такой же функциональности практически «связана» с возможностью обеспечения желаемой функциональности. Следовательно, любые два компонента, скомбинированные в настоящем документе для достижения конкретной функциональности, можно рассматривать как «связанные» друг с другом с возможностью обеспечения желаемой функциональности, независимо от архитектур или промежуточных компонентов. Аналогично любые два компонента, соединенные таким образом, можно также рассматривать как «функционально соединенные» или «функционально связанные» друг с другом для обеспечения желаемой функциональности, и любые два компонента, которые могут быть связаны таким образом, также можно рассматривать как «имеющие возможность функционального соединения» друг с другом для обеспечения желаемой функциональности. Конкретные примеры функционально соединяемых компонентов включают в себя, без ограничений, компоненты, выполненные с возможностью физического сопряжения, и/или физического, и/или логического, и/или беспроводного взаимодействия, и/или компоненты, взаимодействующие логически и/или беспроводным образом.The subject matter described herein sometimes illustrates various components contained within or connected to various other components. It should be understood that such illustrated architectures are merely examples and that various other architectures with the same functionality could in fact be implemented. In a conceptual sense, any design of components to achieve the same functionality is practically "related" to the ability to provide the desired functionality. Therefore, any two components combined herein to achieve a particular functionality can be considered to be "related" to each other to provide the desired functionality, regardless of architectures or intermediate components. Similarly, any two components that are connected in this way can also be considered to be "operably connected" or "operably linked" to each other to provide the desired functionality, and any two components that can be connected in this way can also be considered to be "capable of being functionally connections" with each other to provide the desired functionality. Specific examples of operably connected components include, without limitation, components capable of physical interfacing and/or physical and/or logical and/or wireless interaction and/or components that interact logically and/or wirelessly.
В отношении применения по существу любых вариантов множественного и/или единственного числа для терминов в настоящем документе специалисты в данной области могут изменять множественное число на единственное и/или единственное число на множественное в соответствии с требованиями контекста и/или сферой применения. В настоящем документе различные комбинации единственного/множественного числа для ясности могут быть указаны явным образом.With respect to the application of essentially any plural and/or singular variations for terms herein, those skilled in the art may change plural to singular and/or singular to plural as required by the context and/or scope. In this document, various combinations of singular/plural may be explicitly indicated for clarity.
Для специалистов в данной области будет очевидно, что в целом термины, используемые в настоящем документе и, в частности, в прилагаемой формуле изобретения (например, в главной части прилагаемой формулы изобретения), как правило, считаются «неограничивающими» терминами (например, термин «включающий» следует интерпретировать как «включающий, без ограничений», термин «имеющий» следует интерпретировать как «имеющий по меньшей мере», термин «включает» следует интерпретировать как «включает, без ограничений» и т.д.). Кроме того, для специалистов в данной области будет очевидно, что в случае, если предполагается конкретное количество включенных пунктов с изложением формулы изобретения, такое намерение будет явным образом указано в формуле изобретения, а в отсутствие такого упоминания такого намерения нет. Например, если речь идет только об одном элементе, может быть использован термин «один» или аналогичный термин. Для облегчения понимания нижеследующая прилагаемая формула изобретения и/или описания в данном документе могут содержать вводные фразы «по меньшей мере один» и «один или более» для введения перечисления пунктов формулы изобретения. Однако использование таких фраз не следует истолковывать как подразумевающее, что введение перечисления пунктов формулы изобретения с грамматическими формами единственного числа ограничивает любой конкретный пункт формулы изобретения, содержащий такое введенное перечисление пунктов формулы изобретения, вариантами осуществления, содержащими только одно такое перечисление, даже если тот же пункт включает вводные фразы «один или более» или «по меньшей мере один» и грамматические формы единственного числа (например, грамматические формы единственного числа следует интерпретировать как означающие «по меньшей мере» или «один или более»). То же самое справедливо в отношении применения определенных грамматических форм, используемых для введения перечисления пунктов формулы изобретения. Кроме того, даже если явным образом указано конкретное количество включенных перечисленных пунктов формулы изобретения, для специалистов в данной области будет очевидно, что такое перечисление следует интерпретировать как означающее по меньшей мере указанное количество (например, простое указание «двух пунктов» без других определений означает по меньшей мере два пункта же два или более пунктов). Кроме того, в случае использования правила, аналогичного правилу «по меньшей мере одно из A, B и C и т.д.», в общем случае для специалиста в данной области понятно правило, подразумеваемое такой конструкцией (например, «система, содержащая по меньшей мере одно из A, B и C» будет включать, без ограничений, системы, которые содержат только A, только B, только C, одновременно A и B, одновременно A и C, одновременно B и C и/или одновременно A, B и C и т.д.). В случае использования правила, аналогичного правилу «по меньшей мере одно из A, B или C и т.д.», в общем случае для специалиста в данной области понятно правило, подразумеваемое такой конструкцией (например, «система, содержащая по меньшей мере одно из A, B или C» будет включать в себя, без ограничений, системы, которые содержат только A, только B, только C, одновременно A и B, одновременно A и C, одновременно B и C и/или одновременно A, B и C и т.д.). Кроме того, для специалистов в данной области будет очевидно, что по существу любое разделяющее слово и/или разделяющая фраза, представляющие два или более альтернативных терминов, будь то в описании, формуле изобретения или на чертежах, подразумевают возможность включения одного из терминов, любого из терминов или обоих терминов. Например, фраза «A или B» будет подразумевать включение возможностей «A» или «B» или «A и B». Кроме того, используемый в настоящем документе термин «любой из», после которого следует перечень множества элементов и/или множества категорий элементов, должен включать «любой из», «любая комбинация из», «любое множество из» и/или «любая комбинация из множества» элементов и/или категорий элементов, по отдельности или в сочетании с другими элементами и/или другими категориями элементов. Кроме того, используемый в настоящем документе термин «набор» или «группа» включает в себя любое количество элементов, в том числе ноль. Кроме того, используемый в настоящем документе термин «количество» включает в себя любое количество, в том числе ноль.It will be apparent to those skilled in the art that, in general, terms used herein and in particular in the appended claims (e.g., in the main body of the appended claims) are generally considered to be "non-limiting" terms (e.g., the term " including" should be interpreted as "including, without limitation", the term "having" should be interpreted as "having at least", the term "includes" should be interpreted as "includes, without limitation", etc.). In addition, those skilled in the art will appreciate that if a specific number of claims are intended to be included, that intent will be explicitly stated in the claims, and in the absence of such mention, there is no such intention. For example, if only one element is involved, the term "one" or a similar term may be used. For ease of understanding, the following appended claims and/or descriptions herein may contain the introductory phrases "at least one" and "one or more" to introduce a listing of claims. However, the use of such phrases should not be construed as implying that the introduction of a claim enumeration with singular grammatical forms limits any particular claim containing such an introduced enumeration of claims to embodiments containing only one such enumeration, even if the same claim includes the introductory phrases "one or more" or "at least one" and singular grammatical forms (eg, singular grammatical forms should be interpreted to mean "at least" or "one or more"). The same is true for the use of certain grammatical forms used to introduce a listing of claims. In addition, even if a specific number of included listed claims is explicitly indicated, it will be obvious to those skilled in the art that such a listing should be interpreted to mean at least the specified number (for example, simply indicating "two claims" without other definitions means by at least two points and two or more points). In addition, in the case of using a rule similar to the rule "at least one of A, B and C, etc.", in general, a person skilled in the art understands the rule implied by such a construction (for example, "a system containing at least one of A, B and C" will include, without limitation, systems that contain only A, only B, only C, both A and B, both A and C, both B and C, and/or both A, B and C, etc.). In the case of using a rule similar to the rule "at least one of A, B or C, etc.", in general, a person skilled in the art understands the rule implied by such a design (for example, "a system containing at least one of A, B or C" will include, without limitation, systems that contain only A, only B, only C, both A and B, both A and C, both B and C, and/or both A, B and C, etc.). In addition, it will be obvious to those skilled in the art that essentially any separating word and/or separating phrase representing two or more alternative terms, whether in the description, claims, or drawings, is intended to include one of the terms, any of terms or both terms. For example, the phrase "A or B" would imply the inclusion of the possibilities "A" or "B" or "A and B". In addition, as used herein, the term "any of" followed by a list of a plurality of elements and/or a plurality of categories of elements shall include "any of", "any combination of", "any plurality of", and/or "any combination of from a plurality of elements and/or categories of elements, either alone or in combination with other elements and/or other categories of elements. In addition, as used herein, the term "set" or "group" includes any number of elements, including zero. In addition, as used herein, the term "amount" includes any number, including zero.
Кроме того, если признаки или аспекты описания представлены в терминах групп Маркуша, специалистам в данной области будет очевидно, что описание, таким образом, также представлено в терминах любого отдельного члена или подгруппы членов группы Маркуша.In addition, if features or aspects of the description are presented in terms of Markush groups, it will be apparent to those skilled in the art that the description is thus also presented in terms of any individual member or subgroup of members of the Markush group.
Как будет очевидно для специалиста в данной области, для всех целей, таких как обеспечение письменного описания, все диапазоны, описанные в настоящем документе, также охватывают все их возможные поддиапазоны и комбинации поддиапазонов. Любой из перечисленных диапазонов можно легко распознать как представляющий достаточное описание и как диапазон, который можно разбить на по меньшей мере равные половины, трети, четверти, пятые части, десятые части и т.д. В примере, не имеющем ограничительного характера, каждый диапазон, описанный в данном документе, можно легко разбить в нижнюю треть, среднюю треть и верхнюю треть, и т.д. Как будет очевидно для специалиста в данной области, все термины, такие как «вплоть до», «по меньшей мере», «более чем», «менее чем» и т.п., включают в себя указанное число и относятся к диапазонам, которые можно впоследствии разбить на поддиапазоны, как описано выше. И наконец, как будет очевидно для специалиста в данной области, диапазон включает в себя каждый отдельный элемент. Таким образом, например, группа, содержащая 1–3 соты, относится к группам, содержащим 1, 2 или 3 соты. Аналогично группа, содержащая 1–5 сот, относится к группам, содержащим 1, 2, 3, 4 или 5 сот, и т.д.As will be apparent to one of skill in the art, for all purposes, such as providing a written description, all ranges described herein also cover all of their possible subranges and combinations of subranges. Any of the listed ranges can be easily recognized as providing a sufficient description and as a range that can be broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. In a non-limiting example, each range described herein can be easily broken down into lower third, middle third, and upper third, and so on. As will be apparent to one of ordinary skill in the art, all terms such as "up to", "at least", "more than", "less than", etc., include the cited number and refer to ranges which can be further divided into subranges as described above. Finally, as will be apparent to those skilled in the art, the range includes every single element. Thus, for example, a group containing 1-3 cells refers to groups containing 1, 2, or 3 cells. Similarly, a group containing 1-5 cells refers to groups containing 1, 2, 3, 4 or 5 cells, etc.
Кроме того, формулу изобретения не следует рассматривать как ограниченную предложенным порядком или элементами, если не указано иное. Кроме того, использование термина «предназначенный для» в любом пункте формулы изобретения предполагает ссылку на Свод законов США (U.S.C.) 35 §112(f) или формат пункта формулы изобретения «предназначенный для плюс функция», и любой пункт формулы изобретения, не содержащий термин «предназначенный для», не указывает на это.In addition, the claims should not be construed as being limited to the proposed order or elements, unless otherwise indicated. In addition, use of the term "intended for" in any claim implies reference to 35 U.S.C. "intended for" does not indicate this.
Хотя изобретение проиллюстрировано и описано в настоящем документе применительно к конкретным вариантам осуществления, изобретение не ограничено представленным подробным описанием. Напротив, в подробное описание в пределах объема и диапазона эквивалентов формулы изобретения могут быть внесены различные изменения без отступления от настоящего изобретения.Although the invention has been illustrated and described herein in connection with specific embodiments, the invention is not limited to the detailed description provided. On the contrary, various changes may be made to the detailed description within the scope and range of equivalents of the claims without departing from the present invention.
Для специалистов в данной области будет очевидно, что в настоящем описании некоторые типовые варианты осуществления можно использовать в альтернативном варианте осуществления или в сочетании с другими типовыми вариантами осуществления.It will be apparent to those skilled in the art that, in the present disclosure, certain exemplary embodiments may be used in an alternative embodiment or in combination with other exemplary embodiments.
Хотя признаки и элементы описаны выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент можно использовать отдельно или в любой комбинации с другими признаками и элементами. Кроме того, описанные в настоящем документе способы могут быть реализованы в компьютерной программе, программном обеспечении или программно-аппаратном обеспечении, встроенном в машиночитаемый носитель и предназначенном для исполнения компьютером или процессором. Примеры энергозависимого машиночитаемого носителя информации включают в себя, без ограничений, постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), регистр, кэш-память, полупроводниковые устройства хранения данных, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD). Процессор в сочетании с программным обеспечением можно использовать для реализации радиочастотного приемопередатчика, предназначенного для применения в составе модуля WTRU, UE, терминала, базовой станции, контроллера RNC или любого главного компьютера.While the features and elements are described above in specific combinations, it will be apparent to one skilled in the art that each feature or element can be used alone or in any combination with other features and elements. In addition, the methods described herein may be implemented in a computer program, software, or firmware embedded in a computer-readable medium and designed to be executed by a computer or processor. Examples of volatile computer-readable storage media include, without limitation, read-only memory (ROM), random access memory (RAM), register, cache memory, semiconductor storage devices, magnetic media such as internal hard drives and removable drives, magneto-optical media and optical media such as CD-ROMs and digital versatile discs (DVDs). The processor, in conjunction with software, may be used to implement an RF transceiver for use in a WTRU, UE, terminal, base station, RNC, or any host computer.
Кроме того, в описанных выше вариантах осуществления отмечены платформы для выполнения обработки, вычислительные системы, контроллеры и другие устройства, содержащие процессоры. Эти устройства могут содержать по меньшей мере один центральный процессор (ЦП) и запоминающее устройство. Как свидетельствует практика специалистов в области компьютерного программирования, указания на действия и символические представления этапов или команд могут быть реализованы с помощью различных ЦП и запоминающих устройств. Такие действия и этапы или команды могут упоминаться как «исполняемые», «исполняемые с помощью компьютера» или «исполняемые с помощью ЦП».In addition, in the embodiments described above, processing platforms, computing systems, controllers, and other devices containing processors are noted. These devices may include at least one central processing unit (CPU) and a storage device. As the practice of specialists in the field of computer programming shows, indications of actions and symbolic representations of steps or commands can be implemented using various CPUs and storage devices. Such actions and steps or commands may be referred to as "executable", "computer-executable", or "CPU-executable".
Для специалиста в данной области будет очевидно, что указанные действия и символически представленные этапы или команды включают управление электрическими сигналами с помощью ЦП. Электрическая система выдает биты данных, которые могут инициировать итоговое преобразование или ослабление электрических сигналов и сохранение битов данных в ячейках запоминающего устройства в системе запоминающего устройства, чтобы таким образом переконфигурировать или иным образом изменить работу ЦП, а также другую обработку сигналов. Ячейки запоминающего устройства, в которых хранятся биты данных, представляют собой физические местоположения, которые обладают определенными электрическими, магнитными, оптическими или органическими свойствами, соответствующими битам данных или характерными для битов данных.It will be apparent to a person skilled in the art that said actions and symbolically represented steps or commands involve the control of electrical signals by the CPU. The electrical system provides data bits that can cause the resulting conversion or attenuation of the electrical signals and the storage of the data bits in storage cells in the storage system to thereby reconfigure or otherwise alter CPU operation as well as other signal processing. Memory cells that store data bits are physical locations that have certain electrical, magnetic, optical, or organic properties corresponding to or characteristic of data bits.
Биты данных также могут храниться на машиночитаемом носителе, в том числе на магнитных дисках, оптических дисках и любом другом энергозависимом (например, оперативном запоминающем устройстве (ОЗУ)) или энергонезависимом (например, постоянном запоминающем устройстве (ПЗУ)) накопителе большой емкости, считываемом ЦП. Машиночитаемый носитель может включать в себя взаимодействующий или взаимосвязанный машиночитаемый носитель, применяемый исключительно в системе обработки или распределенный между множеством взаимосвязанных систем обработки, которые могут быть локальными или удаленными по отношению к указанной системе обработки. При этом подразумевается, что типовые варианты осуществления не ограничены вышеупомянутыми запоминающими устройствами и что другие платформы и запоминающие устройства также могут поддерживать описанные способы.Data bits may also be stored on a computer-readable medium, including magnetic disks, optical disks, and any other volatile (eg, random access memory (RAM)) or non-volatile (eg, read only memory (ROM)) mass storage device readable by the CPU. . Computer-readable media may include co-operating or interconnected computer-readable media used exclusively within a processing system or distributed among a plurality of interconnected processing systems, which may be local or remote to said processing system. This implies that exemplary embodiments are not limited to the aforementioned storage devices and that other platforms and storage devices may also support the described methods.
Ни одни из элементов, действий или инструкций, используемых в описании настоящей заявки, не следует рассматривать как критические или существенные для настоящего изобретения, если явным образом не описано иное. Кроме того, используемая в настоящем документе грамматическая форма единственного числа предполагает включение одного или более элементов. Если подразумевается только один элемент, используют термин «один» или аналогичный термин. Кроме того, используемый в настоящем документе термин «любой из», после которого следует перечень множества элементов и/или множества категорий элементов, должен включать «любой из», «любая комбинация из», «любое множество из» и/или «любая комбинация из множества» элементов и/или категорий элементов, по отдельности или в сочетании с другими элементами и/или другими категориями элементов. Кроме того, используемый в настоящем документе термин «набор» включает любое количество элементов, в том числе ноль. Кроме того, используемый в настоящем документе термин «количество» включает любое количество, включая ноль.None of the elements, acts or instructions used in the description of this application should not be considered critical or essential to the present invention, unless expressly described otherwise. In addition, as used herein, the singular grammatical form is intended to include one or more elements. If only one element is intended, use the term "one" or a similar term. In addition, as used herein, the term "any of" followed by a list of a plurality of elements and/or a plurality of categories of elements shall include "any of", "any combination of", "any plurality of", and/or "any combination of "multiple" elements and/or categories of elements, either alone or in combination with other elements and/or other categories of elements. In addition, as used herein, the term "set" includes any number of elements, including zero. In addition, as used herein, the term "amount" includes any number, including zero.
Кроме того, формулу изобретения не следует рассматривать как ограниченную описанным порядком или элементами, если не указано иное. Кроме того, использование термина «средство» в любом пункте формулы изобретения предполагает ссылку на Свод законов США (U.S.C.) 35 §112(f), и любой пункт формулы изобретения, не содержащий термин «средство», не указывает на это.In addition, the claims should not be construed as being limited to the order or elements described, unless otherwise indicated. In addition, the use of the term “remedy” in any claim implies reference to 35 U.S.C.
В качестве примера подходящие процессоры включают процессор общего назначения, процессор специального назначения, стандартный процессор, цифровой сигнальный процессор (DSP), множество микропроцессоров, один или более микропроцессоров, связанных с ядром DSP, контроллер, микроконтроллер, специализированные интегральные микросхемы (ASIC), стандартные части специализированной интегральной схемы (ASSP); программируемую пользователем вентильную матрицу (FPGA), интегральную схему (IC) любого другого типа и/или конечный автомат.By way of example, suitable processors include a general purpose processor, a special purpose processor, a standard processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, application specific integrated circuits (ASICs), standard parts application specific integrated circuit (ASSP); a field programmable gate array (FPGA), any other type of integrated circuit (IC), and/or a state machine.
Процессор в сочетании с программным обеспечением можно использовать для реализации радиочастотного приемопередатчика для использования в модуле беспроводной передачи/приема (WRTU), оборудовании пользователя (UE), терминале, базовой станции, объекте управления мобильностью (MME) или усовершенствованном пакетном ядре (EPC) или любом главном компьютере. WRTU можно использовать в сочетании с модулями, реализованными в аппаратном и/или программном обеспечении, включая систему радиосвязи с программируемыми параметрами (SDR) и другие компоненты, такие как камера, модуль видеокамеры, видеотелефон, телефон с громкоговорителем, вибрационное устройство, динамик, микрофон, телевизионный приемопередатчик, наушники с микрофоном, клавиатура, модуль Bluetooth®, радиомодуль с частотной модуляцией (FM), модуль ближней радиосвязи (NFC), блок жидкокристаллического дисплея (LCD), блок дисплея на органических светодиодах (OLED), цифровой музыкальный проигрыватель, мультимедийный проигрыватель, модуль устройства для воспроизведения видеоигр, Интернет-браузер и/или любая беспроводная локальная сеть (WLAN) или модуль сверхширокополосной связи (UWB).The processor, in combination with software, can be used to implement an RF transceiver for use in a wireless transmit/receive unit (WRTU), user equipment (UE), terminal, base station, mobility management entity (MME), or evolved packet core (EPC), or any main computer. The WRTU may be used in conjunction with modules implemented in hardware and/or software, including Software Defined Radio (SDR) and other components such as a camera, video camera module, video phone, loudspeaker phone, vibration device, speaker, microphone, TV transceiver, headphones with microphone, keyboard, Bluetooth® module, frequency modulation (FM) radio module, near field communication (NFC) module, liquid crystal display (LCD) unit, organic light emitting diode (OLED) display unit, digital music player, media player , a video game playback device module, an Internet browser, and/or any wireless local area network (WLAN) or ultra-wideband (UWB) module.
Хотя изобретение описано в контексте систем связи, предполагается, что указанные системы могут быть реализованы в виде программного обеспечения в микропроцессорах/компьютерах общего назначения (не показаны). В определенных вариантах осуществления одна или более функций различных компонентов могут быть реализованы в программном обеспечении, управляющем компьютером общего назначения.While the invention has been described in the context of communications systems, it is contemplated that these systems may be implemented as software in general purpose microprocessors/computers (not shown). In certain embodiments, one or more functions of the various components may be implemented in software that controls a general purpose computer.
Кроме того, хотя изобретение проиллюстрировано и описано в настоящем документе применительно к конкретным вариантам осуществления, изобретение не ограничено представленным подробным описанием. Напротив, в подробное описание в пределах объема и диапазона эквивалентов формулы изобретения могут быть внесены различные изменения без отступления от настоящего изобретения.In addition, although the invention has been illustrated and described herein in connection with specific embodiments, the invention is not limited to the detailed description provided. On the contrary, various changes may be made to the detailed description within the scope and range of equivalents of the claims without departing from the present invention.
Claims (39)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/815,725 | 2019-03-08 | ||
US62/866,043 | 2019-06-25 | ||
US62/908,630 | 2019-10-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2021128499A RU2021128499A (en) | 2023-03-29 |
RU2795052C2 true RU2795052C2 (en) | 2023-04-28 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120016965A1 (en) * | 2010-07-13 | 2012-01-19 | Qualcomm Incorporated | Video switching for streaming video data |
WO2013022540A1 (en) * | 2011-08-11 | 2013-02-14 | Qualcomm Incorporated | Three-dimensional video with asymmetric spatial resolution |
RU2659748C2 (en) * | 2013-01-07 | 2018-07-03 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Syntax and semantics for buffering information to simplify video concatenation |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120016965A1 (en) * | 2010-07-13 | 2012-01-19 | Qualcomm Incorporated | Video switching for streaming video data |
WO2013022540A1 (en) * | 2011-08-11 | 2013-02-14 | Qualcomm Incorporated | Three-dimensional video with asymmetric spatial resolution |
RU2659748C2 (en) * | 2013-01-07 | 2018-07-03 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Syntax and semantics for buffering information to simplify video concatenation |
Non-Patent Citations (1)
Title |
---|
Sebastian Schwarz et al, Emerging MPEG Standards for Point Cloud Compression, IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS, VOL. 9, NO. 1, MARCH 2019, c. 133 - 148, [Найдено 06.03.2023] в Интернет https://ieeexplore.ieee.org/ielx7/5503868/8664408/08571288.pdf?tp=&arnumber=8571288&isnumber=8664408&ref=aHR0cHM6Ly9pZWVleHBsb3JlLmllZWUub3JnL2RvY3VtZW50Lzg1NzEyODg=, 09.12.2018, 16 с. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113557741B (en) | Method and apparatus for adaptive streaming of point clouds | |
JP6174139B2 (en) | Tile and wavefront parallel processing | |
TWI633780B (en) | Selection of target output layers in high efficiency video coding extensions | |
JP6545722B2 (en) | System and method for selectively signaling different numbers of video signal information syntax structures in a parameter set | |
US10356448B2 (en) | Multi representation edge server with enhanced open-GOP compression | |
US11438600B2 (en) | Immersive media metrics for virtual reality content with multiple viewpoints | |
JP6800747B2 (en) | Improved RTP payload format design | |
US20120170648A1 (en) | Frame splitting in video coding | |
TWI590651B (en) | Streaming adaption based on clean random access (cra) pictures | |
CN113170201B (en) | Method and apparatus for decoding video data | |
TW201320754A (en) | MVC based 3DVC codec supporting inside view motion prediction (IVMP) mode | |
JP2014513456A (en) | Video coding technique for coding dependent pictures after random access | |
KR101870546B1 (en) | Systems and methods for inter-layer rps derivation based on sub-layer reference prediction dependency | |
JP6701100B2 (en) | Recovery point SEI message in multi-layer video codec | |
US20210006839A1 (en) | Picture filtering method and apparatus, and video codec | |
TW202103496A (en) | Simplification of clipping value calculation for adaptive loop filters | |
JP2021521720A (en) | Simplified most probable mode list generation scheme | |
WO2019189340A1 (en) | Encoding device, decoding device, encoding method, and decoding device | |
RU2795052C2 (en) | Methods and device for adaptive point cloud streaming | |
TW202046733A (en) | Methods and apparatus for adaptive streaming of point clouds | |
Akramullah et al. | Video Coding Standards | |
Arora et al. | A Review on Different Video Coding Standards | |
Smith | Receiver-Driven Video Adaptation | |
JP2024516366A (en) | Block Importance Mapping | |
JP2024513512A (en) | Media file generation/reception method and device based on EOS sample group, and media file transmission method |