ДИНАМИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ИЗОБРАЖЕНИЯ
DYNAMIC IMAGE PRESENTATION

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится, в общем, к вычислительной технике и, более конкретно, к организации изображений в устройстве отображения.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В вычислительных средах изображения могут извлекаться из базы данных изображений и отображаться на различных экранах устройств отображения, таких как мониторы компьютеров, переносные устройства и другие. Кроме того, изображения могут отображаться в различных форматах. Обычно, если база данных изображений содержит набор изображений, множество версий с уменьшенным изображением (миниатюрных) могут отображаться на экране вместе. "Вид графической миниатюры" может быть визуализацией набора фотографий, например, из папки, в котором большое число или все фотографии являются видимыми на экране, и оставшиеся фотографии можно увидеть посредством простой операции прокрутки. Часто, при желании пользователя просмотреть изображения из базы данных изображений, которая может содержать несколько или тысячи изображений, он непрерывно просматривает отображаемую выборку (например, просмотра путем прокрутки), пока не найдет требуемое изображение или изображения. Кроме того, изображения могут включать различные размеры, форматные соотношения и схемы расположения; и пользователь может иметь возможность задавать размер версии графической миниатюры для предпочтительного просмотра на устройстве отображения.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Данное краткое описание сущности изобретения приведено, чтобы в упрощенной форме представить подборку понятий, которые дополнительно описаны ниже в подробном описании изобретения. Это краткое описание сущности изобретения не предназначено идентифицировать ключевые факторы или существенные признаки заявленного изобретения, и при этом это не предназначено использоваться для ограничения объема заявленного изобретения.
В вычислительной среде, если некто желает просмотреть изображения на экране устройства отображения, он обычно был ограничен единообразной схемой плотного размещения. Например, если пользователь вводит поисковый запрос в веб-сайт онлайнового поиска, сайт возвращает ограниченное отображение некоторых из изображений изо всех, удовлетворяющих критерию поиска. Если пользователь ищет конкретный элемент, например, от торгового веб-сайта, поиск путем просмотра всех возвращенных результатов может быть довольно громоздким. Единообразные отображения изображений имеют некоторые ограничения, например, они обычно ограничивают размер, позицию и/или число изображений, подлежащих отображению. Вследствие этих ограничений, результирующие изображения являются часто искаженными для соответствия некоторому форматному соотношению, или детали изображения нельзя различить, поскольку разрешение не соответствует надлежащим образом размеру отображаемого изображения. Кроме того, много экранного пространства остается пустым, часто до 70%, при использовании единообразной схемы плотного размещения.
Эти трудности особенно усиливаются, когда пользователь осуществляет доступ к изображениям с экрана мобильного устройства, который часто весьма ограничен в размере. Возможности для пользователя получать изображения из базы данных изображений как можно быстрее препятствует этот тип схемы единообразного плотного размещения. Кроме того, если пользователь изменяет масштаб на "вид графической миниатюры" или из него, могут искажаться изображения и/или детали изображения, и пространство отображения может дополнительно бесполезно расходоваться, поскольку изображения обычно не располагаются способом, уменьшающим "свободное место" (например, неиспользованное экранное пространство). Следовательно, может быть желательным отображать изображения пользователю в их исходных форматных соотношениях, например, и уменьшать неиспользованную область отображения в динамической схеме размещения, чтобы содействовать интуитивному и полезному взаимодействию пользователя с изображениями.
Представлены один или несколько способов и/или систем расположения изображений, разработанных, чтобы располагать и/или отображать множество изображений в виде схемы эффективного плотного размещения, и обеспечивать эффективное расположение в течение событий изменения масштаба для отображаемого множества изображений. Кроме того, один или несколько способов и/или систем, описанных в документе, обеспечивают, чтобы отображаемые изображения содержали свое исходное форматное соотношение и схему размещения, например, посредством этого допуская требуемое разрешение при минимизации при этом или существенном снижении искажения. Например, один или несколько способов и/или систем, описанных в документе, могут давать возможность пользователю мобильного устройства более эффективно извлекать и отображать большее число изображений на один экран отображения, при поддержании форматных соотношений, посредством этого получая разрешение и искажение, которые дают пользователю более высокого качества восприятие при просмотре.
Для содействия, по меньшей мере, части такого, размер изображения масштабируется согласно коэффициенту масштабирования изображения, и в течение масштабирования поддерживается форматное соотношение для изображения. В этом варианте осуществления коэффициент масштабирования изображения содержит комбинацию из первого расстояния масштабирования и второго расстояния масштабирования, например, определенным согласно расстоянию касания исходя из жеста двойного касания. Масштабированное изображение заполняется в первую линию отображения, такую как строка или колонка, если размер масштабированного изображения не больше величины области отображения, оставшегося в первой линии отображения; иначе масштабированное изображение заполняется во вторую линию отображения (например, следующая строка). Изображение затем расширяется (растягивается), чтобы уменьшить свободное место в отображении после масштабирования, при поддержании форматного соотношения для изображения. В одном смысле результирующие представления изображений могут рассматриваться изображениями, "повторно организованными в поток", для отображения внутри области с наличием прокрутки.
Для осуществления предшествующих и связанных целей, в нижеследующем описании и на прилагаемых чертежах изложены некоторые иллюстративные аспекты и реализации. Они указывают лишь несколько из различных путей, которыми могут использоваться один или несколько аспектов. Другие аспекты, преимущества и новые признаки раскрытия станут очевидными из нижеследующего подробного описания при рассмотрении вместе с прилагаемыми фигурами чертежей.
КРАТКОЕ ОПИСАНИЕ ФИГУР ЧЕРТЕЖЕЙ
Фиг. 1 - иллюстрация примерного отображения, где изображения обрезаны в форме квадрата.
Фиг. 2 - иллюстрация альтернативного примерного отображения, где изображения вписаны в прямоугольные поля отображения, имеющие одинаковый размер.
Фиг. 3 - иллюстрация альтернативного примерного отображения, где изображения ограничены одинаковой высотой в отображении.
Фиг. 4 - блок-схема примерного способа эффективной организации изображений в устройстве отображения вычислительного устройства.
Фиг. 5A - иллюстрация примерного варианта осуществления, где изображения заполняются в линии отображения в отображении.
Фиг. 5B - иллюстрация примерного варианта осуществления, где линии отображения заполнены изображениями, и изображения расширены, чтобы уменьшить свободное место.
Фиг. 6 - блок-схема, иллюстрирующая примерный вариант осуществления части способа, где изображения могут быть организованы в отображении согласно одному или нескольким способам, описанным в документе.
Фиг. 7 - блок-схема, иллюстрирующая примерный вариант осуществления части способа, где может быть применен алгоритм основной схемы размещения.
Фиг. 8 - иллюстрация примерного варианта осуществления, где изображения могут перекрываться между смежными строками или колонками.
Фиг. 9A и 9B - иллюстрация примерных вариантов осуществления, где центральное изображение поддерживается после масштабирования.
Фиг. 10 - схема компонентов примерной системы для эффективного отображения изображений в вычислительной среде.
Фиг. 11 - схема компонентов одного примерного варианта осуществления, где может быть реализована система для эффективного отображения изображений в вычислительной среде.
Фиг. 12 - иллюстрация примерного читаемого компьютером носителя, содержащего исполняемые процессором команды, сконфигурированные для осуществления одного или нескольких положений, изложенных в документе.
Фиг. 13 - иллюстрация примерной вычислительной среды, в которой может быть реализовано одно или несколько положений, изложенных в документе.
ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Заявленное изобретение теперь описывается со ссылкой на чертежи, причем одинаковые числовые позиции используются для ссылки на одинаковые элементы по всему описанию. В нижеследующем описании, в целях пояснения, изложены многие конкретные подробности, чтобы обеспечить полное понимание заявленного объекта изобретения. Может быть очевидным, однако, что заявленное изобретение может быть осуществлено без этих конкретных подробностей. В других случаях структуры и устройства показываются в форме блок-схемы, чтобы содействовать описанию заявленного изобретения.
Изображения фотографий обычно являются прямоугольными, имеющими форматное соотношение 4:3, 3:2, 16:9 или перестановки таковых. Изображения фотографий, отображаемые на вычислительном устройстве, например, содержащем ограниченное пространство визуального отображения (например, экран мобильного устройства), могут отображаться различными способами. Может использоваться множество способов, чтобы обеспечить отображение множества изображений на ограниченного размера области отображения, такие как: обрезка (например, удаление части изображения, сверху, снизу, сбоку или комбинации каждого); вписывание изображений различных размеров в имеющие одинаковые размеры прямоугольные поля отображения (например, путем искажения или обрезки); ограничение изображений до одинаковой высоты или ширины; и искажение изображения, чтобы вписать в заранее заданный размер отображения, которые представляют лишь несколькими примерами (способов).
На Фиг. 1 показана иллюстрация примерного отображения 100, где изображения обрезаны в форме квадрата. В этом примере 100, область 102 отображения, такая как мобильных вычислительных устройств (например, мобильного интеллектуального телефона, портативного медиаплеера (PMP), персонального цифрового ассистента (PDA), и т.д.), может содержать некоторые функциональные клавиши 106 (например, для устройства сенсорного экрана) и множество изображений 104. Здесь, изображения 104 отображены в виде графической миниатюры (например, уменьшенного размера), где более одного изображения может отображаться одновременно.
Кроме того, для отображения большего числа изображений в организованном расположении, изображения 104 были обрезаны в форме квадрата. Таким образом, например, боковые стороны и/или верхняя и нижняя часть изображения были удалены, чтобы создать графическую миниатюру квадратной формы. Обычно, выбирается центр изображения, и отображаются окружающие центр части, которые вмещаются в заранее заданный квадрат обрезки, и оставшиеся вне квадрата обрезки части не отображаются в графической миниатюре. По сути, в этом формате, части изображения теряются при показе графических миниатюр 104 области 102 отображения.
На Фиг. 2 показана иллюстрация альтернативного примерного отображения 200, где изображения вписаны в прямоугольные поля отображения, имеющие одинаковый размер. В этом примере 200, область 202 отображения, такая как мобильного устройства, может также содержать функциональную область 206 и множество изображений 204. Однако, в этом примере 200, соответственные изображения 204 вмещаются в прямоугольные поля 208 отображения, которые имеют одинаковый размер. Таким образом, например, независимо от того, имеет ли изображение портретный или альбомный формат (например, или некоторое другое форматное соотношение), ему задаются размеры надлежащим образом, чтобы вмещаться только внутри прямоугольного поля 108 отображения. По сути, качество изображения может быть потеряно, когда изображение уменьшается в размере, чтобы вмещаться в прямоугольное поле 208 отображения. Кроме того, этот тип отображения создает много "свободного места" 210 между изображениями 204, бесполезно расходуя экранную область 202 отображения.
На Фиг. 3 показана иллюстрация альтернативного примерного отображения 300, где изображения ограничены одинаковой высотой в отображении. В этом примере 300, область 302 отображения может также включить функциональную область 306 и множество изображений 304. Однако, в этом примере 300, миниатюрные изображения 304 ограничены по высоте так, чтобы высота строки для изображений была фиксированной. Ограниченные по высоте (или ограниченные по ширине) миниатюрные изображения могут быть обрезаны (например, сверху, снизу или с боковых сторон) и/или искажены, чтобы вмещаться в ограничения высоты. Снова, этот тип отображения может снижать качество изображения, и/или часть изображения может быть потеряна при обрезке. Кроме того, в этом примере 300, изображения являются выровненными по центру, каковое имеет тенденцию создавать много расходуемого "свободного места" 310 по обе стороны изображений 304.
Могут быть разработаны один или несколько способов, которые обеспечивают пользовательский интерфейс (UI) для просмотра фотоминиатюр, где графические миниатюры отображаются в исходном форматном соотношении (например, ни обрезанными, ни вписанными в рамку другого размера), и которые используют столько области отображения, сколько возможно (например, уменьшает свободное место), к тому же обеспечивают средство динамической схемы размещения, чтобы содействовать интуитивному и полезному взаимодействию пользователя с миниатюрами, например, чтобы изменять размеры (например, увеличивать и уменьшать масштаб изображения). В одном варианте осуществления, используя один или несколько способов, описанных в документе, UI мультикасания, например, может быть объединен с отображением фотоминиатюр в их собственном форматном соотношении, обеспечивая интуитивное сенсорное изменение масштаба/масштабирование (с управлением от сенсорного экрана), уменьшая при этом неиспользованное свободное место.
На Фиг. 4 показана блок-схема примерного способа 400 эффективной организации изображений в устройстве отображения вычислительного устройства. Примерный способ 400 начинается на этапе 402 и содержит масштабирование размера изображения (например, увеличение или уменьшение видимого размера изображения) при поддержании при этом форматного соотношения для изображения, на этапе 404. Здесь, изображение масштабируется согласно коэффициенту масштабирования изображения, который является комбинацией из первого расстояния масштабирования и второго расстояния масштабирования. Кроме того, множество изображений может масштабироваться согласно коэффициенту масштабирования одновременно. То есть, например, миниатюрные изображения, отображаемые в UI, все масштабируются согласно одинаковому коэффициенту масштабирования одновременно, например, путем увеличения (например, увеличивая масштаб) своего размера, или уменьшения (например, уменьшая масштаб) своего размера.
В одном варианте осуществления коэффициент масштабирования может быть определен объединением первого расстояния масштабирования и второго расстояния масштабирования. В качестве примера, коэффициент масштабирования может содержать функцию частного от второго расстояния масштабирования и первого расстояния масштабирования, такую как:
Коэффициент масштабирования = f(второе расстояние масштабирования/первое расстояние масштабирования).
Альтернативно может использоваться нижеследующее:
Второй коэффициент масштабирования = Первый коэффициент масштабирования × f(второе расстояние масштабирования/первое расстояние масштабирования),
где первым коэффициентом масштабирования является предыдущий коэффициент масштабирования, используемый для масштабирования изображения, и вторым коэффициентом масштабирования является текущий коэффициент масштабирования, подлежащий определению для масштабирования изображения.
Следует понимать, что способы, описанные в документе, не ограничиваются каким-либо конкретным вариантом осуществления для определения коэффициента масштабирования для масштабирования изображения. Ожидается, что специалисты в данной области техники могут придумать альтернативные вычисления коэффициента масштабирования.
Например, коэффициент масштабирования может содержать линейную форму для f (например, f(x)=x может иметь интуитивно-понятную концепцию). Такая линейная форма может изменять размер просматриваемого изображения прямо пропорционально расстоянию масштабирования. Однако, в этом примере, функция может не являться достаточно точной для изображений с меньшими размерами и нечувствительной при больших размерах. В качестве другого примера, для смягчения такого вопроса, могут использоваться другие определения коэффициента масштабирования, такие как:
Кроме того, например, может использоваться другое гладкое отображение для определения коэффициента масштабирования, такое как экспоненциальная () функция.
В одном варианте осуществления вычислительное устройство может содержать сенсорный экран (например, резистивный и/или проводящий сенсорный экран), где может использоваться жест «двойного касания». Например, когда к экрану прикладываются два пальца и стягиваются друг к другу (например, жест «стягивание»), может происходить уменьшение масштаба отображения. Альтернативно, когда эти два пальца растягиваются друг от друга, может происходить увеличение масштаба отображения. В этом варианте осуществления применение двойного касания к сенсорному экрану может формировать первое и второе расстояния масштабирования.
Например, позиция двух пальцев, когда они сначала помещаются на экран, может обеспечивать первое расстояние масштабирования. Таким образом, в этом примере может быть определено расстояние между этими двумя пальцами, которое может содержать первое расстояние масштабирования. Кроме того, пальцы могут либо стягиваться вместе, либо с промежутком, и второе расстояние масштабирования может содержать расстояние между пальцами в течение жеста стягивания, или когда оно завершено. Таким образом, первое и второе расстояние масштабирования могут определяться согласно жесту двойного касания на экране отображения.
Альтернативно, первое и второе расстояния масштабирования могут обеспечиваться согласно жестам обнаружения, например, от пользователя. Например, датчик (например, световой датчик, такой как инфракрасный, или датчик на основе некоторых других частиц, лучей или волн) может обеспечивать, что жесты пользователя будут обнаруживаться и переводиться в действия над отображением. В этом примере первый жест может указывать первое расстояние масштабирования, и второй жест может указывать второе расстояние касания. Кроме того, другие варианты осуществления могут использовать инструментальные средства ввода, такие как клавиатура, мышь, или другие устройства ввода, чтобы указывать первое и второе расстояние масштабирования.
В примерном варианте осуществления 400 по Фиг. 4, на этапе 406, масштабированное изображение заполняется в первую линию отображения (например, строка или колонка в визуальном отображении), если размер масштабированного изображения не больше величины области отображения, оставшейся в первой линии отображения. Иначе, если размер масштабированного изображения больше оставшейся области, масштабированное изображение заполняется во вторую линию отображения (например, следующая строка или колонка). Например, может применяться алгоритм основной схемы размещения, который выполняет итерации по масштабированным (например, с измененными размерами) изображениям, заполняя строку за строкой (или колонка за колонкой) при соблюдении целевой ширины строки (например, переменной, именуемой "ширина экрана", хотя она может быть меньше или больше размера физического размера поля отображения).
В одном варианте осуществления, если изображения масштабированы (с увеличением или уменьшением масштаба), например, изображения могут добавляться к линии отображения при уменьшении масштаба, или перемещаться в следующую строку при увеличении масштаба. Следовательно, в этом примере, если масштабированное изображение вмещается в строку области отображения, его добавляют (или оставляют там) к строке, и если оно не вмещается, его добавляют к следующей строке, пока не будут отображены все изображения, которые могут вместиться в поле представления отображения. Таким образом, например, если увеличивается масштаб отображения, то ширина и высота экрана будет ограничивать количество отображаемых изображений на основании уровня масштабирования, примененного пользователем. Кроме того, пользователь может уменьшать масштаб, пока все изображения из альбома не будут отображены на экране, например. Кроме того, в некоторых вариантах осуществления, могут применяться ограничения, которые ограничивают число (например, минимальное и/или максимальное) изображений, отображаемых одновременно, например, для эстетики.
На Фиг. 5A показана иллюстрация примерного варианта осуществления 500, где изображения заполняются в линии отображения в области отображения. В этом примере 500, изображения заполняются в область 502 отображения, например, после или в течение масштабирования изображений. Здесь, линия 504A отображения содержит три изображения, которые уже заполнены в линию, и изображение 508 является следующим изображением, подлежащим заполнению в область отображения. Очевидно, что изображение 508 не вместится в оставшееся место 510 в линии 504A, если изображение подлежит заполнению 506A в этой позиции. Следовательно, изображение 508 заполняется 506B в следующую линию 504B отображения.
На этапе 408 иллюстративного осуществления 400, масштабированное изображение расширяется, чтобы уменьшить свободное место в области отображения после масштабирования, поддерживая при этом форматное соотношение, соответствующее изображению. Например, как проиллюстрировано на Фиг. 5A, оставшееся 510 место в строке 504A отображения содержит неиспользованное "свободное место." В этом осуществлении 400, свободное место может быть уменьшено расширением размера изображений в линии отображения, например, путем увеличения масштаба изображений в строке 504A отображения, чтобы заполнить оставшееся место 510.
В одном варианте осуществления, поскольку форматные соотношения изображений поддерживаются при расширении линий отображения, например, строка или колонка расширятся, по меньшей мере, в двух направлениях (например, поперек, чтобы заполнить строку, и вниз, чтобы приспособить форматное соотношение в течение расширения). В этом варианте осуществления, расширение линии отображения содействует уменьшению свободного места, но также может вызвать, что меньше строк отображения будут видимы на области отображения (например, при растяжении строк вниз, некоторые строки могут выдвинуться из видимой области отображения).
На Фиг. 5B показана иллюстрация примерного осуществления 520, где линии отображения заполнены изображениями, и изображения расширены, чтобы уменьшить свободное место. Область 522 отображения содержит множество миниатюрных изображений, которые были заполнены в соответственные строки 524 отображения. Здесь, изображения в строке 504A по Фиг. 5A были расширены, чтобы заполнить строку 524A по Фиг. 5B, уменьшая оставшееся свободное место 510 прежде расширения. Кроме того, как проиллюстрировано в примере 520, тогда как изображения и, следовательно, строки расширяются, чтобы уменьшить свободное место, изображения в смежных строках могут перекрывать "пространство строки" для смежной строки. Например, первое изображение в строке 524A перекрывает "пространство строки" с третьим изображением 524B; третье изображение 524B перекрывает "пространство строки" со вторым изображением в строке 524C; и второе изображение в строке 524C перекрывает "пространство строки" со вторым изображением в строке 524D. Эта функция дополнительно уменьшает пространство строки, как будет обсуждено ниже.
В одном варианте осуществления, в течение события двойного касания «стягивание», например, может использоваться алгоритм схемы размещения, чтобы максимально заполнять соответственные строки миниатюрных изображений, пока не станет невозможным добавлять дополнительные миниатюрные изображения, и дополнительная область (например, свободное место) потребляется увеличением масштаба всей строки. Последовательные строки миниатюрных изображений могут выравниваться по вертикали, чтобы минимизировать промежуток между строками. Например, эти операции расширения по горизонтали и вертикали могут предоставлять пользователю неотвлекающую визуальную обратную связь при выборе пользователем вида, охватывающего от нескольких до ста миниатюрных изображений на типичном экране.
Расширив изображение(я), чтобы уменьшить свободное место, примерный способ 400 по Фиг. 4 завершается на этапе 410.
В одном аспекте, отображение, которое обеспечивает увеличение и уменьшение масштаба для множества миниатюрных изображений, например, и организует изображения "упакованным" и визуально привлекательным образом, может обеспечивать просмотр прокруткой альбома изображений. Например, множество изображений может быть составлено в альбом, имеющий разновидность или характеристику сборника, где пользователь может поддерживать ориентировку позиции в альбоме в течение прокрутки и изменения масштаба.
В одном варианте осуществления, может обеспечиваться прокрутка отображения изображений только в двух противоположных направлениях, например, или горизонтальном, или вертикальном. Таким образом, изображения можно прокручивать вверх и вниз, или влево и вправо, например. В этом варианте осуществления обеспечение прокрутки только в двух противоположных направлениях может поддерживаться после масштабирования. Например, если мультикасание увеличивает масштаб для отображения изображений, посредством этого уменьшая число отображаемых изображений, пользователь все еще может быть способным просматривать изображения путем прокрутки в тех же противоположных направлениях, как и доступные прежде масштабирования изображений. В этом примере, если альбом изображений можно было прокручивать вверх и вниз прежде масштабирования, их можно прокручивать вверх и вниз после масштабирования.
Кроме того, в этом аспекте, направление прокрутки может задавать линию отображения, например. В одном варианте осуществления линия отображения может содержать горизонтальную строку, если противоположными направлениями прокрутки являются вверх и вниз; и линия отображения может содержать вертикальную колонку, если противоположными направлениями прокрутки являются влево и вправо. То есть, например, если отображение изображений можно прокручивать вверх и вниз по альбому изображений, то линией отображения является строка. В этом примере, если отображение изображений способно прокручиваться из стороны в сторону, то линией отображения является колонка.
На Фиг. 6 показана блок-схема, иллюстрирующая примерное осуществление 600 части способа, где изображения могут быть организованы в области отображения одним или несколькими способами, описанными в документе. На этапе 602, начинается двойное касание (мультикасание), например, когда пользователь прикладывает два пальца к сенсорному экрану. В другом варианте осуществления такое событие может происходить с использованием обнаруженных жестов, например, путем использования датчика для обнаружения двойного касания; или может использоваться некоторое другое устройство ввода данных, чтобы инициировать и выполнить событие двойного касания.
На этапе 604 сохраняется начальная информация, сформированная согласно событию двойного касания. При обнаружении события мультикасания, определяется расстояние между двумя касаниями на экране (или обнаруженные вводы, жесты), и сохраняется текущий "коэффициент масштабирования", который может быть переменной состояния для алгоритма, исполняющегося при обнаружении мультикасания, например. В одном варианте осуществления может быть идентифицировано текущее время, и также может быть определен подходящий "промежуток времени ожидания" на этапе 650.
В одном варианте осуществления "коэффициент масштабирования" может быть переменной, внутренней по отношению к алгоритму размещения изображения, который описывает размер макета размещения миниатюрных изображений. Это может примерно соотноситься с размером ограничивающего прямоугольника, в котором изображение может отображаться и масштабироваться, например, или (в обратном смысле) шириной области отображения, деленной на размер ограничивающего прямоугольника. Например, коэффициент масштабирования может быть задан в виде непрерывной переменной (например, с плавающей точкой, или значением с фиксированной точкой с тонкой гранулярностью), поэтому можно изменять коэффициент масштабирования согласно дробным числам.
Как описано выше, в одном варианте осуществления, для определения коэффициента масштабирования может быть определено первое расстояние между касаниями относительно двойного касания. Например, может измеряться расстояние между двумя пальцами, используемое для касания экрана для события мультикасания. В одном варианте осуществления, если мультикасанием является первое мультикасание, коэффициентом масштабирования может быть просто целое число единица, поскольку масштаб инициируется при первом мультикасании.
Кроме того, текущее время и промежуток времени ожидания могут выбираться для алгоритма, например. Промежуток времени ожидания может использоваться для управления действиями, например, для вычислительных устройств с ограниченной производительностью центрального процессора (ЦП, CPU). В качестве примера, приложение может стать неотвечающим вследствие ограниченного ЦП, поэтому для поддержания последовательности операций действующей, время ожидания управляет последовательностью операций, вызывая событие, которое происходит достаточно часто, чтобы игнорироваться, пока пользователь не завершит событие касания (например, время ожидания в 0,02 секунды). В этом примере, текущее время также может использоваться наряду с временем ожидания, чтобы управлять последовательностью операций.
На этапе 606 в примерном варианте осуществления 600, отслеживается событие двойного касания, чтобы понять, завершилось ли оно. Если двойное касание все еще исполняется (нет на этапе 606), то определяется, изменилось ли расстояние двойного касания, на этапе 608. Если расстояние двойного касания не изменилось (например, жест стягивания не переместился), последовательность операций возвращается на этап 606, чтобы ожидать изменения состояния двойного касания. Если расстояние двойного касания изменилось («да» на этапе 608), определяется, истекло ли время ожидания, на этапе 610.
Таким образом, в этом примере, если текущее время меньше выбранного значения времени ожидания, то время еще не соответствует («да» на этапе 610). В этом примере время ожидания может уменьшать переполнение данных для ЦП, который не имеет достаточной вычислительной мощности. Таким образом, если время еще не соответствует, событие не обрабатывается, например. Однако, если время соответствует (нет на этапе 610), может быть определено второе расстояние касания, на этапе 612, и могут быть определены второй коэффициент масштабирования и новое значение времени ожидания. В одном варианте осуществления второе расстояние касания содержит второе расстояние между касаниями для двойного касания, например, между двумя пальцами, помещенными пользователем на сенсорный экран.
Кроме того, в этом варианте осуществления, первое расстояние между касаниями и второе расстояние между касаниями могут объединяться, чтобы сформировать коэффициент масштабирования изображения. Как описано выше, коэффициент масштабирования может содержать функцию частного от второго расстояния масштабирования и первого расстояния масштабирования, например. В этом примере первый коэффициент масштабирования может быть предыдущим коэффициентом масштабирования, используемым для масштабирования изображения, и второй коэффициент масштабирования может быть текущим коэффициентом масштабирования, подлежащим определению для масштабирования.
На этапе 614 в примерном варианте осуществления 600, может применяться алгоритм основной схемы размещения с тем, чтобы размещать миниатюрные изображения в соответствии со вторым коэффициентом масштабирования. На Фиг. 7 показана блок-схема, иллюстрирующая примерное осуществление 700 части способа, где может применяться алгоритм основной схемы размещения. В этом примерном варианте осуществления 700, Q может быть переменной, которая относится к величине места, оставшегося в текущей строке R. Кроме того, в одном варианте осуществления, может быть установлено требуемое граничное поле между миниатюрными изображениями, подлежащими размещению, которое может быть обозначено M.
На этапе 702 могут инициализироваться переменные, так что R (строка) установлена в минус единицу, и Q (место, оставшееся в текущей строке) установлено в нуль. Таким образом, если имеются какие-либо миниатюрные изображения, подлежащие добавлению, то они будут добавлены к первой строке. На этапе 704, если еще имеются изображения, подлежащие добавлению к масштабированному отображению, следующее изображение извлекается на этапе 708, например, из памяти компьютера.
В одном варианте осуществления, если для изображения изменяется масштаб (увеличивается или уменьшается), то для изображения может быть определено прямоугольное поле отображения изображения, которое содержит комбинацию коэффициента масштабирования изображения и форматное соотношение изображения. Кроме того, масштабирование изображения может содержать изменение размеров изображения, чтобы вмещаться в прямоугольное поле отображения. Например, прямоугольное поле отображения может использоваться, чтобы масштабировать изображения, где размеры прямоугольного поля отображения определяются согласно масштабному коэффициенту, поддерживая при этом исходное форматное соотношение. В этом примере коэффициент масштабирования может задавать размер ограничивающего прямоугольника, и могут устанавливаться предельные значения на размер на нижнем и верхнем краях ограничивающего прямоугольника. Следовательно, поскольку расстояние касания увеличивается или уменьшается, коэффициент масштабирования увеличивается или уменьшается, например, и ограничивающий прямоугольник увеличивается или уменьшается в размере.
На этапе 712 изображение вмещают в ограничивающий прямоугольник, который был масштабирован (например, увеличен или уменьшен, согласно масштабному коэффициенту), и переменную W устанавливают равной ширине изображения. Если W (ширина изображения) в объединении с М (требуемое граничное поле), меньше или равно Q (место, оставшееся в строке), «да» на этапе 714, изображение может быть добавлено к текущей строке (R), на этапе 720. Таким образом, масштабированное изображение заполняется в линии отображения, такие как строка или колонка, если размер требуемого граничного поля между изображениями, объединенный (в сумме) с размером (например, шириной для строки, или высотой для колонки) масштабированного изображения, не больше величины области отображения, оставшейся в линии отображения.
После того как изображение добавлено, на этапе 720 Q устанавливается в комбинацию Q минус W минус M (например, текущая величина области, оставшейся в строке, устанавливается в предыдущую величину области минус граничное поле минус ширина изображения). В одном варианте осуществления, после того, как линия отображения (строка или колонка) является полной, граничное поле между изображениями может быть увеличено, чтобы обеспечить выровненный внешний вид для изображений в линии отображения (например, с выравниванием вправо, влево или по центру).
Однако, когда первое изображение размещено, Q устанавливается в нуль, следовательно, на этапе 714 объединение W и M станет больше Q (нет на этапе 714); каковое также произойдет, когда изображение не сможет вместиться в текущую строку. На этапе 716 размещается строка (или колонка), каковое содержит добавление следующей строки на этапе 718. Кроме того, переменная R обновляется, чтобы быть равной следующей строке (R+1), и обновляется Q, чтобы равняться значению ширины экрана, объединенному со значением (M) граничного поля. Таким образом, в качестве примера, новая строка (или колонка) добавляется к отображению, к которому может быть добавлено изображение, например, на этапе 720.
В иллюстративном осуществлении 700, после того, как изображение добавлено к строке, последовательность операций возвращается для определения, имеются ли еще изображения, на этап 704, где дополнительные изображения и строки могут добавляться, как описано выше. Однако, если более нет миниатюрных изображений, доступных для отображения, «нет» на этапе 704, может размещаться последняя строка на этапе 706. В этом примере размещается последняя строка, только если R больше или равно нулю, то есть, где есть, по меньшей мере, одна строка. Разместив последнюю строку, примерное осуществление завершает работу на этапе 710.
Возвращаясь на Фиг. 6, в примерном осуществлении 600, если двойное касание закончено, например, удалением пользователем пальцев с сенсорного экрана, применяется расширение области, на этапе 616, и примерное осуществление 600 завершается на этапе 618. В одном варианте осуществления, расширение изображения выполняется, чтобы уменьшить свободное место в области отображения, например, в связи с этим заполняя больше в области отображения и уменьшая неиспользованную область экрана. Расширение может содержать расширение соответственных изображений в линии отображения согласно коэффициенту расширения, поддерживая при этом их соответственные форматные соотношения и требуемое граничное поле между изображениями.
Например, может быть определен коэффициент (S) расширения, который позволяет изображения расширять пропорционально, чтобы заполнить неиспользуемое место для линий. В одном варианте осуществления изображения в строке расширяются согласно тому же коэффициенту S расширения, для которого может быть создано примерное правило, например, которое сохраняет граничное поле неизмененным путем введения масштабирования на суммировании, такое как:
которое может давать нижеследующее выражение для S:
В одном варианте осуществления, тогда как изображения могут быть расширены согласно масштабу S, как вычислен, вертикальные граничные поля можно более не сохранять, если S>1. В этом варианте осуществления, чтобы изображения были корректно разнесены с интервалами по вертикали, например, текущая строка может быть сдвинута вниз. Одно решение этого вопроса, например, может состоять в том, чтобы найти вертикальное смещение смежных строк и масштабированные размеры изображений в этих двух строках.
Следовательно, расширение изображений, чтобы уменьшить свободное место, может содержать определение расстояния отображения между второй линией (R) отображения и первой линией (R-1) отображения. Таким образом, например, определение расстояния между текущей строкой и предыдущей строкой, путем рассмотрения расстояния между ближайшими изображениями в соответственных строках. Кроме того, в этом варианте осуществления, соответственные изображения во второй линии отображения могут сдвигаться к первой линии отображения на расстояние, равное объединению (сумме) расстояния отображения и требуемого граничного поля.
В одном варианте осуществления, определение расстояния отображения может содержать итеративное определение значения смещения второй линии отображения (R) при заданном значении смещения первой линии отображения (R-1), для соответственных изображений в линиях отображения, пока не будет определено наименьшее расстояние отображения между линиями отображения. В качестве примера, может быть сформирован "перечень событий" для верхней строки, который может быть последовательностью координат x и y для левого нижнего угла масштабированных, горизонтально размещенных изображений в R-1-й строке. Аналогично, в этом примере, может быть сформирован перечень событий для текущей строки, содержащий координаты x и y левого верхнего угла масштабированных, горизонтально размещенных изображений для R-й строки.
U
U
U
U
U
new
U
new
В этом варианте осуществления выравнивание по вертикали может происходить, как изложено ниже: избирается первое событие в перечне событий верхней строки, где координатами события являются X, Y; избирается первое событие в перечне событий нижней строки, где координатами события являются XI, YI; величина D устанавливается в D=YI-Y; пока остаются события в любом перечне, следующее событие с меньшей координатой X может избираться из одного из двух перечней, если из верхнего перечня, то его координаты заменяют X, Y, иначе его координаты заменяют XI, YI; в рамках этого цикла вычисляется новое значение D=YI-Y, и D обновляется, если D<D.
В этом варианте осуществления, когда оба перечня исчерпаны, конечным значением D является наименьшее вертикальное граничное поле между строками. Это значение D может быть отрицательным, что может представлять наивысшую степень перекрытия между изображениями от соответственных строк (или колонок). Впоследствии, например, изображения в R-й строке могут быть сдвинуты вверх величину = D-V, где V представляет некоторое расстояние разнесения по вертикали, такое как граничное поле M.
Как описано выше, изображение может быть расширено, чтобы уменьшить свободное место, и изображение расширяется так, что D может быть отрицательным, представляя степень перекрытия между изображениями. В одном варианте осуществления первое изображение в первой линии отображения и второе изображение во второй смежной линии отображения могут совпадать по первой оси, которая является ортогональной направлению прокрутки отображения. В этом варианте осуществления, по меньшей мере, промежуток, эквивалентный требуемому граничному полю, может разделять первое изображение и второе изображение вдоль второй оси, которая параллельна направлению прокрутки.
На Фиг. 8 показана иллюстрация примерного осуществления 800, где изображения могут перекрываться между смежными строками или колонками. Размещены четыре изображения 802, где изображения 802A и 802B находятся в первой строке, и изображения 802C и 802-D находятся в смежной строке. Кроме того, изображения 802B и 802C перекрываются на некоторое расстояние 806, такое как отрицательное значение D, как описано выше. Кроме того, соответственные изображения поддерживают требуемое граничное поле M 804 между изображениями. Таким образом, в качестве примера, изображения могут быть расширены ближе друг к другу, чтобы уменьшить свободное место, даже пересекая горизонтальные линии, которые каждые строки совместно используют (например, 806).
В одном аспекте, когда используется жест мультикасания, чтобы увеличить размер (увеличить масштаб) или уменьшить размер (уменьшить масштаб) миниатюрных изображений в отображении, изображение, которое является центральным по соотношению к жесту мультикасания, может оставаться центральным в течение жеста. То есть, например, если пользователь выполнял жест стягивания на сенсорном экране, уменьшая тем самым масштаб отображения миниатюрных изображений, увеличивая их число в области просмотра, изображение в центре стягивания может оставаться в центре, например, чтобы обеспечить пользователю более интуитивное восприятие (например, он не теряет изображение с экрана, если отображение масштабируется).
В одном варианте осуществления, в этом аспекте, может быть идентифицировано центральное изображение, например, когда инициируется двойное касание. В этом варианте осуществления, идентификация центрального изображения может содержать выбор изображения, которое содержит область центральной точки для первого расстояния масштабирования. Например, может быть идентифицирована центральная точка строки, которая содержит расстояние между касаниями при двойном касании, и изображение, которое содержит (или является ближайшим к) этой точке, может быть центральным изображением. Кроме того, после масштабирования изображений, центральное изображение поддерживается в линии отображения между конечными точками второго расстояния масштабирования после масштабирования. То есть, например, после завершения двойного касания, центральные изображения могут находиться в строке, которая находится между двойным касанием.
На Фиг. 9A и 9B иллюстрируются примерные варианты осуществления, где центральное изображение поддерживается после масштабирования. На Фиг. 9A область 900 отображения содержит множество упорядоченных изображений 914-934, которые размещены в соответствии со способами, описанными в документе, так что свободное место уменьшается, например. Может инициироваться двойное касание, так что центральное изображение 950 содержит изображение 928. В этом варианте осуществления уменьшен масштаб отображения, например, путем выполнения жеста двойного касания «стягивание», где две точки стягиваются вместе.
На Фиг. 9B отображение 950 содержит те же упорядоченные изображения 914-934 из Фиг. 9A, которые находятся в том же порядке, что и перед событием 900 масштабирования. Кроме того, поскольку масштаб отображения уменьшен, дополнительные изображения добавляются вверху 902-912 и внизу 936-944. Однако центральное изображение 950 может оставаться в позиции, которая находится между жестом двойного касания, как оно было стянуто вместе. Таким образом, пользователь может быть заинтересован в конкретном изображении или области альбома, содержащего многие изображения, и эта область остается в центральной области просмотра в течение события масштабирования и после него.
Может быть разработана система, которая обеспечивает просмотр миниатюрных изображений фотографий, где миниатюрные изображения отображаются в исходном форматном соотношении, которая использует столько области отображения, сколько возможно, кроме того, обеспечивает средство динамического размещения, чтобы содействовать интуитивному и полезному взаимодействию пользователя с миниатюрными изображениями, например, чтобы изменять размеры. На Фиг. 10 показана схема компонентов примерной системы 1000 для эффективного отображения изображений в вычислительной среде.
Компонент 1010 отображения сконфигурирован для отображения изображений, и компонент 1002 памяти сконфигурирован для хранения данных изображения, например, в базе 1050 данных изображений, содержащей изображения, подлежащие отображению. Компонент 1004 масштабирования, который функционально связан с компонентом 1002 памяти, масштабирует размер изображения 1052 с использованием коэффициента масштабирования изображения, при поддержании форматного соотношения для изображения. Здесь, коэффициент масштабирования изображения получают исходя из комбинации первого расстояния масштабирования и второго расстояния масштабирования, например, исходя из события мультикасания (например, двойное касание на сенсорном экране).
Компонент 1006 заполнения линии отображения, который функционально связан с компонентом 1004 масштабирования изображения и компонентом 1010 отображения, заполняет масштабированное изображение 1054 в первую линию отображения на отображении 1010, если размер масштабированного изображения не больше величины области отображения, оставшейся в первой линии отображения. Иначе, компонент 1004 масштабирования изображения заполняет масштабированное изображение 1054 во вторую линию отображения на отображении 1010. Компонент 1008 расширения функционально связан с компонентом 1010 отображения, и сконфигурирован для расширения изображения 1054, чтобы уменьшить свободное место на экране после масштабирования.
На Фиг. 11 показана схема компонентов одного иллюстративного осуществления 1100, где может быть реализована система для эффективного отображения изображений в вычислительной среде. В этом осуществлении 1100 компонент 1010 отображения содержит сенсорный экран, который предусматривает применение двойного касания 1156, 1152 к компоненту 1010 отображения, чтобы сформировать первое и второе расстояния 1154, 1158 масштабирования.
Кроме того, иллюстративная система может содержать компонент 1120 центрирования изображения, который может быть сконфигурирован для идентификации центрального изображения, путем выбора изображения, которое содержит область центральной точки для первого расстояния масштабирования. Например, компонент 1120 центрирования изображения может выбрать изображение, которое является центральным по отношению к двойному касанию 1156. Компонент 1120 центрирования изображения также может быть сконфигурирован для поддержания центрального изображения в линии отображения между конечными точками второго расстояния масштабирования после масштабирования, как, например, между двойным касанием 1152.
В иллюстративном варианте осуществления 1100 компонент 1112 прокрутки может быть сконфигурирован для обеспечения прокрутки изображений на области отображения только в двух противоположных направлениях, таких как вверх и вниз, или влево и вправо. Кроме того, компонент 1112 прокрутки может поддерживать прокрутку только в двух противоположных направлениях после масштабирования. В этом варианте осуществления линия отображения может содержать горизонтальную строку, если противоположными направлениями прокрутки являются вверх и вниз; или вертикальную колонку, если противоположным направлением прокрутки является влево и вправо.
В иллюстративном варианте осуществления 1100 компонент 1008 расширения содержит компонент 1114 определения коэффициента расширения, который вычисляет коэффициент расширения для изображения, которое содействует уменьшению свободного места между соответственными изображениями в линии отображения, поддерживая при этом требуемое граничное поле между изображениями. Кроме того, компонент 1008 расширения содержит компонент 1116 сдвига линий отображения, который может задавать расстояние в отображении между второй линией (R) отображения и первой линией (R-1) отображения; и сдвигать соответственные изображения во второй линии отображения к первой линии отображения на расстояние, эквивалентное объединению расстояния в отображении и требуемого граничного поля. Кроме того, компонент 1008 расширения может содержать компонент определения расстояния отображения, сконфигурированный для определения расстояния отображения путем итеративного определения значения смещения второй линии (R) отображения при заданном значении смещения первой линии (R-1) отображения для соответственных изображений в линиях отображения, пока не будет определено наименьшее расстояние отображения между линиями отображения.
Очередной вариант осуществления включает в себя читаемый компьютером носитель, содержащий включающие исполнимые процессором команды, сконфигурированные для реализации одного или нескольких способов, представленных в документе. Примерный читаемый компьютером носитель, который может быть разработан этими способами, проиллюстрирован на Фиг. 12, причем реализация 1200 содержит читаемый компьютером носитель 1208 (например, компакт диск с однократной записью (CD-R), цифровой многофункциональный диск с однократной записью (DVD-R), или отдельный жесткий диск накопителя на жестких дисках), на котором закодированы читаемые компьютером данные 1206. Эти читаемые компьютером данные 1206 в свою очередь содержат набор компьютерных команд 1204, сконфигурированных для действия в соответствии с одним или несколькими принципами, изложенными в документе. В одном таком варианте осуществления 1202 исполнимые процессором команды 1204 могут быть сконфигурированы для выполнения способа, такого как примерный способ 200 по Фиг. 2, например. В другом таком варианте осуществления исполнимые процессором команды 1204 могут быть сконфигурированы для реализации системы, такой как примерная система 600 по Фиг. 6, например. Средние специалисты в данной области техники могут разработать многие такие читаемые компьютером носители, которые сконфигурированы для действия в соответствии со способами, представленными в документе.
Хотя изобретение описывалось на языке, специфическом для структурных признаков и/или методологических действий, нужно понимать, что объект изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен конкретными признаками или действиями, описанными выше. Предпочтительнее конкретные признаки и действия, описанные выше, раскрыты в качестве примерных форм реализации формулы изобретения.
Как используется в этой заявке, термины "компонент", "модуль", "система", "интерфейс" и т.п. в целом предназначены для ссылки на относящийся к компьютеру объект, т.е. либо аппаратные средства, либо комбинацию аппаратного и программного обеспечения, либо программное обеспечение, либо программное обеспечение в исполнении. Например, компонентом может быть, но не в ограничительном смысле, процесс, исполняющийся на процессоре, процессор, объект, исполнимый модуль, поток исполнения, программа и/или компьютер. В качестве иллюстрации, и приложение, исполняющееся на контроллере, и контроллер могут быть компонентом. Один или несколько компонентов могут находиться в рамках процесса и/или потока исполнения, и компонент может быть локализованным на одном компьютере и/или распределенным между двумя или большим числом компьютеров.
Кроме того, заявленное изобретение может быть реализовано в виде способа, устройства или промышленного изделия с использованием способов типового программирования и/или техники для создания программного обеспечения, микропрограммного обеспечения (firmware), аппаратных средств или любой их комбинации, чтобы управлять компьютером для реализации раскрытого объекта изобретения. Подразумевается, что термин "промышленное изделие", как используется в документе, охватывает компьютерную программу, доступную с любого читаемого компьютером устройства, из несущей или носителей. Конечно, специалисты в данной области техники признают, что могут выполняться многие модификации этой конфигурации без выхода за рамки существа и объема заявленного объекта изобретения.
На Фиг. 13 и в последующем обсуждении обеспечивается краткое, общее описание подходящей вычислительной среды для реализации вариантов осуществления одного или нескольких положений, изложенных в документе. Операционная среда по Фиг. 13 является лишь одним примером подходящей операционной среды, и подразумевается, что не налагает какое-либо ограничение в отношении объема использования или функциональности операционной среды. Примерные вычислительные устройства включают в себя, но без ограничения указанными, персональные компьютеры, компьютеры серверов, переносные или портативные устройства, мобильные устройства (такие как мобильные телефоны, персональные цифровые ассистенты (PDA), медиаплееры и т.п.), многопроцессорные системы, бытовую электронику, миникомпьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любую из вышеупомянутых систем или устройств, и т.п.
Хотя не требуется, варианты осуществления описаны в общем контексте "читаемых компьютером команд", являющихся исполняемыми одним или несколькими вычислительными устройствами. Читаемые компьютером команды могут распространяться с помощью читаемых компьютером носителей (обсуждено ниже). Читаемые компьютером команды могут быть реализованы в виде программных модулей, таких как функции, объекты, интерфейсы прикладного программирования (API), структуры данных, и т.п., которые выполняют конкретные задачи или реализуют особые абстрактные типы данных. Обычно, функциональность читаемых компьютером команд может объединяться или распределяться, как требуется в различных средах.
На Фиг. 13 иллюстрируется пример системы 1310, содержащей вычислительное устройство 1312, сконфигурированное для реализации одного или нескольких вариантов осуществления, представленных в документе. В одной конфигурации вычислительное устройство 1312 включает в состав, по меньшей мере, один процессор 1316 и память 1318. В зависимости от точной конфигурации и типа вычислительного устройства, память 1318 может быть энергозависимой (такой как оперативное ЗУ (ОЗУ, RAM), например), энергонезависимой (такой как постоянное ЗУ (ПЗУ, ROM), флэш-память и т.д., например) или некоторой комбинацией обоих. Эта конфигурация проиллюстрирована на Фиг. 13 пунктирной линией 1314.
В других вариантах осуществления устройство 1312 может включать в себя дополнительные функции и/или функциональность. Например, устройство 1312 может также включать дополнительное ЗУ (например, съемное и/или несъемное), включая неограничительно, магнитное ЗУ, оптическое ЗУ и т.п. Такое дополнительное ЗУ иллюстрируется на Фиг. 13 в виде ЗУ 1320. В одном варианте осуществления, читаемые компьютером команды для реализации одного или нескольких вариантов осуществления, представленных в документе, могут находиться в ЗУ 1320. ЗУ 1320 может также хранить другие читаемые компьютером команды для реализации операционной системы, прикладной программы и т.п. Читаемые компьютером команды могут загружаться в память 1318 для исполнения процессором 1316, например.
Термин "читаемые компьютером носители", как используется в документе, охватывает компьютерные носители. Компьютерные носители включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как читаемые компьютером команды или другие данные. Память 1318 и запоминающее устройство 1320 являются примерами компьютерных носителей. Компьютерные носители включают в себя, но не ограничиваются указанными, ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ (EEPROM), флэш-память или другую технологию памяти, ПЗУ на компакт-диске (CD-ROM), цифровые многофункциональные диски (DVD) или другое оптическое ЗУ, накопитель на магнитных кассетах, накопитель на магнитной ленте, ЗУ на магнитном диске или другие магнитные запоминающие устройства, или какой-либо другой носитель, который может использоваться для хранения требуемой информации, и к которому может осуществлять доступ устройство 1312. Любые такие компьютерные носители могут быть частью устройства 1312.
Устройство 1312 также может включать в себя соединение(я) 1326 связи, которое дает возможность устройству 1312 осуществлять связь с другими устройствами. Соединение(я) 1326 связи может включать, но не ограничивается указанным, модем, сетевую интерфейсную плату (NIC), интегрированный сетевой интерфейс, радиочастотный передатчик/приемник, инфракрасный порт, соединение по стандарту универсальной последовательной шины (USB), или другие интерфейсы для соединения вычислительного устройства 1312 с другими вычислительными устройствами. Соединение(я) 1326 связи может включать в себя проводное соединение или беспроводное соединение. Соединение(я) 1326 связи может осуществлять передачу и/или прием носителя для передачи данных.
Термин "читаемый компьютером носитель" может охватывать носитель для передачи данных. Носитель для передачи данных обычно заключает в себе читаемые компьютером команды или другие данные в виде "модулированного сигнала данных", такого как несущая или другое средство переноса данных, и включает в себя любые носители доставки информации. Термин "модулированный сигнал данных" может включать в себя сигнал, одна или несколько характеристик которого установлена или изменена так, чтобы закодировать информацию в сигнале.
Устройство 1312 может включать в себя устройство(а) 1324 ввода, такое как клавиатура, мышь, перо, устройство речевого ввода, устройство сенсорного ввода, инфракрасные (видео)камеры, устройства ввода видеосигнала и/или любое другое устройство ввода. Устройство(а) 1322 вывода, такое как один или несколько устройств отображения, динамики, принтеры и/или любое другое устройство вывода, также может включаться в устройство 1312. Устройство(а) 1324 ввода и устройство(а) 1322 вывода могут быть соединены с устройством 1312 через проводное соединение, беспроводное соединение или любую комбинацию таковых. В одном варианте осуществления устройство ввода или устройство вывода из другого вычислительного устройства могут использоваться в качестве устройств(а) 1324 ввода или устройств(а) 1322 вывода для вычислительного устройства 1312.
Компоненты вычислительного устройства 1312 могут быть соединены посредством различных внутренних соединений, таких как шина. Такие внутренние соединения могут включать в себя шину стандарта подключения периферийных компонентов (PCI), такую как высокопроизводительная шина стандарта PCI Express, универсальную последовательную шину (USB), шину стандарта FireWire (IEEE 1394), систему оптических шин и т.п. В другом варианте осуществления компоненты вычислительного устройства 1312 могут соединяться посредством сети. Например, память 1318 может состоять из множества физических блоков памяти, расположенных в различных физических местоположениях, соединенных сетью.
Специалисты в данной области техники поймут, что устройства хранения данных, используемые, чтобы хранить читаемые компьютером команды, могут быть распределенными по сети. Например, вычислительное устройство 1330, доступное через сеть 1328, может хранить читаемые компьютером команды для реализации одного или нескольких вариантов осуществления, представленных в документе. Вычислительное устройство 1312 может осуществлять доступ к вычислительному устройству 1330 и загружать по сети часть или все читаемые компьютером команды для исполнения. Альтернативно, вычислительное устройство 1312 может загружать по сети порции читаемых компьютером команд, как необходимо, или некоторые команды могут исполняться в вычислительном устройстве 1312, и некоторые команды - в вычислительном устройстве 1330.
Здесь представлены различные операции из вариантов осуществления. В одном варианте осуществления, одна или несколько из описанных операций может составлять читаемые компьютером команды, хранимые на одном или нескольких читаемых компьютером носителях, которые при исполнении вычислительным устройством побудят вычислительное устройство выполнять описанные операции. Порядок следования, в котором описаны некоторые или все операции, не следует рассматривать означающим, что эти операции обязательно зависимы от порядка следования. Специалист в данной области техники оценит альтернативное упорядочение, являющееся преимуществом данного описания. Кроме того, будет понятно, что не все операции обязательно присутствуют в каждом варианте осуществления, представленном в документе.
Кроме того, слово "примерный" используется в документе, чтобы означать использующийся в качестве примера, экземпляра или иллюстрации. Любой аспект или проектное решение, описанные в документе в качестве "примерного", не должны обязательно рассматриваться имеющими преимущество над другими аспектами или проектными решениями. Предпочтительнее использование слова «примерный» предназначено для представления концепций конкретным образом. Как используется в этой заявке, термин "или" подразумевается означающим включающее "или", а не исключающее "или". Таким образом, если не указано иное, или не является ясным из контекста, "X использует A или B" подразумевается означающим любую из естественных включающих перестановок. Таким образом, если X использует A; X использует B; или X использует и A, и B, то "X использует A или B" удовлетворяется в условиях любого из предшествующих примеров. Кроме того, неопределенные артикли единственного числа "a" и "an", как используются в этой заявке и прилагаемой формуле изобретения, могут в целом рассматриваться означающими "один или несколько", если не указано иное, или не является понятным из контекста, должны указывать на форму единственного числа.
Кроме того, хотя раскрытие было показано и описано по отношению к одной или нескольким реализациям, эквивалентные изменения и модификации будут приходить на ум другим специалистам в данной области техники на основании прочтения и понимания этого описания и прилагаемых фигур чертежей. Раскрытие охватывает все такие модификации и изменения и ограничено только объемом нижеследующей формулы изобретения. В частности, в отношении различных функций, выполняемых описанными выше компонентами (например, элементами, ресурсами и т.д.), термины, используемые для описания таких компонентов, подразумеваются соответствующими, если не указано иное, любому компоненту, который выполняет указанную функцию описанного компонента (например, являющегося функционально эквивалентным), даже если не является структурно эквивалентным раскрытой структуре, которая выполняет функцию в проиллюстрированных в документе примерных реализациях раскрытия. Кроме того, хотя конкретный признак раскрытия мог быть раскрыт относительно только одной из нескольких реализаций, такой признак может сочетаться с одним или несколькими другими признаками из других реализаций, как может требоваться и являться выгодным для любого заданного или конкретного применения. Кроме того, в той мере, в которой термины "включает", "имеющий", "имеет", "с", или их разновидности используются или в подробном описании, или в формуле изобретения, такие термины подразумеваются включающими в смысле, подобным термину "содержащий".