Что такое дескрипторы в процессоре

Обновлено: 03.07.2024

Я знаю, что такое сегментные регистры. Они содержат селектор сегмента (индекс в таблице дескрипторов + уровень привилегий + локальная или глобальная таблица) и, по-видимому, скрытую часть, также известную как «кеш дескрипторов». Я также понимаю, что такое глобальные и локальные таблицы дескрипторов и, конечно же, сами дескрипторы. Однако в руководстве для разработчиков программного обеспечения для архитектур Intel 64 и IA-32 регистр дескриптора упоминается на странице 95, том 3A (глава 3.4.4: Инструкции по загрузке сегментов в режиме IA-32e), и я впервые слышу о них.

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

Кто-нибудь из вас может объяснить, что такое регистр дескриптора? SS, ES, DS, CS, Es, FS и GS являются сегментными регистрами, и каждая запись в глобальных и локальных таблицах дескрипторов называется дескрипторами. Что же такое регистры дескрипторов?

Я провел некоторые исследования в Google, но ничего не ответил на мой вопрос.


@MichaelPetch «Это скрытые/частные регистры». Точнее, «скрытая часть сегментных регистров». Как сказано в руководстве для разработчиков программного обеспечения Intel на предыдущей странице (94 вместо 95): Каждый сегментный регистр имеет «видимую» часть и «скрытую» часть. (Скрытую часть иногда называют «кешем дескрипторов» или «теневым регистром».)

@MichaelPetch Кстати, мне нравится твой ответ. Не могли бы вы опубликовать это как фактический ответ вместо комментария? Я бы принял и проголосовал бы за это.

@MichaelPetch Подождите секунду. Почему в руководстве Intel говорится, что каждый сегментный регистр имеет «видимую» часть и «скрытую» часть, если скрытая часть находится не в сегментном регистре, а в кэш-регистре дескриптора? Разве регистры кэша дескрипторов не являются частью регистров сегментов?

2 ответа 2

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

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

То же самое происходит при переключении режимов, например из реального режима в защищенный или из защищенного режима в длинный режим (который Intel называет режимом IA-32e). После перехода из реального режима в защищенный в кэше дескрипторов сохраняются старые базы, ограничения и права доступа реального режима. Это важно, потому что регистры сегментов по-прежнему содержат свои значения реального режима, которые вряд ли будут действительными в защищенном режиме. В частности, он позволяет получить следующую инструкцию в CS:EIP, даже если CS содержит недопустимый селектор. Кэш дескриптора CS по-прежнему содержит действительные значения, указывающие на то же место, что и до изменения режима.

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

5.1 Преобразование сегментов

BASE: определяет расположение сегмента в 4-гигабайтном линейном адресном пространстве. Процессор объединяет три фрагмента базового адреса, чтобы сформировать одно 32-битное значение.

<ПР>
  • В единицах одного байта, чтобы определить ограничение до 1 мегабайта.
  • В единицах по 4 килобайта, чтобы определить ограничение до 4 гигабайт. При загрузке предел сдвигается влево на 12 бит, и вставляются младшие биты.
  • ТИП: различает различные типы дескрипторов.

    DPL (уровень привилегий дескриптора): используется механизмом защиты (см. главу 6).

    <УЛ>
  • Когда линейное пространство, охватываемое сегментом, не отображается механизмом подкачки.
  • Если сегмент отсутствует в памяти.
  • За создание и обслуживание дескрипторов отвечает системное программное обеспечение, обычно требующее сотрудничества компиляторов, загрузчиков программ или системных сборщиков, а также системы оценки.

    5.1.2 Таблицы дескрипторов

    <УЛ>
  • Глобальная таблица дескрипторов (GDT)
  • Локальная таблица дескрипторов (LDT)
  • Процессор находит GDT и текущий LDT в памяти с помощью регистров GDTR и LDTR. Эти регистры хранят базовые адреса таблиц в линейном адресном пространстве и хранят пределы сегментов. Инструкции LGDT и SGDT предоставляют доступ к GDTR; инструкции LLDT и SLDT предоставляют доступ к LDTR.

    5.1.3 Селекторы

    Селекторная часть логического адреса идентифицирует дескриптор, указывая таблицу дескрипторов и индексируя дескриптор в этой таблице. Селекторы могут быть видны прикладным программам как поле внутри переменной-указателя, но значения селекторов обычно присваиваются (исправляются) компоновщиками или связывающими загрузчиками. На рис. 5-6 показан формат селектора.

    Индекс: выбирает один из 8192 дескрипторов в таблице дескрипторов. Процессор просто умножает это значение индекса на 8 (длина дескриптора) и добавляет результат к базовому адресу таблицы дескрипторов, чтобы получить доступ к соответствующему дескриптору сегмента в таблице.

    Индикатор таблицы: указывает, к какой таблице дескрипторов относится селектор. Ноль указывает на GDT; единица указывает текущий LDT.

    Запрошенный уровень привилегий: используется механизмом защиты. (см. главу 6)

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

    5.1.4 Сегментные регистры

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

    Каждый сегментный регистр имеет «видимую» и «невидимую» части, как показано на рис. 5-7. Программы манипулируют видимыми частями этих адресных регистров сегментов, как если бы они были просто 16-битными регистрами. Невидимыми частями управляет процессор.

    <ПР>
  • Инструкции по прямой загрузке; например, MOV, POP, LDS, LSS, LGS, LFS. Эти инструкции явно ссылаются на регистры сегментов.
  • Подразумеваемые инструкции по загрузке; например, дальний CALL и JMP. Эти инструкции неявно ссылаются на регистр CS и загружают в него новое значение.
  • Поскольку большинство инструкций ссылаются на данные в сегментах, селекторы которых уже загружены в регистры сегментов, процессор может добавить смещение относительно сегмента, предоставленное инструкцией, к базовому адресу сегмента без дополнительных затрат.

    Дескрипторы создаются вызовами API и идентифицируют ресурсы.

    Данные дескриптора

    Дескриптор – это относительно небольшой блок данных, который полностью описывает объект для графического процессора в непрозрачном формате, специфичном для графического процессора. Существует несколько различных типов дескрипторов: целевые представления рендеринга (RTV), представления трафарета глубины (DSV), представления ресурсов шейдера (SRV), представления неупорядоченного доступа (UAV), представления постоянного буфера (CBV) и сэмплеры.

    Дескрипторы различаются по размеру в зависимости от аппаратного обеспечения графического процессора. Вы можете запросить размер SRV, UAV или CBV, вызвав ID3D12Device::GetDescriptorHandleIncrementSize. Дескрипторы показаны в этой документации как неделимые единицы; вот пример.

    srv, cbv, БПЛА и пробоотборник

    Дескрипторы создаются с помощью вызовов API и будут включать такую ​​информацию, как ресурс и мип-карты, которые вы хотите, чтобы дескриптор содержал.

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

    Описатели объектов не нужно освобождать или освобождать. Драйверы не привязывают никаких распределений к созданию дескриптора. Однако дескриптор может кодировать ссылки на другие распределения, время существования которых принадлежит приложению. Например, дескриптор для SRV должен содержать виртуальный адрес ресурса D3D (например, текстуры), на который ссылается SRV.Приложение несет ответственность за то, чтобы оно не использовало дескриптор SRV, когда базовый ресурс D3D, от которого оно зависит, был уничтожен или изменен (например, объявлен нерезидентным).

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

    Описатели дескриптора

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

    Описатели ЦП предназначены для немедленного использования, например, для копирования, когда необходимо определить как источник, так и место назначения. Сразу же после использования (например, при вызове ID3D12GraphicsCommandList::OMSetRenderTargets) их можно использовать повторно или удалить лежащую в их основе кучу.

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

    Чтобы создать дескриптор дескриптора для начала кучи, после создания самой кучи дескрипторов вызовите один из следующих методов:

    Эти методы возвращают следующие структуры:

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

    Безопасно смещать начальное местоположение с некоторым шагом, копировать дескрипторы и передавать дескрипторы в вызовы API. Небезопасно ни разыменовывать дескриптор, как если бы он был действительным указателем ЦП, ни анализировать биты внутри дескриптора.

    Добавлены некоторые вспомогательные структуры с элементами инициализации, чтобы немного упростить управление дескрипторами.

    Нулевые дескрипторы

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

    Остальная часть дескриптора должна быть максимально заполнена. Например, в случае представлений ресурсов шейдера (SRV) дескриптор может использоваться для определения типа представления (Texture1D, Texture2D и т. д.). Все числовые параметры в дескрипторе представления, такие как количество MIP-карт, должны быть установлены в значения, допустимые для ресурса.

    Во многих случаях существует определенное поведение для доступа к несвязанным ресурсам, таким как SRV, которые возвращают значения по умолчанию. Они будут учитываться при доступе к дескриптору NULL, если тип доступа к шейдеру совместим с типом дескриптора. Например, если шейдер ожидает SRV Texture2D и получает доступ к SRV NULL, определенному как Texture1D, поведение не определено и может привести к перезагрузке устройства.

    Итак, чтобы создать пустой дескриптор, передайте значение null для параметра pResource при создании представления с помощью таких методов, как CreateShaderResourceView. Для параметра описания представления pDesc задайте конфигурацию, которая будет работать, если ресурс не равен нулю (иначе может произойти сбой на некотором оборудовании).

    Однако корневые дескрипторы не должны иметь значение null.

    На оборудовании уровня 1 (см. Уровни оборудования) все дескрипторы, которые связаны (через таблицы дескрипторов), должны быть инициализированы либо как настоящие дескрипторы, либо как нулевые дескрипторы, даже если аппаратное обеспечение не обращается к ним, в противном случае поведение не определено.

    На оборудовании уровня 2 это относится к связанным дескрипторам CBV и UAV, но не к дескрипторам SRV.

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

    Описатели по умолчанию

    Чтобы создать дескриптор по умолчанию для определенного представления, передайте допустимый параметр pResource в метод создания представления (например, CreateShaderResourceView), но передайте NULL для pDesc параметр. Например, если ресурс содержит 14 мипов, то представление будет содержать 14 мипов. Случай по умолчанию охватывает наиболее очевидное сопоставление ресурса с представлением. Для этого требуется, чтобы ресурс был выделен с полным именем формата (например, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, а не DXGI_FORMAT_R8G8B8A8_TYPELESS).

    Дескрипторы по умолчанию нельзя использовать с представлением структуры ускорения трассировки лучей, поскольку предоставленный параметр pResource должен иметь значение NULL, а местоположение должно передаваться через [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV]/windows/win32/api. /d3d12/ns-d3d12-d3d12_raytracing_acceleration_structure_srv).

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

    Стин Ларсен, Бен Ли, Достижения в области компьютеров, 2014 г.

    4.3.2 Упаковка дескриптора

    Объединение дескрипторов можно использовать для уменьшения общей задержки получения.Например, размер дескриптора Ethernet обычно составляет 16 байт, и, таким образом, несколько дескрипторов могут быть прочитаны с одного дверного звонка [34] (например, четыре дескриптора будут считаны одновременно при размере строки кэша 64 байта). Это хорошо работает, когда сетевой адаптер выполняет предварительную выборку дескрипторов для пакетов DMA, которые будут получены в будущем.

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

    Инструменты для разработки химических продуктов

    Аннотация

    Молекулярные дескрипторы — это операции над свойствами молекулы (например, структура, химическая формула и т. д.), которые в конечном итоге присваивают номер, связанный с этим дескриптором, конкретной молекуле. Существуют тысячи молекулярных дескрипторов, которые использовались по-разному, от корреляции экспериментальных свойств до использования в автоматизированном молекулярном дизайне (CAMD), со многими промежуточными приложениями. В этой главе мы выделяем молекулярный дескриптор под названием Signature, который впервые был введен в 1994 году для структурных исследований, но теперь используется в различных областях, включая молекулярный дизайн. Мы представляем историю Signature, ее определение и ее использование с 2003 года по сегодняшний день в 2016 году. В заключении мы приведем основные моменты трех разных тематических исследований, демонстрирующих, как Signature использовалась в каждом из них.

    Знакомство с Linux

    Защищенный режим

    Защищенный режим по-прежнему использует регистры сегментов, но вместо прямого предоставления части адреса значение в регистре сегментов (теперь называемое селектором) становится индексом в таблице Дескрипторы сегментов . Дескриптор сегмента полностью описывает блок памяти, включая, среди прочего, его базу и предел (см. рис. 3.6). Линейный адрес в физической памяти вычисляется путем добавления смещения логического адреса к основанию, содержащемуся в дескрипторе. Если результирующий адрес больше предела, указанного в дескрипторе, процессор сигнализирует об ошибке защиты памяти.

    < бр />

    Рисунок 3.6. Адресация в защищенном режиме.

    Базовый адрес[31:0]: начальный адрес для этого блока/сегмента.

    Limit[19:0]: длина этого сегмента. Это может быть либо длина в байтах (до 1 Мбайт), либо длина в 4 Кбайт страницы. Интерпретация определяется битом детализации.

    Тип: 4-битное поле, определяющее тип памяти, который описывает этот сегмент

    S 0 = этот дескриптор описывает сегмент «Система». 1=этот дескриптор описывает сегмент кода или данных.

    Уровень привилегий дескриптора DPL: 2-битное поле, определяющее минимальный уровень привилегий, необходимый для доступа к этому сегменту.

    P Present: 1=блок памяти, представленный этим дескриптором, присутствует в памяти. Используется в пейджинге.

    G Гранулярность: 0 = интерпретировать лимит как байты. 1=Интерпретировать ограничение как страницы размером 4 Кбайт.

    Обратите внимание, что если для бита детализации установлено значение 1, один дескриптор сегмента может представлять все адресное пространство размером 4 ГБ.

    Обычные дескрипторы (S бит=1) описывают блоки памяти, представляющие данные или код. Поле типа состоит из четырех битов, где старший бит различает сегменты кода и данных. Сегменты кода являются исполняемыми, а сегменты данных — нет. CS может быть или не быть читаемым. Сегмент данных может быть доступен для записи. Любая попытка доступа, выходящая за рамки поля «Тип» — например, попытка выполнить сегмент данных — вызывает сбой защиты памяти.

    Обработка, анализ и изучение изображений, фигур и форм: часть 2

    Ю Ван, Джастин Соломон, Handbook of Numerical Analysis, 2019

    4.4.6 Извлечение функций

    Описатели, такие как тепловые и волновые сигнатуры ядра в разделе 4.3, предоставляют мощные инструменты для поиска ключевых точек, которые могут быть кандидатами на соответствие ориентирам. Точно так же спектральную информацию можно использовать для обнаружения характерных точек и областей на поверхности. Например, обнаружение значимости спектральной сетки (Song et al., 2014) обобщает обнаружение спектральной значимости изображения (Хоу и Чжан, 2007) для сеток: Проще говоря, вместо применения функции фильтра к собственным значениям, как при спектральной фильтрации, метод по существу применяет фильтр к журналу собственных значений, чтобы усилить и подчеркнуть низкочастотная часть спектра.

    24-й Европейский симпозиум по автоматизированному проектированию технологических процессов

    Роберт Х. Херринг III , Марио Р. Иден, компьютерная химическая инженерия, 2014 г.

    1.1 Дескриптор подписи

    Дескриптор сигнатуры представляет собой дескриптор на основе фрагмента, который кодирует среду вокруг центрального атома до заданной высоты, h. Пример этого показан ниже: Для структуры на рис. (1) двухатомная сигнатура высоты для обведенного кружком атома углерода включает все атомы на расстоянии двух связей от этого центрального атома. Кроме того, атомы, включенные в атомную сигнатуру высотой один, показаны справа. Соответствующие атомарные сигнатуры также выражены под обоими представлениями высоты. Каждый атом в молекуле будет иметь свою собственную атомную сигнатуру, и их сумма будет представлять соответствующую молекулярную сигнатуру. Дескриптор подписи был первоначально разработан Visco et al. (2002). агенты. Такое разнообразие исследований иллюстрирует применимость дескрипторов подписи во множестве областей.

    Рисунок 1. Пример атомарных подписей высоты один и два

    1.1.1 Дескриптор пространственной подписи

    Большинство молекулярных дескрипторов, от простых конституциональных типов до более сложных топохимических индексов, могут быть получены из молекулярных сигнатур. Это позволяет решать существующие SAR (отношения структура-активность) в сигнатурном пространстве, сохраняя при этом предсказуемость исходного SAR вдоль с низкой вырожденностью, приписываемой сигнатурным дескрипторам, перечисляющим потенциальные решения. Однако исходное представление подписи ограничено захватом только двухмерной информации. Расширение дескриптора сигнатуры для включения пространственной информации дает преимущества от эффективности, наблюдаемой в предыдущих приложениях, и в то же время предлагает дискриминационную способность включения дескрипторов более высокой размерности в используемые модели свойств (Herring et al., 2012). Эта информация получена с помощью молекулярно-механического моделирования, используемого для получения информации о конформационной геометрии рассматриваемого химического пространства.

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

    Вашингтон Вагнер Азеведу да Силва , . Веллингтон Пинейро душ Сантуш, в книге «Расширенные парадигмы машинного зрения для анализа медицинских изображений», 2021 г.

    3.2.1 Функции Харалика

    Материалы 8-й Международной конференции по основам автоматизированного проектирования процессов

    Роберт Х. Херринг III , Марио Р. Иден, компьютерная химическая инженерия, 2014 г.

    1.1.1 Дескрипторы пространственной подписи

    Большинство молекулярных дескрипторов, от простых конституциональных типов до более сложных топохимических индексов, могут быть получены из молекулярных сигнатур. Это позволяет решать существующие SAR (отношения структура-активность) в пространстве сигнатур, сохраняя при этом предсказуемость исходного SAR наряду с низкой вырожденностью, приписываемой дескрипторам сигнатур при перечислении потенциальных решений. Однако исходное представление подписи ограничено захватом не более чем двухмерной информации. Расширение дескриптора сигнатуры для включения пространственной информации дает преимущества эффективности, наблюдаемой в предыдущих приложениях, и в то же время предлагает дискриминационную способность включения дескрипторов более высокой размерности в используемые модели свойств (Herring et al. 2012). Эта информация получена с помощью молекулярно-механического моделирования, используемого для получения информации о конформационной геометрии рассматриваемого химического пространства.

    Типы данных и ресурсы

    Другие дескрипторы

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

    Молекулярные дескрипторы генерируются с использованием инструментов, например, PaDEL-Descriptor, 74 OpenBabel, 75 RDKit, 36, 53 CDKit, 76 и E-Dragon. 77

    Структурные двумерные дескрипторы хорошо работают в моделях, обрабатывающих бинарную информацию, таких как модели классификации и оценки вероятности класса 78, а также в изучении правил ассоциации. 79–81 Не существует универсального дескриптора, который бы лучше всего работал с любой моделью прогнозирования. Однако различные типы дескрипторов можно комбинировать в качестве входных данных для модели, чтобы повысить производительность.

    Существует различное коммерческое и открытое программное обеспечение, базы данных и серверы, которые используют молекулярные дескрипторы для прогнозирования конечных точек токсичности: OECD QSAR Toolbox, 82 Derek Nexus, 83 FAF-Drugs4, 84 eTOXsys, 85 TOXAlerts, 86 Schrödinger's CombiGlide 87– 89 Predictor, Leadscope Hazard Expert, 90 VEGA, 91 METEOR. 83 ChemBench, 92 ChemSAR, 93 ToxTree, 94 Lazar, 95 admetSAR, 96 Discovery Studio 97 и Pipeline Pilot 98 — это инструменты на основе машинного обучения. Для получения более подробной информации см. обзор вычислительных методов в HTC от Hevener, 2018. 99

    Кроме того, дескрипторы также могут быть рассчитаны для белковых структур. Было показано, что локальные дескрипторы помогают в описании соседства аминокислот. 100 Инструмент ProtDCal вычисляет числовую последовательность и структурные дескрипторы белков. 101 В другой публикации авторы разработали дескриптор последовательности (в матричной форме) наряду с глубокой нейронной сетью, которую можно было бы использовать для предсказания белок-белковых взаимодействий. 102

    YouTube

    Дана Ротман, Дженнифер Голбек, Анализ социальных сетей с помощью NodeXL, 2011 г.

    14.3.1 Видео

    Каждое видео на YouTube отображается на отдельной странице, но все видео-страницы имеют одинаковую компоновку, как показано на рис. 14.1.

    < бр />

    Рисунок 14.1. Страница видео YouTube, на которой представлено видео вместе с метаданными о нем и социальными инструментами для взаимодействия с другими пользователями.

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

    Описание видео — предоставляется пользователем при первой загрузке видео

    Теги — описывающие видео, заданные пользователем

    Категория — выбирается пользователем из закрытого списка категорий, предоставленного YouTube

    Вкладка

    Просмотры, данные и статистика – показывает количество просмотров видео, а также другие данные о трафике видео с момента его загрузки, изменении просмотров и рейтингов с течением времени. , а также ссылки на видео с других сайтов, вызвавшие изменение его трафика. Карта отображает популярность видео в разных географических регионах на основе количества просмотров зарегистрированных пользователей, а также популярность видео в зависимости от пола и возраста. Также отображаются особые награды, которые получило видео, если таковые имеются (например, "самое просматриваемое").

    Комментарии — отображаются на вкладке просмотров и статистики. Пользователи могут ответить на видео двумя способами: щелкнув вкладку внизу видео, ведущую к окну комментария, или создав видео-ответ и связав его с исходным видео (при загрузке видео пользователь может создать эту связь). На текстовые комментарии можно отвечать как на цепочки бесед, лайкать или не лайкать, а также классифицировать как спам. Это же можно сделать и с комментариями к видео, но только на его исходной, отдельной, странице, а не при отображении в качестве комментария. Еще один способ выразить мнение зрителя о видео — нажать кнопки «нравится/не нравится». Совокупное количество лайков/дизлайков отображается рядом со столбцом комментариев.

    Под информационным окном есть кнопка, позволяющая зрителям вручную встроить видео в другие онлайн-инструменты (например, в личный блог, на веб-сайты) или непосредственно в свой профиль в нескольких приложениях социальных сетей (например, Facebook и Twitter) или в электронное письмо.< /p>

    В правой части страницы представлен список связанных видео. Этот список основан на общих чертах видео, определяемых алгоритмом поиска YouTube, и на том источнике, из которого пользователь перешел к видео.

    Слияние изображений с помощью глубокой сверточной нейронной сети

    3.3.2.1 Регистрация на основе SURF

    Дескриптор признаков SURF был предложен Х. Бэем [11] и работает по принципу анализа пространства в гауссовом масштабе. SURF считается выше SIFT из-за его быстрого времени вычислений, что дает право на различные текущие приложения, такие как отслеживание объектов, слияние изображений, обнаружение объектов и создание мозаики изображений [14]. Дескриптор SURF использует интегральные изображения [16] для ускорения времени обнаружения признаков [17].Реализация алгоритма SURF включает следующие основные этапы:

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

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

    Присвоение ориентации дескриптору ключевой точки реализовано путем вычисления ответов вейвлета Хаара по координатам изображения.

    Наконец, сопоставление SURF выполняется с использованием метода ближайшего соседа.

    Читайте также: