СХЕМА СЖАТИЯ DRAM ДЛЯ СНИЖЕНИЯ ПОТРЕБЛЕНИЯ ЭНЕРГИИ ПРИ КОМПЕНСАЦИИ ДВИЖЕНИЯ И ОБНОВЛЕНИЯ ОТОБРАЖЕНИЯ
DRAM COMPRESSION SCHEME TO REDUCE POWER CONSUMPTION IN MOTION COMPENSATION AND DISPLAY REFRESH

Уровень техники
Некоторые мобильные устройства могут иметь возможность воспроизведения видео из различных источников. Типичное решение для воспроизведения видео на мобильном устройстве может содержать использование технологий компенсации движения для декодирования видеоданных перед сохранением данных в буфере кадров DRAM (динамическая оперативная память), в котором контроллер устройства отображения может обрабатывать данные буфера кадров для вывода на устройство отображения. Традиционные попытки сокращения объема данных потребляемой памяти, используемой для операций компенсации движения, могут иметь отрицательные последствия для эффективности мощности памяти устройства отображения. Традиционные технологии снижения объема памяти устройства отображения, с другой стороны, могут представлять собой проблемы с точки зрения декодирования видео.
Краткое описание чертежей
Различные преимущества вариантов осуществления настоящего изобретения станут очевидны специалистам в данной области техники при прочтении последующего описания и приложенной формулы изобретения и обращении к следующим чертежи, на которых:
Фиг. 1А - блок-схема примера данных кадра, связанная с операцией декодирования видео в соответствии с вариантом осуществления;
Фиг. 1В - блок-схема примера использования данных кадра в архитектуре воспроизведения видео в соответствии с вариантом осуществления;
Фиг. 2А - блок-схема примера порядка доступа к буферу кадра компенсации движения в соответствии с вариантом осуществления;
Фиг. 2В - блок-схема примера порядка доступа к буферу выходного кадра устройства отображения в соответствии с вариантом осуществления;
Фиг. 3 - блок-схема примера контроллера памяти, соответствующего варианту осуществления;
Фиг. 4 - пример схемы сжатия, соответствующей варианту осуществления;
Фиг. 5 - блок-схема примера архитектуры сжатия/распаковки в соответствии с вариантом осуществления;
Фиг. 6А - блок-схема последовательности выполнения операций примера способа обработки запросов записи памяти в соответствии с вариантом осуществления;
Фиг. 6В - блок-схема последовательности выполнения операций примера способа обработки запросов считывания памяти в соответствии с вариантом осуществления;
Фиг. 7 - блок-схема примера системы, соответствующей варианту осуществления;
Фиг. 8 - блок-схема примера системы, имеющей навигационный контроллер, соответствующей варианту осуществления; и
Фиг. 9 - блок-схема примера системы, имеющей малые конструктивные параметры, соответствующей варианту осуществления.
Осуществление изобретения
Варианты осуществления могут содержать контроллер памяти, имеющий модуль сжатия для приема запроса записи от модуля компенсации движения, в котором запрос записи содержит видеоданные. Модуль сжатия может также проводить сжатие видеоданных, чтобы получать сжатые данные, и хранить сжатые данные в одном или более чипах памяти. В одном из примеров контроллера памяти также имеет модуль распаковки.
Варианты осуществления могут также содержать систему, содержащую устройство отображения, один или более чипов памяти и чип процессора с модулем компенсации движения и контроллером памяти. Контроллер памяти может содержать модуль сжатия для приема запроса записи от модуля компенсации движения, при этом запрос записи содержит видеоданные. Кроме того, модуль сжатия может проводить сжатие видеоданных, чтобы получать сжатые данные, и хранить сжатые данные по меньшей мере в одном или более чипах памяти.
Другие варианты осуществления могут содержать реализуемый компьютером способ работы контроллера памяти, причем запрос записи принимается от модуля компенсации движения. Запрос записи может содержать видеоданные, причем способ дополнительно содержит проведение сжатия видеоданных, чтобы получить сжатые данные, и хранение сжатых данных в одном или более чипах памяти.
Дополнительно, варианты осуществления могут содержать осуществляемый компьютером способ действия контроллера памяти, в котором запрос записи принимается от модуля компенсации движения. Запрос записи может содержать видеоданные, причем способ дополнительно содержит проведение сжатия видеоданных, чтобы получить сжатые данные. Сжатие видеоданных может быть прозрачным для модуля компенсации движения. Способ может дополнительно обеспечивать хранение сжатых данных на одном или более чипах памяти и прием запроса считывания. Запомненные данные могут быть восстановлены по меньшей мере из одного или более чипов памяти в ответ на запрос считывания. Кроме того, может быть проведена распаковка хранящихся данных, чтобы получить распакованные данные. В одном из примеров распаковка является прозрачной для запрашивающего хранящиеся данные.
Обратимся теперь к фиг. 1А и 1В, где показаны данные кадров и архитектура 16 воспроизведения видео, соответственно, для видеоконтента, декодируемого на такой платформе, как мобильное устройство. В частности, система 26 памяти архитектуры 16 может содержать буфер 30 кадров DRAM, в котором содержатся реконструированные пиксели, восстановленные контроллером (не показан) устройства отображения, и которые выводятся на устройство 28 отображения в соответствии с видеопротоколом, таким как, например, протокол MPEG2 (например, Moving Picture Experts Group 2). В показанном примере данные кадра содержат I-кадр (внутрикодированный кадр) 10, набор В-кадров (двунаправленные предсказанные кадры) 12 (12а-12с), и Р-кадр (предсказанный кадр) 14. Каждый В-кадр 12 может декодироваться, используя I-кадр 10 в качестве опорного кадра, который происходит раньше по времени, и используя Р-кадр 14 в качестве опорного кадра, который происходит позже по времени. Таким образом, реконструкция В-кадров 12 может быть относительно интенсивно использующей память из-за необходимости неоднократного получения доступа как к I-кадру 10, так и к Р-кадру 14 данных со стороны системы 26 памяти.
Например, архитектура 16 воспроизведения видео может содержать декодер 18 переменной длины (“VLD”), подающий декодированные видеоданные как на модуль 20 обратного дискретного косинусного преобразования (“ГОСТ”), так и на модуль 22 компенсации движения (“МС”), причем модуль 22 МС может реконструировать кадры одного макроблока (например, 16×16 пикселей) во время использования векторов движения, которые, по существу, являются указателями координат пикселей в опорных кадрах (например, I-кадре и Р-кадре). Как будет обсуждаться более подробно, описанные здесь способы позволяют более эффективный доступ к буферу 30 кадров с точки зрения как модуля 22 МС, так и устройства 28 отображения, причем повышенная эффективность памяти может позволить снизить потребление энергии и увеличить время работы от батареи.
На фиг. 2А и 2В показаны порядки доступа к буферу кадров с точки зрения модуля компенсации движения и устройства отображения, соответственно. В частности, показанный порядок доступа к буферу кадров для модуля компенсации движения выполнен на основе макроблока 32, тогда как порядок доступа к буферу кадров для устройства отображения может быть выполнен на строчной 34 основе. Таким образом, может существовать рассогласованность между двумя порядками доступа, что может создавать трудности, которые устраняются описанными здесь способами.
В частности, на фиг. 3 показан контроллер 36 памяти, управляющий передачей видеоданных к одному или более чипам 38 DRAM и от них, в котором чипы 38 DRAM могут использоваться для реализации буфера кадров, такого как буфер 30 кадров (фиг. IB), уже обсуждавшийся. В показанном примере контроллер 36 памяти содержит логику 40 эффективности видео, имеющую модуль 42 сжатия, чтобы обрабатывать запросы 44 записи, поступающие (прямо или косвенно) от модуля 22 компенсации движения, и модуль 46 распаковки для обработки запросов 48 (48а, 48b) считывания, поступающие (прямо или косвенно) от модуля 22 компенсации движения и устройства 28 отображения. Таким образом, запросы 44 записи от модуля 22 компенсации движения и запросы 48b считывания от устройства 28 отображения могут содержать передачу видеоданных I-кадра 10, В-кадра 12 и Р-кадра 14 (фиг. 1А), тогда как запросы 48а считывания от модуля 22 компенсации движения могут содержать передачу данных I-кадра 10 и Р-кадра 14 (фиг. 1А) (например, в качестве опорных кадров).
Показанный модуль 42 сжатия выполнен с возможностью приема запросов 44 записи от модуля 22 компенсации движения, проведения сжатия видеоданных, связанных с запросами 44 записи, и записи сжатых данных в чипы 38 DRAM по мере необходимости. Таким образом, модуль 42 сжатия может сжимать I-, В- и Р-кадры, принятые от модуля 22 компенсации движения на помакроблочной основе, причем сжатие может быть прозрачным для модуля 22 компенсации движения.
На фиг. 4 показан подход к проведению сжатия, при котором используются процесс дифференциальной импульсно-кодовой модуляции (DPCM) и процесс кодирования Хаффмана. В частности, макроблочная строка из шестнадцати значений яркости (например, выраженных в 16 байтах) может быть выражена как “крутизны” DPCM, которые могут, в свою очередь, быть преобразованы в набор “дельт крутизны” DPCM. Процесс кодирования Хаффмана может поэтому формировать код 50, сжатый на 50%. Если требуется сжатие более, чем на 50%, один или более замыкающих коэффициентов АС (например, переменный ток, ненулевая частота) DCT могут усекаться, чтобы получить сжатие с потерями, причем усечение может быть редким и может быть незаметным для непрофессиональных зрителей.
Возвращаясь к фиг. 3, показанный модуль 46 распаковки выполнен с возможностью приема запросов 48 считывания от модуля 22 компенсации движения 22 и устройства отображения, восстановления запомненных данные, полученных от чипов 38 DRAM, в ответ на запросы 48 считывания, и проведения распаковки хранящихся/восстановленных данных, чтобы получить распакованные данные. Если распакованные данные соответствуют запросу 48а считывания от модуля 22 компенсации движения, распакованные данные могут быть переданы модулю 22 компенсации движения, в котором в показанном примере распаковка запомненных данных прозрачна для модуля 22 компенсации движения. Если распакованные данные соответствуют запросу 48b считывания (например, обновление устройства отображения) от устройства 28 отображения, распакованные данные может быть переданы устройству 28 отображения, причем в показанном примере распаковка запомненных данных прозрачна для устройства 28 отображения. Процесс распаковки может, по существу, быть обратным процессу сжатия. Контроллер 36 памяти может также поддерживать другие передачи 49, не связанные с воспроизведением, к чипам 38 DRAM и от них.
На фиг. 5 показана архитектура 52 сжатия, в которой виртуальное представление 54 архитектуры памяти с точки зрения модуля компенсации движения и устройства отображения является данными, хранящимися и восстанавливаемыми в макроблоках. Фактическое представление 56 архитектуры памяти, однако, отражает, что видеоданные могут использовать значительно меньшую память. Уменьшенный объем использования памяти может, в свою очередь, обеспечить существенную экономию потребления энергии, связанной с доступами к памяти. Особо заметим, что представленный подход не требует дополнительных буферов в DRAM или дополнительных операций копирования в памяти. Таким образом, реализация представленного решения в контроллере памяти может позволить повысить эффективность доступа к памяти, причем решение может оставаться прозрачным для системных компонент, отличных от самой архитектуры памяти.
На фиг. 6А показан способ 60 обработки запросов записи. Способ 60 может быть реализован в контроллере памяти как набор логических команд, хранящихся на машинном или считываемом компьютером носителе памяти, таком как RAM, постоянная память (ROM), программируемая ROM (PROM), флэш-память и т.д., в конфигурируемой логике, такой как, например, программируемые логические матрицы (PLA), программируемые логические интегральные схемы (FPGA), комплексные программируемые логические устройства (CPLD), в аппаратных средствах логики с фиксированной функциональностью, использующих такую схемотехническую технологию, как, например, специализированная интегральная схема (ASIC), технология комплиментарных структур металл-окисел-полупроводник (МОП) (CMOS) или технология транзисторных логических схем с транзисторными связями (TTL) или любая их комбинация. Например, управляющая программа компьютера, чтобы выполнить операции, показанные в способе 60, может быть записана в любой комбинации одного или более языков программирования, в том числе, на объектно-ориентированном языке программирования, таком как С++ и т.п., и на стандартных языках процедурного программирования, таких как язык программирования “С” или подобные языки программирования. Кроме того, способ 60 может быть реализован, используя любую из упомянутых выше схемотехнических технологий.
Показанный блок 62 обработки обеспечивает прием запроса записи от модуля компенсации движения, в котором запрос записи может содержать видеоданные. Блок 64 может провести сжатие видеоданных, чтобы получить сжатые данные, в которых сжатие видеоданных прозрачно для модуля компенсации движения. Сжатые данные могут храниться в одном или более чипах памяти в блоке 66.
На фиг. 6B представлен способ 68 обработки запросов считывания. Способ 60 может быть реализован в контроллере памяти как ряд логических команд, хранящихся на машинном или считываемом компьютером носителе памяти, таком как RAM, ROM, PROM, флэш-память и т.д., в конфигурируемой логике, такой как, например, PLA, FPGA, CPLD, в аппаратных средствах логики с фиксированной функциональностью, использующей такую схемотехническую технологию, как, например, ASIC, CMOS или транзисторные логические схемы с транзисторными связями (TTL), или любую их комбинацию. Показанный блок 70 обработки обеспечивает прием запроса считывания от системного компонента, такого как модуль компенсации движения или контроллер устройства отображения. Запомненные данные могут быть восстановлены по меньшей мере из одного из чипов памяти в блоке 72, причем блок 74 может провести распаковку запомненных данных. Распакованные данные могут затем быть переданы запросчику данных.
Обратимся теперь к фиг. 7, где показана компьютерная система 76, разрешающая использование видео, в которой реализуются сжатие на основе контроллера памяти и распаковка. Компьютерная система 76 может быть устройством мобильной платформы таким как, например, ноутбук, PDA, беспроводной смартфон, медиаплейер, устройство получения изображений, MID, любое смарт-устройство, такое как смартфон, смарт-планшет и т.д, или любая их комбинация. Компьютерная система 76 может также быть частью фиксированной платформы, такой как персональный компьютер (PC), смарт-TV, сервер, рабочая станция и т.д. Показанная компьютерная система 76 содержит один или более процессоров 78, устройство 80 отображения, имеющее контроллер 82 устройства отображения, и системную память 84, которая может содержать, например, модули синхронного DRAM с двойной скоростью передачи данных (DDR) (SDRAM, например, DDR3 SDRAM по стандарту JEDEC JESD79-3C, апрель 2008). Модули системной памяти 84 могут содержаться в одном или более чипах, связанных с модулем памяти с однорядным расположением выводов (SIMM), модулем памяти с двухрядным расположением выводов (DIMM), малым внешним DIMM (SODLMM) и т.д.
Процессор 78 может иметь видеодекодер 86 и интегрированный контроллер 88 памяти и одно или более ядер процессора (не показаны), чтобы выполнять один или более драйверов, связанных с управляющей ОС (операционной системой) и/или прикладным программным обеспечением, в котором каждое ядро может быть полностью функциональным с помощью блоков вызова команд, декодерами команд, кэшем уровня один (L1), блоками исполнения и т.д. Процессор 78 альтернативно может связываться с вариантом контроллера 88 памяти вне чипа, также известным как северный мост, через системную шину. Показанный процессор 78 связывается с концентратором 90 контроллера платформы (РСН), также известным как южный мост, через шину концентратора. Контроллер 88 памяти/процессор 78 и РСН 90 иногда упоминается как чипсет. РСН может быть связан с сетевым контроллером 92 и/или запоминающим устройством 94 большой емкости (например, жестким диском/HDD, накопителем на оптических дисках и т.д.).
Показанный контроллер 88 памяти содержит логику 96 эффективности, такую как уже обсуждавшаяся логика 40 эффективности (фиг. 3). Таким образом, контроллер 88 памяти может быть выполнен с возможностью приема запросов записи от модуля компенсации движения (не показан) декодера 86, сжатия видеоданных, связанных с запросами записи, и хранения сжатых данные в системной памяти 84. Кроме того, контроллер 88 памяти может быть выполнен с возможностью приема запросов считывания от модуля 86 компенсации движения декодера и контроллера 82 устройства отображения, восстановления запомненных данных из системной памяти 84 в ответ на запросы считывания и распаковки восстановленных данных перед передачей распакованных данных запросчику. Процессы сжатия и распаковки могут быть прозрачными для всех системных компонент, кроме контроллера 88 памяти и системной памяти 84.
На фиг. 8 представлен вариант осуществления системы 700. В вариантах осуществления система 700 может быть медиасистемой, хотя система 700 не ограничивается этим контекстом. Например, система 700 может быть введена в персональный компьютер (PC), ноутбук, ультраноутбук, планшет, сенсорную панель, портативный компьютер, карманный компьютер, малый карманный компьютер, персональный цифровой секретарь (PDA), мобильный телефон, объединенный мобильный телефон/PDA, телевизор, смарт-устройство (например, смартфон, смарт-планшет или смарт-TV), мобильное интернет-устройство (MID), устройство передачи сообщений, устройство передачи данных и т.д.
В вариантах осуществления система 700 содержит платформу 702, связанную с дисплеем 720. Платформа 702 может принимать контент от устройства контента, такого как устройство(-а) 730 служб контента или устройство(-а) 740 доставки контента или другие подобные источники контента. Навигационный контроллер 750, содержащий одну или более навигационных функций, может использоваться для взаимодействия, например, с платформой 702 и/или дисплеем 720. Каждый из этих компонент ниже описывается более подробно.
В вариантах осуществления платформа 702 содержать любую комбинацию чипсета 705, процессора 710, памяти 712, запоминающего устройства 714, графической подсистемы 715, приложений 716 и/или радиосредств 718. Чипсет 705 может осуществлять многостороннюю связь между процессором 710, памятью 712, запоминающим устройством 714, графической подсистемой 715, приложениями 716 и/или радиосредствами 718. Например, чипсет 705 может содержать адаптер запоминающего устройства (не показан), способный обеспечивать многостороннюю связь с запоминающим устройством 714.
Процессор 710 может быть реализован как процессор компьютера со сложной системой команд (CISC) или как процессор компьютера с сокращенной системой команд (RISC), как процессор, совместимый с системой команд х86, многоядерный или любой другой микропроцессорный блок или центральный процессор (CPU). В вариантах осуществления процессор 710 может содержать двухъядерный процессор(-ы), двухъядерный мобильный процессор(-ы) и т.д.
Память 712 может быть реализована как устройство энергозависимой памяти такой как, в частности, оперативная память (RAM), динамическая оперативная память (DRAM), или статическая RAM (SRAM).
Запоминающее устройство 714 может быть реализовано как устройство энергонезависимой памяти, такое как, в частности, дисковод магнитного диска, оптический дисковод, лентопротяжное устройство, внутреннее запоминающее устройство, присоединенное запоминающее устройство, флэш-память, SDRAM с резервированием от батареи (синхронный DRAM) и/или сетевое доступное запоминающее устройство. В вариантах осуществления запоминающее устройство 714 может содержать технологию повышения улучшенной защиты характеристик запоминающего устройства для ценных цифровых медиаданных, когда имеется, например, множество жестких дисков.
Графическая подсистема 715 может выполнять обработку изображений, таких как фотографии или видео, для устройства отображения. Графическая подсистема 715 может быть, например, графическим процессором (GPU) или визуальный процессор (VPU). Аналоговый или цифровой интерфейс может использоваться для связи средствами связи графической подсистемы 715 и устройства 720 отображения. Например, интерфейс может быть любым мультимедийным интерфейсом высокой четкости, DisplayPort, беспроводным HDMI, и/или быть выполнен на основе беспроводных HD-совместимых технологий. Графическая подсистема 715 может быть интегрирована в процессор 710 или чипсет 705. Графическая подсистема 715 может быть автономной картой, средствами связи связанной с чипсетом 705.
Технологии обработки графики и/или видеоданных, описанные здесь, могут быть реализованы в различной аппаратурной архитектуре. Например, графические и/или функциональные возможности могут быть интегрированы внутри чипсета. Альтернативно, могут использоваться дискретный графический процессор и/или видеопроцессор. Как еще один другой вариант осуществления, функции графики и/или видео могут быть реализованы процессором общего назначения, содержащим многоядерный процессор. В дополнительном варианте осуществления функции могут быть реализованы в устройстве бытовой электроники.
Радиосредства 718 могут содержать одно или более радиосредств, способных передавать и принимать сигналы, используя различные соответствующие технологии радиосвязи. Такие технологии могут содержать связь через одну или более беспроводных сетей. Примерные беспроводные сети содержат (в частности), беспроводные локальные сети (WLAN), беспроводные персональные сети (WPAN), беспроводные городские компьютерные сети (WMAN), сети сотовой и спутниковой связи. При связи по таким сетям радиосредства 718 могут работать в соответствии с одним или более применяемыми стандартами в любой версии.
В вариантах осуществления устройство 720 отображения может содержать любой монитор или устройство отображения типа телевизионного приемника. Устройство 720 отображения может содержать, например, экран компьютерного устройства отображения, устройство отображения сенсорного экрана, видеомонитор, устройство, подобное телевизионному приемнику и/или телевизор. Устройство 720 отображения может быть цифровым и/или аналоговым. В вариантах осуществления устройство 720 отображения может быть голографическим дисплеем. Кроме того, устройство 720 отображения может быть прозрачной поверхностью, которая может принимать визуальную проекцию. Такие проекции могут передавать различные формы информации, изображений и/или объектов. Например, такие проекции могут быть визуальным наложением для приложения мобильной дополненной реальности (MAR). Под управлением одного или более приложений 716 программного обеспечения платформа 702 может отображать интерфейс 722 пользователя на устройстве 720 отображения.
В вариантах осуществления устройство(-а) 730 служб контента может управляться любой национальной, международной и/или независимой службой и, таким образом, быть доступным платформе 702, например, через Интернет. Устройство(-а) 730 служб контента может быть связано с платформой 702 и/или устройством 720 отображения. Платформа 702 и/или устройство(-а) 730 служб контента могут соединяться с сетью 760, чтобы осуществлять связь (например, передачу и/или прием) для передачи медиаинформации в сеть и из сети 760. Устройство(-а) 740 доставки контента также может быть связано с платформой 702 и/или устройством 720 отображения.
В вариантах осуществления устройство(-а) 730 служб контента может содержать кабельную телевизионную стойку, персональный компьютер, сеть, телефон, устройства или аппаратура, позволяющие работу с Интернетом, способные передавать цифровую информацию и/или контент, и любые другие подобные устройства, способные однонаправлено или двунаправлено передавать контент между провайдерами контента и платформой 702 и/устройством 720 отображения через сеть 760 или напрямую. Следует понимать, что контент может передаваться однонаправлено и/или двунаправлено к любому одному из компонент системы 700 или от него и от провайдера контента через сеть 760. Примеры контента могут содержать любую медиаинформацию, содержащую, например, видео, музыку, медицинскую и игровую информацию и т.д.
Устройство(-а) 730 служб контента принимает контент, такой как кабельные телевизионные программы, содержащие медиаинформацию, цифровую информацию и/или другой контент. Примеры провайдеров контента могут содержать любые кабельные провайдеры или провайдеры спутникового телевидения или радио или провайдеры контента Интернета. Представленные примеры не предназначены ограничивать варианты осуществления изобретения.
В вариантах осуществления платформа 702 может принимать управляющие сигналы от навигационного контроллера 750, имеющего одну или более навигационных функций. Навигационные функции контроллера 750 могут использоваться, например, для взаимодействия с интерфейсом 722 пользователя. В вариантах осуществления навигационный контроллер 750 может быть указывающим устройством, которое может быть компонентом компьютерного оборудования (конкретно, устройством интерфейса пользователя), позволяющим пользователю вводить пространственные (например, непрерывные и многомерные) данные в компьютер. Многие системы, такие как графические интерфейсы пользователя (GUI), телевизионные приемники и мониторы, позволяют пользователю управлять и обеспечивать данные для компьютера или телевидения, используя физические жесты.
Перемещения навигационных функций контроллера 750 могут отражаться на устройстве отображения (например, на устройстве 720 отображения), перемещая указатель, курсор, фокусирующее кольцо или другие визуальные индикаторы, отображаемые на устройстве отображения. Например, под управлением приложений 716 программного обеспечения, навигационные функции, расположенные на навигационном контроллере 750, могут отображаться в виртуальных навигационных функциях, отображаемых, например, на интерфейсе 722 пользователя. В вариантах осуществления контроллер 750 может не быть отдельным компонентом, а интегрироваться в платформу 702 и/или устройство 720 отображения. Варианты осуществления, однако, не ограничиваются описанными или показанными здесь элементами или контекстом.
В вариантах осуществления драйверы (не показаны) могут содержать технологию, позволяющую пользователям мгновенно включать и выключать платформу 702, такую как телевизор, например, нажатием кнопки после начальной загрузки, когда она разрешена. Программная логика может позволить платформе 702 потоковый контент к медиаадаптерам или другому устройству(-ам) служб 730 контента или устройству(-ам) 740 доставки контента, когда платформа выключается. Кроме того, чипсет 705 может содержать поддержку аппаратных средств и/или программную поддержку, например, для стереозвука в системе 5.1 и/или стереозвука высокой четкости в системе 7.1. Драйверы могут содержать графический драйвер для интегрированных графических платформ. В вариантах осуществления графический драйвер может содержать графическую карту Express для взаимодействия периферийных компонент (PCI).
В различных вариантах осуществления один или более компонент, показанных в системе 700, могут быть интегрированы. Например, платформа 702 и устройство(-а) 730 служб контента могут быть интегрированы или могут быть интегрированы платформа 702 и устройство(-а) 740 доставки контента или платформа 702, устройство(-а) 730 служб контента и устройство(-а) 740 доставки контента могут, например, быть интегрированы. В различных вариантах осуществления платформа 702 и устройство 720 отображения может являться интегрированным блоком. Устройство 720 отображения и устройство(-а) 730 службы контента могут быть интегрированы или, например, устройство 720 отображения и устройство(-а) 740 доставки контента могут быть интегрированы. Эти примеры не предназначены для создания ограничения изобретения.
В различных вариантах осуществления система 700 может быть реализована как беспроводная система, проводная система или их комбинация. При реализации в виде беспроводной системы, система 700 может содержать компоненты и интерфейсы, пригодные для связи в беспроводной среде совместно пользования, такие как одна или более антенн, передатчики, приемники, приемопередатчики, усилители, фильтры, логика управления и т.д. Примером беспроводной среды совместного пользования могут являться участки спектра беспроводной связи, такого как радиочастотный спектр RF и т.д. При реализации в виде проводной системы, система 700 может содержать компоненты и интерфейсы, пригодные для связи в среде проводной связи, такие как адаптеры ввода/вывода (I/O), физические соединители для соединения с адаптером ввода-вывода с соответствующей проводной средой связи, сетевая карта (NIC), дисковый контроллер, видеоконтроллер, аудиоконтроллер и т.д. Примеры среды проводной связи могут содержать провод, кабель, металлические проводники, печатные платы (РСВ), кабельную укладку, многовходовую систему коммутации, полупроводниковый материал, витую проводную пару, коаксиальный кабель, волоконную оптику и т.д.
Платформа 702 может образовывать один или более логических или физических каналов передачи информации. Информация может содержать медиаинформацию и управляющую информацию. Медиаинформация может относиться к любым данным, представляющим контент, предназначенный для пользователя. Примеры контента могут содержать, например, данные речевого разговора, видеоконференцию, потоковое видео, сообщение электронной почты (“email”), сообщение голосовой почты, алфавитно-цифровые символы, графику, изображение, видео, текст и т.д. Данные речевого разговора могут быть, например, речевой информацией, периодами молчания, фоновым шумом, комфортным шумом, тональными сигналами и т.д. Управляющая информация может относиться к любым данным, представляющим команды или управляющие слова, предназначенные для автоматизированной системы. Например, управляющая информация может использоваться для направления медиаинформации через систему или для подачи команд на узел, чтобы обработать медиаинформацию заданным способом. Варианты осуществления, однако, не ограничиваются элементами или контекстом, показанными или описанными на фиг. 8.
Как описано выше, система 700 может быть реализована с различными физическими стилями или коэффициентами формы. На фиг.9 показаны варианты осуществления устройства 800 коэффициента миниатюрной формы, в которой может быть осуществлена система 700. В вариантах осуществления, например, устройство 800 может быть реализовано как мобильное вычислительное устройство, имеющее беспроводные возможности. Мобильное вычислительное устройство может относиться к любому устройству, имеющему систему обработки и мобильный источник энергии или питания, такой, как, например, одна или более батарей.
Как описано выше, примеры мобильного вычислительного устройства могут содержать персональный компьютер (PC), ноутбук, ультраноутбук, планшет, сенсорную панель, портативный компьютер, карманный компьютер, малый карманный компьютер, персональный цифровой секретарь (PDA), мобильный телефон, объединенный мобильный телефон/PDA, телевизор, смарт-устройство (например, смартфон, смарт-планшет или смарт-TV), мобильное интернет-устройство (MID), устройство передачи сообщений, устройство передачи данных и т.д.
Примеры мобильных вычислительных устройств также могут содержать компьютеры, выполненные с возможностью их ношения человеком, такие запястные компьютеры, пальцевые компьютеры, браслетные компьютеры, окулярные компьютеры, компьютеры для пристегивания к поясу, компьютеры для ношения на плече, компьютеры для обуви, компьютеры для одежды и другие носимые микрокомпьютеры. В вариантах осуществления, например, мобильное компьютерное устройство, может быть реализовано как смартфон, способный выполнять компьютерные приложения, а также передачи голосовых сообщений и/или передачи данных. Хотя некоторые варианты осуществления могут быть описаны с помощью мобильного вычислительного устройства, реализованного как смартфон, для примера, можно понять, что другие варианты осуществления могут быть реализованы, используя также другие беспроводные мобильные вычислительные устройства. Варианты осуществления в этом контексте не ограничиваются.
Как показано на фиг. 9, устройство 800 может содержать корпус 802, устройство отображения 804, устройство 806 ввода/вывода (I/O) и антенну 808. Устройство 800 также может содержать навигационные функции 812. Устройство 804 отображения может содержать любой соответствующий блок отображения для отображения информации, пригодной для мобильного вычислительного устройства. Устройство 806 ввода-вывода может содержать любое соответствующее устройство ввода-вывода для ввода информации в мобильное вычислительное устройство. Примеры устройства 806 ввода-вывода могут содержать буквенно-цифровую клавиатуру, цифровую клавиатуру, сенсорную панель, клавиши ввода, кнопки, переключатели, тумблера, микрофоны, громкоговорители, устройство распознавания речи и программное обеспечение и т.д. Информация также может быть введена в устройство 800 посредством микрофона. Такая информация может быть оцифрована устройством распознавания речи. Варианты осуществления не ограничиваются в этом контексте.
Различные варианты осуществления могут быть реализованы, используя аппаратные элементы, элементы программного обеспечения или их комбинацию. Примеры аппаратных элементов могут содержать процессоры, микропроцессоры, схемы, элементы схемы (например, транзисторы, сопротивления, конденсаторы, индуктивности и т.д), интегральные схемы, специализированные интегральные схемы (ASIC), программируемые логические устройства (PLD), цифровые сигнальные процессоры (DSP), программируемые логические интегральные схемы (FPGA), логические элементы, регистры, полупроводниковое устройство, микросхемы, микрокристаллы, чипсеты, и т.д. Примерами программного обеспечения могут быть компоненты программного обеспечения, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционной системы, промежуточное программное обеспечение, встроенное микропрограммное обеспечение, программные модули, стандартные программы, подпрограммы, функции, способы, процедуры, интерфейсы программного обеспечения, программные интерфейсы приложения (API), наборы команд, компьютерный код, управляющие программы, сегменты управляющей программы, сегменты машинного кода, слова, значения, символы или любая их комбинация. Определение, реализуется ли вариант осуществления, используя аппаратурные элементы и/или элементы программного обеспечения, может варьироваться в соответствии с любым набором факторов, таким как желаемая скорость вычислений, уровни мощности; допуски по теплу, бюджет цикла обработки, скорости входных данных, скорости выходных данных, ресурсы памяти, скорости шины данных и другие проектные ограничения или ограничения характеристик.
Один или более аспектов по меньшей мере одного варианта осуществления могут быть реализованы представительными командами, хранящимися на машиночитаемом носителе, который представляет различную логику внутри процессора, который, когда считывается машиной, заставляет машину создавать логику, чтобы выполнить описанные здесь способы. Такие представления, известные как “ядра IP”, могут храниться на физическом машиночитаемом носителе и предоставляться различным клиентам или производственным средствам загрузки машин для создания, которые фактически создают логику или процессор.
Способы, описанные здесь, могут поэтому обеспечить систему регулирования прямого действия, которая гарантирует как работу в реальном времени потребительского видеоканала, так и динамическое обновление рабочего канала, чтобы давать оптимальное визуальное перцепционное качество и опыт просмотра. В частности, дискретная система управления для видеоканала может динамически адаптировать рабочие точки, чтобы оптимизировать глобальную конфигурацию интерактивных компонентных модулей, которые связываются с телевизионным перцепционным качеством. В последовательной конфигурации модуль анализа перцепционного качества может быть помещен раньше канала обработки видеоданных и параметры, определенные для канала последующей обработки, могут использоваться для того же самого кадра. В случае распределенного вычисления блока анализа качества или когда необходимо выполнить перцепционный анализ качества в промежуточных точках в канале, параметры, определенные, используя данный кадр, могут быть применены к следующему кадру, чтобы гарантировать работу в реальном времени. Распределенное вычисление иногда предпочтительно для сокращения сложности, поскольку некоторые элементы для вычисления перцепционного качества могут уже быть вычислены в канале последующей обработки и могут использоваться повторно. Показанные подходы могут также быть совместимыми с управлением в замкнутом контуре, где перцепционный анализ качества используется повторно на выходе канала видеообработки, чтобы оценить выходное качество, которое также используется механизмом управления.
Варианты осуществления данного изобретения применимы для использования со всеми типами чипов полупроводниковых интегральных схем (“IС”). Примеры таких чипов IС содержат, в частности, процессоры, контроллеры, компоненты чипсетов, программируемые логические матрицы (PLA), чипы памяти, сетевые чипы и т.п.Кроме того, на некоторых чертежах линии проводников сигналов представляются линиями. Некоторые из них могут отличаться, чтобы указать больше составляющих путей прохождения сигнала, иметь метку с номером, указывать множество составляющих путей прохождения сигнала и/или иметь стрелки на одном или более концах, чтобы указывать направление потока первичной информации. Это, однако, не должно рассматриваться как ограничивающий фактор. Скорее такая добавленная деталь может использоваться в сочетании с одним или более примерными вариантами осуществления, чтобы облегчить и упростить понимание схемы. Любые представленные сигнальные линии, независимо от того, несут ли они дополнительную информацию, могут фактически содержать один или более сигналов, которые могут проходить во множестве направлений и могут быть реализованы любым соответствующим типом сигнальной схемы, например, цифровые или аналоговые линии, реализуются дифференциальными парами, оптоволоконными линиями и/или заканчивающимися на одном конце линиями.
Можно привести примеры размеров/моделей/значений/диапазонов, хотя варианты осуществления настоящего изобретения ими не ограничиваются. По мере того, как производственные технологии (например, фотолитография) развиваются со временем, ожидается, что смогут производиться устройства меньшего размера. Кроме того, хорошо известные подключения питания/земли к чипам IС и другим компонентам могут быть показаны или не показаны внутри чертежей для простоты иллюстрации и обсуждения и чтобы не закрывать собой определенные аспекты вариантов осуществления изобретения. Дополнительно, схемы могут быть показаны в форме блок-схем, чтобы избежать усложнения показа вариантов осуществления изобретения, а также с точки зрения того факта, что конкретные особенности в отношении реализации схем такой блок-схемы сильно зависят от платформы, в которой вариант осуществления должен быть реализован, то есть, такие конкретные особенности должны быть хороши в пределах компетенции специалистов в данной области техники. Там, где конкретные подробности (например, схемы) излагаются, чтобы описать примерные варианты осуществления изобретения, специалисту в данной области техники должно быть очевидным, что варианты осуществления изобретения могут осуществляться на практике без этих конкретных подробностей или с измененными такими подробностями. Описание должно, таким образом, рассматриваться как иллюстративное, а не как создающее ограничения.
Некоторые варианты осуществления могут быть реализованы, например, используя машинный или физический читаемый компьютером носитель или изделие, которые могут хранить команду или набор команд, которые, если выполняются машиной, могут заставить машину выполнять способ и/или операции в соответствии с вариантами осуществления. Такая машина может содержать, например, любую соответствующую платформу обработки, компьютерную платформу, компьютерное устройство, устройство обработки, компьютерную систему, систему обработки, компьютер, процессор и т.п., и может быть реализована, используя любую соответствующую комбинацию аппаратурных средств и/или программного обеспечения. Машиночитаемый носитель или изделие могут иметь, например, любой подходящий тип блока памяти, запоминающего устройства, изделия памяти, носителя памяти, устройства хранения, носителя для хранения данных, носителя и/или блока хранения данных, например, запоминающее устройство, съемный или несъемный носитель, стираемый или нестираемый носитель, записываемый или перезаписываемый носитель, цифровой или аналоговый носитель, жесткий диск, дискета, постоянное запоминающее устройство на компакт-диске (CD-ROM), записываемый компакт-диск (CD-R), перезаписываемый компакт-диск (CD-RW), оптический диск, магнитный носитель, магнитооптический носитель, съемные карты памяти или диски, различные типы цифрового универсального диска (DVD), лента, кассета и т.п.Команды могут содержать любой соответствующий тип кода, такой как исходный код, компилированный код, интерпретируемый код, исполняемый код, статический код, динамический код, зашифрованный код и т.п., реализуемый, используя любой подходящий язык программирования высокого уровня, объектно-ориентированный, визуальный, компилированный и/или интерпретируемый язык программирования.
Если конкретно не указано иначе, можно понимать, что такие термины, как “обработка”, “вычисление”, “вычислительная обработка”, “определение” и т.п., относятся к действию и/или процессам компьютера или компьютерной системы или подобного электронного компьютерного устройства, которое манипулирует и/или преобразует данные, представленные как физические значения (например, электронные) внутри регистров и/или памяти компьютерной системы в другие данные, подобным образом представленные как физические величины внутри памяти компьютерной системы, регистров или других таких информационных запоминающих устройств, устройств передачи или отображения. Варианты осуществления не ограничиваются в этом контексте.
Термин “связанный” может использоваться здесь для обозначения любого типа взаимосвязи, прямой или косвенной, между компонентами, о которых идет речь, и может применяться к электрическим, механическим, по текучей среде, оптическим, электромагнитным или другим соединениям. Кроме того, термины “первый” “второй” и т.д. могут использоваться здесь только для облегчения обсуждения и не несут никакого конкретного временного или хронологического значения, если как-либо не указано иное.
Специалисты в данной области техники из приведенного выше описания должны понимать, что обширные технологии вариантов осуществления настоящего изобретения могут реализовываться в различных формах. Поэтому, хотя варианты осуществления настоящего изобретения были описаны в связи с конкретными их примерами, истинный объем вариантов осуществления изобретения не должен этим ограничиваться, поскольку специалистам в данной области техники после изучения чертежей, описания и последующей формулы изобретения должны стать очевидны и другие его модификации.