СЛИЯНИЕ ИЗОБРАЖЕНИЙ НА БЛОЧНОЙ ОСНОВЕ ДЛЯ КОНТЕКСТНОЙ СЕГМЕНТАЦИИ И ОБРАБОТКИ
BLOCK-BASED IMAGE MERGING FOR CONTEXT SEGMENTATION AND PROCESSING

Область техники, к которой относится изобретение
Настоящее изобретение относится, в общем, к области сжатия видео. В частности, настоящее изобретение направлено на слияние изображений на блочной основе для контекстной сегментации и обработки.
Уровень техники
Видео кодек может содержать электронную схему или программное обеспечение, сжимающее или расширяющее цифровое видео. Это может преобразовывать видео в сжатый формат или наоборот. В контексте сжатия видео устройство, которое сжимает видео, (и/или осуществляет некоторые функции в ходе сжатия) может обычно называться кодирующим устройством, а устройство, которое распаковывает видео, (и/или осуществляет некоторые функции в ходе распаковки) может называться декодирующим устройством.
Формат сжатых данных может соответствовать стандартным спецификациям сжатия видео. Это сжатие может представлять собой сжатие с потерями в том смысле, что в сжатом видео отсутствует некоторая информация, присутствующая в оригинальном видео. Вследствие этого распакованное видео может иметь более низкое качество по сравнению с оригинальным несжатым видео, поскольку в распакованном видео будет недостаточно информации для точной реконструкции оригинального видео.
Могут иметь место сложные соотношения между качеством видео, объемом данных, используемых для представления видео (например, определяется скоростью передачи битов данных), сложностью алгоритмов кодирования и декодирования, чувствительностью к потере данных и ошибкам, легкостью редактирования, произвольным доступом, задержкой прохождения сигнала от одного конца линии от другого и другими подобными характеристиками.
В процессе кодирования изображение (например, кадр видео) сегментируют (например, разбивают на части) для разделения на относительно большие блоки, такие как 128x128, и фиксируют такую структуру. Однако если сегментировать изображение на большие блоки для сжатия и при этом не учитывать соответствующую видеоинформацию (например, контент видео), большие блоки не могут, в каких-то случаях, разбивать изображение таким способом, чтобы позволить осуществлять эффективное кодирование, так что в этих случаях будет получена плохая скорость передачи битов данных.
Раскрытие сущности изобретения
В одном из аспектов, устройство кодирования содержит схему, конфигурированную для приема кадра видео, разбиения этого кадра видео на блоки, определения в пределах кадра видео первой области, содержащей первую группу из первого подмножества блоков, определения первой усредненной информации измерений для первой области и кодирования кадра видео, эта процедура кодирования содержит управление параметром квантования на основе первой усредненной информации измерений для первой области.
Согласно другому аспекту, способ содержит прием, кодирующим устройством, кадра видео, разбиение этого кадра видео на блоки. Способ содержит определение в пределах кадра видео первой области, содержащей первую группу из первого подмножества блоков. Способ содержит определение первой усредненной информации измерений для первой области. Этот способ содержит кодирование кадра видео, где процедура кодирования содержит управление параметром квантования на основе первой усредненной информации измерений для первой области.
Подробности одного или более вариантов предмета настоящего изобретения, описываемого здесь, представлены на прилагаемых чертежах и в следующем ниже описании. Другие признаки и преимущества предмета настоящего изобретения, описываемого здесь, станут понятны из описания и чертежей, а также из Формулы изобретения.
Краткое описание чертежей
В целях иллюстрирования настоящего изобретения указанные чертежи показывают аспекты одного или более вариантов настоящего изобретения. Однако следует понимать, что настоящее изобретение не исчерпывается точно теми конфигурациями и инструментальными средствами, какие показаны на чертежах, на которых:
Фиг. 1 представляет логическую схему, иллюстрирующую пример процедуры кодирования видео, которая может использовать блоки размером 4 x 4 в качестве базового размера сегментации, что может позволить кодирующему устройству обеспечить более мелкую «зернистость», а также такой размер соответствует установленным размерам блоков преобразования;
Фиг. 2 представляет иллюстративный пример процедуры сегментации и слияния для изображения, содержащего человеческое лицо;
Фиг. 3 представляет последовательность изображений, иллюстрирующую другой пример процедуры сегментации и слияния согласно некоторым вариантам реализации предмета настоящего изобретения;
Фиг. 4 представляет системную блок-схему, иллюстрирующую пример кодирующего устройства для видео, способного осуществлять слияние изображений на блочной основе, а также контекстную сегментацию и обработку; и
Фиг. 5 представляет блок-схему компьютерной системы, которая может быть использована для реализации любых из одного или более способов, описываемых здесь, и реализации любых из одной или более частей этих способов.
Чертежи не обязательно выполнены в масштабе и могут быть иллюстрированы воображаемыми линиями, схематичными представлениями и частичными видами. В некоторых случаях, подробности, не являющиеся необходимыми для понимания вариантов изобретения или отображающие другие детали, которые трудны для восприятия, могут быть опущены. Подобные позиционные обозначения на различных чертежах присвоены подобным элементам.
Осуществление изобретения
Некоторые варианты реализации предмета настоящего изобретения направлены на создание способов для кодирования видео, осуществляющих сегментацию изображения с использованием блоков отсчетов в качестве базовой единицы. Блоки отсчетов могут иметь одинаковый размер, который может быть длиной боковой стороны, выраженной в пикселях для квадрата из пикселей; например, и без ограничений, описываемые здесь варианты могут использовать блоки отсчетов размером 4 x 4 в качестве базовой единицы, тем самым обеспечивая соответствие некоторому типовому стандартному размеру преобразования при кодировании видео и изображения. Благодаря использованию блоков размером 4 x 4 в качестве базового размера сегментации, некоторые варианты реализации предмета настоящего изобретения могут позволить кодирующему устройству реализовать более мелкую зернистость, причем такой размер соответствует установленным размерам блоков преобразования, что дает возможность использовать стандартные и определяемые преобразовательные матрицы, что может повысить эффективность кодирования. Далее, такой подход может контрастировать с некоторыми существующими способами кодирования, использующими структуру блоков относительно большого размера. Специалисты в рассматриваемой области после изучения настоящего изобретения в полном объеме должны понимать, что, хотя для краткости во многих последующих примерах используются блоки отсчетов одного и того же размера 4 x 4, в общем случае, для разбиения и/или сегментации изображения могут быть использованы блоки любого размера или формы в соответствии с каким-либо способом измерений.
В некоторых вариантах предмет настоящего изобретение содержит использование слияния блоков на основе областей, что позволяет осуществлять контекстный и синтаксический анализ и обработку изображения.
На Фиг. 1 представлена логическая схема, иллюстрирующая пример процедуры кодирования видео, которая может использовать блоки размером 4 x 4 в качестве базового размера сегментации, что может позволить получить более мелкую зернистость кодирующего устройства, реализующего и/или осуществляющего эту процедуру; такой размер может соответствовать установленным размерам блоков преобразования. На этапе 105, устройство кодирования принимает кадр видео. Это может быть осуществлено каким-либо способом, подходящим для приема видео в форме потока и/или в форме файла от какого-либо устройства и/или от входного порта. Процедура приема кадра видео может содержать извлечение его из запоминающего устройства, входящего в устройство кодирования и/или в компьютерное устройство, которое осуществляет связь с кодирующим устройством, содержит устройство кодирования или входит в это устройство кодирования. Процедура приема может содержать прием от удаленного устройства по сети связи. Процедура приема видео может содержать прием нескольких кадров видео, которые комбинируются для образования одного или более видео.
На этапе 110, и продолжая обращаться к Фиг. 1, устройство кодирования сегментирует кадр видео, превращая его в совокупность блоков, например, путем разбиения кадра видео на блоки, включая без ограничений блоки размером 4 пикселя на 4 пикселя (4 x 4). Размер 4 x 4 может быть совместим с несколькими стандартными разрешениями видео, которое может быть разделено на целое число блоков размером 4 x 4.
На этапе 115, и продолжая обращаться к Фиг. 1, осуществляется слияние блоков. Процедура слияния блоков может содержать определение в пределах кадра видео первой области, содержащей первую группу первого подмножества блоков. При слиянии блоков каждый блок может быть назначен некоторой области. Логическая функция назначения, такая как, без ограничений, семантическая информация, может быть получена из внешнего источника, эта семантическая информация может быть принята на этапе 130; в качестве неисчерпывающего примера, семантическая информация может содержать информацию, поступающую от детектора лиц, так что эта семантическая информация представляет собой данные, характеризующие обнаружение лиц. Соответственно, первая группировка может быть определена на основе принятой семантической информации. В некоторых вариантах реализации, логическая функция назначения может быть задана предварительно, например, в соответствии с несколькими алгоритмами кластеризации или группирования. Устройство кодирования может быть дополнительно конфигурировано для определения в пределах кадра видео второй области, содержащей вторую группу второго подмножества блоков.
На Фиг. 2 представлен иллюстративный пример процедуры сегментации и слияния для изображения с человеческим лицом. Любой блок, имеющий по меньшей мере один пиксель, принадлежащий интересующему объекту, такому как, без ограничений, лицо, как это идентифицировано, например, посредством принятой семантической информации, может быть назначен заштрихованной области (A2), например, в соответствии с принятой семантической информацией, и объединен путем слияния с другими блоками в этой области.
Обращаясь снова к Фиг. 1, на этапе 120, может быть определена первая усредненная информация измерений для первой области. Эта информация измерений может содержать, например, уровень детальности области. Например, гладкая область или сильно текстурированная область могут содержать различные объемы информации.
По-прежнему, обращаясь к Фиг. 1, первая усредненная информация измерений может быть определена, в качестве неисчерпывающего примера, в соответствии с суммой информации измерений для индивидуальных блоков в пределах первой области, которая (информация измерений) может быть взвешена и/или умножена на коэффициент значимости, например, как показано в следующей сумме:
N
k
N
k
где N обозначает последовательный номер первой области, S обозначает коэффициент значимости, k обозначает индекс, соответствующий одному из совокупности нескольких блоков, составляющих первую область, n обозначает число блоков, составляющих первую область, B обозначает информацию измерений одного блока из совокупности блоков и A обозначает первую усредненную информацию измерений. Параметр B может представлять собой, например, измерение пространственной активности, вычисленную с использованием дискретного косинусного преобразования соответствующего блока. Например, если блоки, как описано выше, представляют собой блоки пикселей размером 4 x 4, матрица обобщенного дискретного косинусного преобразования может представлять собой матрицу обобщенного дискретного косинусного преобразования II, принимающую форму:
T =
где a равно ½, b равно и c равно .
В некоторых вариантах реализации, может быть использована целочисленная аппроксимация матрицы преобразования, которая может быть применена для эффективной реализации аппаратуры и программного обеспечения. Например, когда блоки, как описано выше, представляют собой блоки пикселей размером 4 x 4, матрица обобщенного дискретного косинусного преобразования может представлять собой матрицу обобщенного дискретного косинусного преобразования II, принимающую форму:
INT
T = .
i
Для блока B, частотное содержание этого блока может быть вычислено с использованием:
Bi
i
F = T x B x T’.
i
где T’ представляет собой транспонированную матрицу T косинусного преобразования, Bобозначает блок, представленный в виде матрицы численных величин, соответствующих пикселям в блоке, такой как матрица 4 x 4, представляющая блок 4 x 4, как описано выше, и оператор x обозначает умножение матриц. Измерение пространственной активности может быть в качестве альтернативы или в дополнение получена с использованием обнаружения края и/или угла, свертки с ядрами для обнаружения рисунков и/или частотного анализа, такого как, без ограничений, процедуры быстрого преобразования Фурье (БПФ (FFT)), как более подробно описано ниже.
Продолжая обращаться к Фиг. 1, устройство кодирования далее конфигурировано для определения второй области в пределах кадра видео, как описано выше, со ссылками на Фиг. 1, где эта вторая область содержит, например и без ограничений, вторую группу из второго подмножества блоков, в этом случае устройство кодирования может быть конфигурировано для определения второй усредненной информации измерений для второй области; определение второй усредненной информации измерений может быть осуществлено, как описано выше для определения первой усредненной информации измерений.
N
N
N
N
По-прежнему обращаясь к Фиг. 1, коэффициент S значимости может быть получен от внешнего эксперта и/или вычислен на основе характеристик первой области (например, объединенных путем слияния блоков). «Характеристика» области, как это используется здесь, представляет собой измеримый атрибут области, определяемый на основе ее содержания; характеристика может быть представлена в числовой форме с использованием результатов одного или более вычислений, выполняемых относительно первой области. Совокупность этих одного или более вычислений может содержать какой-либо анализ какого-либо сигнала, представленного первой области. Один из неисчерпывающих примеров может содержать назначение более высокого коэффициента S для области с гладким фоном и меньшего коэффициента S для области с менее гладким фоном в приложениях с моделированием качества; в качестве неисчерпывающего примера, гладкость может быть определена с использованием способа Кэнни (Canny) обнаружения края, где меньшее число обозначает более высокую степень гладкости. Другой пример с автоматическим определением гладкости может содержать использование быстрого преобразования Фурье (БПФ (fast Fourier transforms (FFT))) для сигнала в пространственных переменных для области, где сигнал можно анализировать в какой-либо двумерной системе координат, и по каналам, представляющим величины красной-зеленой-синей составляющей или другие подобные величины; большее относительное преобладание в частотной области, как это вычислено с использованием преобразования БПФ (FFT), составляющих с более низкими частотами может указывать на более высокую степень гладкости, тогда как большее относительное преобладание составляющих с более высокими частотами может обозначать более частые и быстрые переходы цветовых и/или теневых величин в области фона, результатом чего может быть более низкий показатель гладкости; семантически важные объекты могут быть идентифицированы посредством введенных пользователем данных. Семантическая важность может быть в качестве альтернативы или в дополнение определена в соответствии с конфигурацией края и/или рисунком текстуры. Фон может быть идентифицирован, без ограничений, путем приема и/или обнаружения части области, которая представляет значимый объект или объект «переднего плана», такой как лицо или другой объект, включая, без ограничений, семантически важный объект. Другой пример может содержать назначение более высокого коэффициента S для областей, содержащих семантически важные объекты, такие как человеческое лицо.
На Фиг. 3 представлена последовательность изображений, иллюстрирующая другой пример процедуры сегментации и слияния в соответствии с некоторыми вариантами предмета настоящего изобретения. Входное изображение (a) может быть сегментировано и разбито на блоки размером 4 x 4, как показывает (b). На схеме (c), блоки могут быть подвергнуты слиянию с использованием заданной логической функции для получения множества областей большего размера, которое может представлять собой, без ограничений, множество идентичных областей размером 16 x 16, например, как показывает (d). На схеме (e) сегментация может быть осуществлена с использованием семантической информации, так что соответствующие области (A1, A2 и A3) сегментированного поля с цветами, облаков и остальное чистое небо, что показывает (f). В этом примере область A3 должна иметь самый низкий коэффициент значимости, а область A1 – самый высокий (наиболее гладкий фон).
Обращаясь снова к Фиг. 1, на этапе 125, кадр видео может быть кодирован. Процедура кодирования может содержать управление параметром квантования на основе первой усредненной информации измерений для первой области; параметр квантования может содержать, быть равным, быть пропорциональным и/или быть связанным линейной зависимостью с размером квантования и/или с уровнем квантования. Как используется в описании настоящего изобретения термин «уровень квантования» и/или «размер квантования» обозначает числовую величину, указывающую объем информации, которая должна быть отброшена при сжатии кадра видео; уровень квантования может представлять собой, без ограничений, число, такое как целое число, на которое делят и/или редуцируют один или более коэффициентов, включая без ограничений коэффициенты преобразования, чтобы уменьшить содержание информации в кодированном и в последующем декодируемом кадре. Процедура управления может содержать определение первого размера квантования на основе первой информации измерений; уровень квантования может прямо или косвенно представлять объем памяти в запоминающем устройстве или хранилище данных, необходимый для захвата информации, описывающей яркостные и/или цветностные данные пикселей в блоке, где большее число битов может потребоваться для сохранения информации, имеющей большую степень вариаций, как это определено первой информацией измерений. Размер квантования может определяться на основе первой информации измерений, как описано выше, где размер квантования может быть тем больше, чем больше первая информация измерений, и тем меньше, чем меньше первая информация измерений; размер квантования может быть пропорциональным первой информации измерений и/или может быть связан линейной зависимостью с этим первым измерением. В общем случае, результатом большего информационного содержания может быть больший размер квантования. Посредством управления размером квантования информация об областях слияния блоков может быть использована для оптимизации искажений скорости передачи данных при кодировании. Это управление может быть далее основано на второй усредненной информации измерений для второй области.
В некоторых вариантах реализации первая усредненная информация измерений может быть использована для вычислений качества.
На Фиг. 4 представлена системная блок-схема, иллюстрирующая пример кодирующего устройства 400 видео, способного осуществлять слияние изображений на блочной основе, а также контекстную сегментацию и обработку. Пример кодирующего устройства 400 видео принимает на входное видео 404, которое может быть первоначально сегментировано или разбито на блоки размером 4 x 4 для дальнейшей обработки.
Продолжая обращаться к Фиг. 4, пример кодирующего устройства 400 видео содержит процессор 408 для внутрикадрового прогнозирования, процессор 412 для оценки/компенсации движения (также называемый процессором для межкадрового прогнозирования), процессор 416 для преобразования/квантования, процессор 420 обратного квантования/обратного преобразования, внутриконтурный фильтр 424, буфер 428 для декодированного изображения и процессор 432 для энтропийного кодирования. В процессор 432 для энтропийного кодирования могут быть введены параметры потока битов данных для вставки в выходной поток 436 битов данных.
По-прежнему обращаясь к Фиг. 4, процессор 416 для преобразования/квантования может быть способен осуществлять слияние блоков и вычислять информацию измерений для каждой области.
Продолжая обращаться к Фиг. 4, во время работы, для каждого блока кадра входного видео 404, может быть определено, следует ли обработать рассматриваемый блок посредством внутрикадрового прогнозирования или с использованием оценки/компенсации движения. Этот блок может быть передан процессору 408 для внутрикадрового прогнозирования или процессору 412 для оценки/компенсации движения. Если блок должен быть обработан посредством внутрикадрового прогнозирования, процессор 408 для внутрикадрового прогнозирования может осуществить обработку и передать на выход результат прогнозирования. Если блок должен быть обработан посредством оценки/компенсации движения, процессор 412 для оценки/компенсации может осуществить соответствующую обработку.
По-прежнему обращаясь к Фиг. 4, остаток может быть получен путем вычитания результата прогнозирования из входного видео. Этот остаток может быть принят процессором 416 для преобразования/квантования, так что этот процессор может осуществить преобразование (например, дискретное косинусное преобразования (discrete cosine transform (DCT))) для получения коэффициентов, которые могут быть квантованы. Эти квантованные коэффициенты и какая-либо ассоциированная сигнализационная информация могут быть переданы процессору 432 для энтропийного кодирования и включения в выходной поток 436 битов данных. В дополнение к этому, квантованные коэффициенты могут быть переданы процессору 420 для обратного квантования/обратного преобразования, какой может воспроизводить пиксели, которые могут быть скомбинированы с результатом прогнозирования и обработаны внутриконтурным фильтром 424, а выходной сигнал фильтра сохраняют в буфере 428 для декодированного изображения с целью использования процессором 412 для оценки/компенсации движения.
Следует отметить, что любые один или более из описываемых здесь аспектов и вариантов могут быть успешно реализованы с использованием цифровых электронных схем, интегральных схем, специализированных интегральных схем (application specific integrated circuit (ASIC)), программируемых пользователем вентильных матриц (field programmable gate array (FPGA)), компьютерной аппаратуры, встроенного программного обеспечения, загружаемого программного обеспечения и/или комбинаций перечисленных элементов, реализуемых в одной или более машинах (например, одном или более компьютерных устройствах, используемых в качестве пользовательского компьютерного устройства для электронного документа, одном или более серверных устройств, таких как сервер документов, и т.п.), запрограммированных в соответствии с настоящим описанием, как это будет ясно даже рядовым специалистам в компьютерной технике. Эти разнообразные аспекты или признаки могут содержать реализацию в одной или более компьютерных программах и/или программном обеспечении, выполняемом и/или интерпретируемом в программируемой системе, содержащей по меньшей мере один программируемый процессор, который может быть процессором специального или общего назначения, соединенным для приема данных и команд от и для передачи данных и команд в систему хранения информация, по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода. Квалифицированные программисты смогут достаточно легко подготовить код соответствующего программного обеспечения на основе положений настоящего изобретения, как это будет очевидно даже рядовым специалистам в области программирования. Описанные выше аспекты и варианты реализации, использующие программное обеспечение и/или программные модули, могут также содержать подходящую аппаратуру, способствующую реализации выполняемых машиной команд программного обеспечения и/или программного модуля.
Такое программное обеспечение может представлять собой компьютерный программный продукт, использующий машиночитаемый носитель для хранения информации. Машиночитаемый носитель для хранения информации может представлять собой какой-либо носитель, способный сохранять и/или кодировать последовательность команд для выполнения машиной (например, компьютерным устройством) и управлять машиной для осуществления какого-либо из способов и/или вариантов, описываемых здесь. К примерам таких машиночитаемый носителей для хранения информации относятся, не ограничиваясь этим, магнитный диск, оптический диск (например, CD, CD-R, DVD, DVD-R и т.п.), магнитооптический диск, постоянное запоминающее устройство (ПЗУ (read-only memory “ROM”)), запоминающее устройство с произвольной выборкой (ЗУПВ (random access memory “RAM”)), магнитная карточка, оптическая карточка, твердотельное запоминающее устройство, стираемое программируемое постоянное запоминающее устройство (СППЗУ (EPROM)), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ (EEPROM)), программируемые логические устройства (Programmable Logic Device (PLD)) и/или какие-либо комбинации таких устройств. Термин «машиночитаемый носитель», как он используется здесь, охватывает как одиночный носитель, так и комплекс физически раздельных носителей, такой как, например, комплект компакт-дисков или один, или более накопителей на жестких дисках в сочетании с компьютерным запоминающим устройством. Как используется здесь, термин «машиночитаемый носитель для хранения информации» не охватывает временные формы передачи сигнала.
Такое программное обеспечение может также содержать информацию (например, данные), передаваемые в виде сигнала данных на носителе данных, таком как волна несущей. Например, машиночитаемая информация может быть представлена в виде сигнала данных на несущей данных, на которой сигнал кодирует последовательность команд или часть ее, для выполнения машиной (например, компьютерным устройством) и любую относящуюся к этому информацию (например, структуры данных и данные), побуждающую машину осуществлять какие-либо способы и/или варианты, описываемые здесь.
К примерам компьютерного устройства относятся, не ограничиваясь этим, устройство для чтения электронных книг, компьютерная рабочая станция, компьютер терминала, компьютер сервера, ручное устройство (например, планшетный компьютер, смартфон и т.п.), устройство для работы с Интернет, сетевой маршрутизатор, сетевой коммутатор, сетевой мост, какая-либо машина, способная выполнять последовательность команд, специфицирующую действия, которые должна выполнять машина и какие-либо сочетания перечисленных устройств. В одном из примеров, компьютерное устройство может содержать и/или быть встроено в киоск.
На Фиг. 5 показано схематичное представление одного из вариантов компьютерного устройства в форме примера компьютерной системы 500, где может выполняться множество команд, в соответствии с которыми система управления реализует один или более аспектов и/или способов настоящего изобретения. Также предполагается, что множество компьютерных устройств может быть использовано для реализации специально конфигурированного набора команд, в соответствии с которыми одно или более устройств осуществляет один или более аспектов и/или способов согласно настоящему изобретению. Компьютерная система 500 содержит процессор 504 и запоминающее устройство 508, осуществляющие связь одно с другим и с другими компонентами по шине 512. Шина 512 может содержать какую-либо из ряда структур шин, включая, но не ограничиваясь, шину памяти, контроллер памяти, шину периферийных устройств, локальную шину и какую-либо комбинацию перечисленных компонентов с использованием какой-либо из различных архитектур шин.
Запоминающее устройство 508 может содержать различные компоненты (например, машиночитаемые носители), включая, но не ограничиваясь, компонент запоминающего устройства с произвольной выборкой, компонент постоянного запоминающего устройства и какую-либо комбинацию таких компонентов. В одном из примеров, в запоминающем устройстве 508 может быть записана базовая система ввода/вывода (basic input/output system (BIOS)) 516, содержащая базовые процедуры, помогающие передавать информацию между элементами в компьютерной системе 500, например, во время запуска этой компьютерной системы. Запоминающее устройство 508 может также содержать (например, в сохраненном на одном или более машиночитаемых носителях виде) команды (например, программное обеспечение) 520, реализующие какие-либо один или более аспектов и/или способов согласно настоящему изобретению. В другом примере, запоминающее устройство 508 может далее содержать любое число программных модулей, включая, но не ограничиваясь этим, операционную систему, одну или более прикладных программ, другие программные модули, данные программ и какие-либо комбинации этого.
Компьютерная система 500 может также содержать хранилище программ и данных 524. К примерам хранилища программ и данных (например, хранилища программ и данных 524) относятся, не ограничиваясь этим, накопитель на жестком диске, накопитель на магнитном диске, накопитель на оптическом диске в сочетании с оптическим носителем, твердотельное запоминающее устройство и какая-либо комбинация таких устройств. Хранилище программ и данных 524, может быть соединено с шиной 512 посредством подходящего интерфейса (не показан). Например, к таким интерфейсам относятся, не ограничиваясь этим, интерфейс малых компьютерных систем, SCSI, усовершенствованный интерфейс периферийных устройств (advanced technology attachment (ATA)), последовательный интерфейс ATA, универсальная последовательная шина (universal serial bus (USB)), интерфейс согласно стандарту IEEE 1394 (FIREWIRE) или какие-либо комбинации таких интерфейсов. В одном из примеров хранилище программ и данных 524 (или один или более компонентов такого хранилища) может быть сопряжено с компьютерной системой 500 так, что его можно отсоединить (например, через соединитель внешнего порта (не показан)). В частности, хранилище программ и данных 524 и ассоциированный с ним машиночитаемый носитель 528 могут создать энергонезависимое и/или энергозависимое хранилище машиночитаемых команд, структур данных, программных модулей и/или других данных для компьютерной системы 500. В одном из примеров программное обеспечение 520 может быть резидентно, полностью или частично, на машиночитаемом носителе 528. В другом примере, программное обеспечение 520 может быть резидентно, полностью или частично, в процессоре 504.
Компьютерная система 500 может также содержать устройство 532 ввода. В одном из примеров пользователь компьютерной системы 500 может вводить команды и/или другую информацию в компьютерную систему 500 через это устройство 532 ввода. К примерам устройства 532 ввода относятся, не ограничиваясь этим, устройство алфавитно-числового ввода (например, клавиатура), указательное устройство, джойстик, геймпад (игровая панель), устройство аудио ввода (например, микрофон, система с речевым ответом и т.п.), устройство управления курсором (например, мышь), сенсорная панель, оптический сканер, устройство для захвата изображений (например, фотокамера, видеокамера), сенсорный экран или какая-либо комбинация этих устройств. Устройство 532 ввода может быть сопряжено с шиной 512 через какой-либо из разнообразных интерфейсов (не показаны), включая, но не ограничиваясь, последовательный интерфейс, параллельный интерфейс, игровой порт, USB-интерфейс, FIREWIRE-интерфейс, прямое соединение с шиной 512 и какую-либо комбинацию таких устройств. Устройство 532 может содержать интерфейс в виде сенсорного экрана, который может представлять собой часть дисплея 536 или быть отдельным от него, что далее обсуждается ниже. Устройство 532 ввода может быть использовано в качестве селекторного устройства пользователя для выбора одного или более графических представлений в графическом интерфейсе, как обсуждается выше.
Пользователь может также вводить команды и/или другую информацию в компьютерную систему 500 через хранилища программ и данных 524 (например, накопитель со сменными дисками, флэш-накопитель и т.п.) и/или устройство 540 сетевого интерфейса. Такое устройство 540 сетевого интерфейса может быть использовано для соединения компьютерной системы 500 с одной или несколькими сетями, такими как сеть 544, и одним или несколькими удаленными устройствами 548, соединенными с ней. К примерам устройств сетевого интерфейса относятся, но не ограничиваясь этим, плата сетевого интерфейса (например, плата сетевого интерфейса для мобильной сети, плата локальной сети связи (LAN)), модем и какая-либо комбинация этих устройств. К примерам сети относятся, не ограничиваясь этим, широкомасштабная сеть связи (например, Интернет, сеть предприятия), локальная сеть связи (например, сеть, ассоциированная с офисом, зданием, кампусом или каким-либо относительно небольшим географическим пространством), телефонная сеть, сеть передачи данных, ассоциированная с провайдером телефонной/голосовой связи (например, сеть передачи данных и/или голосовая сеть провайдера мобильной связи), прямое соединение между двумя компьютерными устройствами или какая-либо комбинация перечисленных объектов. Сеть связи, такая как сеть 544, может использовать проводную и/или беспроводную связь. В общем случае может быть использована любая топология сети. Информация (например, данные, программное обеспечение 520 и т.п.) может быть передана в компьютерную систему 500 или из нее через устройство 540 сетевого интерфейса.
Компьютерная система 500 может далее содержать адаптер 552 видео дисплея для передачи изображения, представляемого на дисплее, дисплейному устройству, такому как дисплейное устройство 536. К примерам дисплейного устройства относятся, не ограничиваясь этим, жидкокристаллический дисплей (liquid crystal display (LCD)), электронно-лучевая трубка (cathode ray tube (CRT)), плазменный дисплей, дисплей на светодиодах (light emitting diode (LED)) и какая-либо комбинация таких дисплеев. Адаптер 552 дисплея и дисплейное устройство 536 могут быть использованы в сочетании с процессором 504 для создания графических представлений аспектов настоящего изобретения. В дополнение к дисплейному устройству, компьютерная система 500 может содержать одно или более других периферийных устройств вывода, включая, но не ограничиваясь, аудио громкоговоритель, принтер и какую-либо комбинацию этих устройств. Такие периферийные устройства вывода могут быть соединены с шиной 512 через интерфейс 556 периферийных устройств. К примерам таких интерфейсов периферийных устройств относятся, не ограничиваясь этим, последовательный порт, соединение USB, соединение FIREWIRE, параллельное соединение или какая-либо комбинация таких соединений.
Выше дано подробное описание иллюстративных вариантов настоящего изобретения. Здесь могут быть сделаны разнообразные модификации и дополнения, не отклоняясь от смысла и объема настоящего изобретения. Признаки каждого из описываемых здесь различных вариантов могут быть скомбинированы подходящим образом с признаками других описываемых вариантов для получения множества комбинаций признаков в ассоциированных новых вариантах. Далее, хотя выше был рассмотрен ряд раздельных вариантов, приведенное здесь описание является всего лишь иллюстрацией применения принципов настоящего изобретения. В дополнение к этому, хотя приведенные здесь различные способы могут быть иллюстрированы и/или описаны как выполняемые в определенном конкретном порядке, этот порядок может изменяться в широких пределах, доступных даже рядовому специалисту, для получения различных вариантов, как описано здесь. Соответственно настоящее описание является всего лишь примером и никак иначе не ограничивает объем настоящего изобретения.
В приведенном выше описании и в Формуле изобретения за фразами «по меньшей мере один из» или «один или более из» может следовать присоединительный список элементов или признаков. Термин «и/или» может также встречаться в списке из двух или более элементов или признаков. Если это явно или неявно не противоречит контексту, такой термин должен обозначать любой из перечисленных в списке элементов или признаков индивидуально, либо какой-либо из упомянутых элементов или признаков в сочетании с каким-либо другим из перечисленных элементов или признаков. Например, фразы «по меньшей мере один из A и B»; «один или более из A и B»; и «A и/или B» должны обозначать каждая «A отдельно, B отдельно или A и B вместе». Аналогичная интерпретация предполагается также применительно к списку, содержащему три или более позиций. Например, фразы «по меньшей мере один из A, B и C»; «один или более из A, B и C»; и «A, B и/или C» должны обозначать каждая «A отдельно, B отдельно, C отдельно, A и B вместе, A и C вместе, B и C вместе или A и B и C вместе». В дополнение к этому, использование термина «на основе» выше и в Формуле изобретения должно означать «по меньшей мере частично на основе», так что неупомянутый признак или элемент также является допустимым.
Описываемый здесь предмет изобретения может быть реализован в системах, аппаратуре, способах и/или изделиях в зависимости от желаемой конфигурации. Варианты реализации, приведенные в описании выше, не представляют все варианты реализации, согласованные с описываемым здесь предметом изобретения. Напротив, это всего лишь несколько примеров, согласованных с аспектами, относящимися к описываемому предмету изобретения. Хотя выше были подробно описаны лишь небольшое число вариантов, возможны также и другие модификации или дополнения. В частности, другие признаки и/или варианты могут быть созданы в дополнение к тому, что рассмотрено здесь. Например, описываемые выше варианты реализации могут быть направлены на различные комбинации и субкомбинации описываемых признаков и/или комбинации и субкомбинации ряда других признаков, описанных выше. В дополнение к этому, логические схемы, изображенные на прилагаемых чертежах и/или описываемые здесь, не требуют обязательного выполнения в показанном здесь порядке или в последовательном порядке для достижения желаемых результатов. Другие варианты реализации могут находиться в пределах объема следующей Формулы изобретения.