ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее раскрытие относится, в основном, к управлению отображением контента в электронном устройстве и более конкретно к способу и устройству для перемещения контента устройства отображения с сенсорным экраном.
УРОВЕНЬ ТЕХНИКИ
Портативные электронные устройства с дисплеями, такие как смартфоны и планшетные персональные компьютеры (PC), имеют малые экраны, так что только часть страницы контента при требуемом масштабе может быть видимой в любой данный момент времени (т.е. масштаб, обеспечивающий требуемый размер текста или размер изображения контента). Многие разработки позволяют пользователю прокручивать страницу контента, тем самым единовременно отображая разные части страницы контента на экране. Таким образом, полная страница контента, в конечном счете, просматривается по этапам. Например, страница контента может представлять собой единственное изображение, которое увеличено за пределами размера экрана, так что полное изображение при его текущем увеличении может просматриваться одновременно только на большем экране. Устройства обычно позволяют пользователю прокручивать контент со степенью свободы в 360° для просмотра его любой части. Однако существует проблема в том, что контент может перемещаться в непреднамеренном для пользователя направлении из-за ошибки непреднамеренной операции или ошибки измерения в отношении направления перемещения.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Настоящее изобретение было сделано с учетом вышеупомянутых проблем и обеспечивает дополнительные преимущества посредством обеспечения способа перемещения контента, который перемещает и отображает контент в предопределенном направлении, учитывая ошибку простой операции пользователя или ошибку измерения в отношении направления перемещения.
РЕШЕНИЕ ЗАДАЧИ
В соответствии с аспектом настоящего изобретения способ перемещения контента в терминале, имеющем сенсорный экран, включает в себя обнаружение точки касания на сенсорном экране; установку точки касания в качестве начальной точки; вычисление величины изменения местоположения перемещения от начальной точки до текущей точки касания; определение направления перемещения, когда вычисленная величина изменения местоположения находится вне предустановленной пороговой области, на основе начальной точки; и перемещение контента в определенном направлении.
В соответствии с другим аспектом настоящего изобретения устройство перемещения контента включает в себя блок отображения для отображения контента; сенсорный экран для генерирования события касания в ответ на жест касания в отношении отображаемого контента; и контроллер для управления, так что отображаемый контент перемещается на основе события касания, введенного с сенсорного экрана, причем контроллер обнаруживает точку касания на сенсорном экране, устанавливает точку касания в качестве начальной точки, вычисляет величину изменения местоположения перемещения от начальной точки до текущей точки касания, определяет направление перемещения, когда вычисленная величина изменения местоположения находится вне предустановленной пороговой области, на основе начальной точки, и перемещает контент в определенном направлении.
ПОЛОЖИТЕЛЬНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
Настоящее изобретение обеспечивает способ перемещения контента, который перемещает и отображает контент в предопределенном направлении с учетом ошибки простой операции пользователя или ошибки измерения в отношении направления перемещения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Задачи, признаки и преимущества настоящего изобретения более очевидны из последующего подробного описания вместе с прилагаемые чертежами, на которых:
фиг. 1 представляет собой концептуальную схему, иллюстрирующую экран устройства перемещения контента и контент, отображаемый посредством его, согласно примерному варианту осуществления настоящего изобретения;
фиг. 2 представляет собой концептуальную схему, иллюстрирующую алгоритм определения наличия генерирования и направления прокручивания согласно примерному варианту осуществления настоящего изобретения;
фиг. 3-5 представляют собой концептуальные схемы, иллюстрирующие процедуру перемещения контента по вертикальному, горизонтальному и нелинейному направлениям согласно примерному варианту осуществления настоящего изобретения;
фиг. 6 представляет собой блок-схему, иллюстрирующую конфигурацию устройства перемещения контента согласно примерному варианту осуществления настоящего изобретения;
фиг. 7 представляет собой блок-схему, иллюстрирующую конфигурацию контроллера согласно примерному варианту осуществления настоящего изобретения;
фиг. 8 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно первому варианту осуществления настоящего изобретения;
фиг. 9 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно второму варианту осуществления настоящего изобретения;
фиг. 10 представляет собой концептуальную схему, иллюстрирующую процедуру для сброса начальной точки критической области;
фиг. 11 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно третьему варианту осуществления настоящего изобретения;
фиг. 12 представляет собой блок-схему, иллюстрирующую конфигурацию контроллера согласно другому варианту осуществления настоящего изобретения;
фиг. 13 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно четвертому варианту осуществления настоящего изобретения;
фиг. 14 и 15 представляют собой схемы, иллюстрирующие способ вертикального прокручивания согласно примерному варианту осуществления настоящего изобретения;
фиг. 16 и 17 представляют собой схемы, иллюстрирующие способ горизонтального прокручивания согласно другому варианту осуществления настоящего изобретения;
фиг. 18 и 19 представляют собой схемы, иллюстрирующие способ вертикального прокручивания согласно другому варианту осуществления настоящего изобретения; и
фиг. 20 представляет собой схему, иллюстрирующую способ горизонтального прокручивания согласно другому варианту осуществления настоящего изобретения.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Способ и устройство для перемещения контента, используя сенсорный экран, согласно примерным вариантам осуществления настоящего изобретения подробно описываются с ссылкой на прилагаемые чертежи. Одинаковые условные обозначения используются на чертежах для ссылки на одинаковые или подобные детали. Подробные описания общеизвестных функций и конструкций, включенных в данный документ, могут опускаться, чтобы избежать неясности предмета настоящего изобретения.
Устройство перемещения контента согласно настоящему изобретению реагирует на указательное устройство или ввод касания пользователя. Как используется в данном документе, «указатель» ссылается на или физическое устройство указания, управляющее курсором или выполняющее контакт касания с экраном, или на палец пользователя, контактирующий с экраном. Понятно, что устройство перемещения контента согласно настоящему изобретению применимо к различным информационным устройствам и устройствам связи и мультимедийному устройству, такому как портативный телефон, смартфон, планшетный PC, карманный PC, портативный медиаплеер (PMP), персональный цифровой помощник (PDA), музыкальный плеер (например, плеер MP3), портативный игровой терминал, цифровой радиовещательный плеер и его устройства применения. В данном случае, как общеизвестно в технике, указатель включает в себя пишущее перо, стилус, мышь, сенсорную панель, трекбол и средство сенсорного ввода сенсорного экрана. Ниже в данном документе в примерных вариантах осуществления предполагается, что используется средство сенсорного ввода.
Фиг. 1 представляет собой концептуальную схему, иллюстрирующую экран 110 устройства перемещения контента и контент, отображаемый посредством его, согласно примерному варианту осуществления настоящего изобретения. Как показано, экран 110 отображает только часть страницы 120 контента (ниже в данном документе страница контента упоминается просто как «контент»). Другими словами, контент при текущей установке масштаба имеет размер, который больше размера экрана 110. В данном случае контент 120 может включать в себя фотографии, веб-страницы или документы. Когда происходит прокручивание, устройство перемещения контента перемещает контент 120 в направлении прокручивания для отображения новой части контента 120. Например, когда пользователь прокручивает контент вниз, новая часть контента появляется в верхней части экрана, так что исчезает существующая отображаемая часть под экраном. В данном случае, прокручивание ссылается на операцию, реагирующую на обнаружение перемещения средства сенсорного ввода, такого как палец пользователя, в предопределенном направлении, когда сохраняется контакт касания с экраном. Этот тип прокручивания называется перетаскивание. Между тем, когда пользователь может иметь намерение прокрутить контент в определенном направлении, обнаруженное направление прокручивания может быть неравномерным, в противоположность намерению пользователя. Когда устройство перемещения контента имеет высокую чувствительность в направлении прокручивания, возникает проблема в том, что контент 120 склонен к перемещению в непреднамеренном направлении. В ходе прокручивания ошибка непреднамеренной операции может происходить более часто по сравнению с началом прокручивания. Например, когда пользователь прокручивает экран смартфона вверх, используя свой большой палец, большой палец перемещается по траектории параболы. Т.е. направление перемещения большого пальца при первоначальном прокручивании является вертикальным. Однако, по мере того как перемещается большой палец, оно становится изогнутым направлением. В противоположность намерению пользователя, соответствующий контент тогда перемещается в направлении параболы. Чтобы решить эту проблему, варианты осуществления в данном документе обеспечивают алгоритм для создания линейного перемещения контента, например перемещение по направлению X (горизонтальное) или Y (вертикальное), даже если обнаруживается нелинейное перетаскивание на сенсорном экране (где обнаруженная нелинейность находится в пределах предопределенных пределов).
Фиг. 2 представляет собой концептуальную схему, иллюстрирующую способ определения инициирования и направление прокручивания согласно примерному варианту осуществления настоящего изобретения. В общих чертах, способ включает в себя установление первоначальной пороговой области 230, окружающей первоначальную точку 220 касания над отображаемым контентом. Обнаруживается перемещение перетаскивания от первоначальной точки касания в текущую точку касания, нарушающее первоначальную пороговую область. Контент перемещается в направлении перемещения перетаскивания, если текущая точка касания находится вне предопределенных каналов X и Y. Контент перемещается только в направлении X или Y, если текущая точка касания находится в пределах канала X или Y соответственно.
Более конкретно, в примере на фиг. 2 предполагается, что пользователь первоначально касается сенсорного экрана 210 в «точке» 220, которая имеет центр с координатами x0, y0. (Заштрихованный круг, обозначенный как 220, представляет участок средства сенсорного ввода, контактирующий с экраном; устройство вычисляет центральную точку участка касания для установления точных координат x0, y0, усредняя участок касания.) Точка 220 упоминается ниже в данном документе как начальная точка или «предыдущая точка», причем последнее обозначение используется в контексте обсуждения местоположения новой точки касания на экране, следующего за операцией перетаскивания из точки 220. Когда экран 210 просматривается нормально, строка текста, например, ориентируется горизонтально, что считается направлением X.
Устанавливается первоначальная пороговая область 230, окружающая начальную точку 220. В примере на фиг. 2 пороговая область 230 определяется как участок, ограниченный пересечением X-ориентированного канала XC («канал X») и Y-ориентированного канала YC («канал Y»). Канал X имеет первоначальную ширину WX; канал Y имеет первоначальную ширину WY. Когда обнаруживается перемещение перетаскивания из начальной точки 220 в текущую точку, нарушая пороговую область 230, обнаруживается местоположение текущей точки (также упоминаемое как точка нарушения). Если точка нарушения находится в пределах канала X, устройство перемещает контент в направлении X на величину, соответствующую составляющей X текущей точки (относительно координаты X начальной точки 220). Аналогично, когда точка нарушения находится в пределах канала Y, устройство перемещает контент в направлении Y на расстояние, соответствующее составляющей Y точки нарушения. Таким образом, в этих случаях, даже если перемещение перетаскивания пользователя является слегка перекошенным, контент перемещается в направлении предполагаемого направления X или Y пользователя. После того как таким образом будет нарушена первоначальная пороговая область 230, и контент первоначально перемещается по X или Y, может быть увеличена (повторно установлена) ширина по меньшей мере канала X или Y перемещения контента. После этого устройство определяет, остается ли продолжающееся перемещение перетаскивания в пределах увеличенного канала, и, если так, контент продолжает перемещаться соответствующим образом в этом же направлении X или Y.
Если пользователь первоначально выполняет перетаскивание из точки 220 нелинейно (т.е. наклонно или по диагонали), так что точка нарушения находится вне каналов X и Y, устройство перемещает контент не по направлениям X или Y, а по направлению перетаскивания. Здесь отмечается, что в примере на фиг. 2 первоначальная пороговая область может быть прямоугольной или квадратной, так что нелинейная точка нарушения имеет место на любом из четырех углов прямоугольника или квадрата. Альтернативно, пороговая область может предопределяться в виде L-формы, причем две ножки L проходят по каналам X и Y. При таком варианте обеспечивается большая свобода действий для различения первоначального нарушения пороговой области в нелинейном направлении.
Более подробно, для примера с прямоугольной пороговой областью на фиг. 2, когда величина изменения по оси X (dx=xn-xn-1), где xn-1 представляет собой координату x предыдущей точки 220, xn представляет собой координату x текущей точки, n равно 0 или положительному целому числу) превосходит порог Xth оси X, и величина изменения Y (dy=yn-yn-1) меньше или равна порогу Yth оси Y с обнаруженной в настоящий момент точкой 220 в качестве начальной точки, устройство перемещения контента настоящего изобретения (ниже в данном документе «устройство») определяет направление прокручивания в виде горизонтального направления, а именно оси X, и перемещает и отображает контент в горизонтальном направлении. Например, устройство перемещения контента перемещает и отображает контент по горизонтальному направлению на dx (составляющая X перемещения перетаскивания с начальной точки 220). Между тем, когда dx≤Xth и dy>Yth, устройство определяет направление прокручивания как вертикальное направление, а именно ось Y, и перемещает и отображает контент по вертикальному направлению. Например, устройство перемещает и отображает контент по вертикальному направлению на dy (составляющая Y перемещения перетаскивания). Далее, когда dx>Xth и dy>Yth, устройство определяет направление прокручивания как нелинейное направление и перемещает и отображает контент по нелинейному направлению. Например, устройство перемещает и отображает контент по горизонтальному направлению на dx и по вертикальному направлению на dy. Далее, когда dx и dy меньше или равны соответствующим порогам соответственно, устройство определяет, что прокручивание еще не происходит в начальной точке 220 и не перемещает контент. Другими словами, только тогда, когда касание пользователя в отношении экрана находится вне пороговой области 230, определяемой посредством Xth и Yth относительно начальной точки 220, устройство определяет, что происходит прокручивание. Отметьте, что начальная точка 220 пороговой области 230 была описана как точка, в которой средство сенсорного ввода сначала касается экрана в начале перетаскивания; однако она также может рассматриваться как точка, в которой предыдущее перетаскивание стало приостановленным после останова в течение предопределенного времени. В последнем случае устройство может вернуть в исходное состояние алгоритм для обнаружения любого последующего перетаскивания в качестве нового перетаскивания из точки 220 (причем ширина каналов X и Y повторно устанавливается на первоначальную ширину).
Пороговая область может увеличиваться в ходе прокручивания. Т.е. если начинается прокручивание, устройство может увеличить пороговую область этапами для сохранения прокручивания в первоначально установленном направлении. Например, когда направление прокручивания определяется в виде вертикального направления, порог оси X может увеличиваться в два раза по сравнению с предыдущим значением. Далее, например, если величина dy изменения по оси Y превышает 2 см, на основе начальной точки в вертикальном состоянии, порог оси X может быть увеличен в три раза по сравнению с предыдущим значением. Кроме того, когда прокручивание останавливается, порог оси X может повторно устанавливаться на предыдущее значение. Пороговая область может описываться в единицах пикселей. Например, первоначально установленная первая пороговая область может составлять 16 пикселей (например, квадратная, прямоугольная или L-образная область, охватывающая 16 пикселей). Когда начинается прокручивание, новая пороговая область может устанавливаться в виде 32 пикселей.
Когда величина dy изменения по оси Y превышает предопределенное расстояние, пороговая область может увеличиваться до 64 пикселей. Как описано выше, пороговая область может увеличиваться этапами в соответствии с ходом прокручивания. В данном случае, хотя количество этапов расширения пороговой области в вышеупомянутом примере равно двум, возможен только один этап или по меньшей мере три этапа.
Фиг. 3, 4 и 5 представляют собой концептуальные схемы, иллюстрирующие процедуру перемещения контента в вертикальном, горизонтальном и нелинейном направлениях соответственно согласно примерному варианту осуществления настоящего изобретения. Как показано на фиг. 3, экран 320 устройства первоначально отображает центральную часть P2 контента страницы 330 контента. Когда определяется, что направлением 310 прокручивания является горизонтальное вправо (направление X), устройство перемещает и отображает контент 330 в направлении вправо, на основании экрана 320. Т.е. часть P1 левой стороны страницы 330 контента отображается на экране 320 после правого прокручивания. Хотя это не показано, когда определяется, что направлением прокручивания является к левой стороне, устройство перемещает и отображает контент P3 правой стороны страницы 330 контента на экране 320. Тем временем, как показано на фиг. 4, когда определяется, что направлением 410 прокручивания является направление вверх, устройство перемещения контента перемещает и отображает контент 430 вверх, основываясь на экране 420. Хотя это не показано, когда определяется, когда направлением прокручивания является направление вниз, устройство перемещает и отображает контент вниз, основываясь на экране. Кроме того, как показано на фиг. 5, когда определяется, что направлением 510 прокручивания является нелинейное направление, а именно направление на север-восток, устройство перемещает и отображает контент по направлению на север-восток, основываясь на экране 520. Хотя это не показано, устройство перемещения контента может перемещать и отображать контент в любых нелинейных направлениях. Нелинейное, как оно используется в данном документе, ссылается на любое наклонное направление относительно осей X и Y, так что возможно более четырех диагональных направлений. Предпочтительно, обеспечивается 360-градусная свобода перемещения прокручивания.
Фиг. 6 представляет собой блок-схему, иллюстрирующую конфигурацию устройства перемещения контента согласно примерному варианту осуществления настоящего изобретения. Как показано на фиг. 6, примерное устройство 600 перемещения контента согласно настоящему изобретению включает в себя сенсорный экран 610, блок 620 клавишного ввода, блок 630 отображения, память 640, блок 650 радиочастотной (RF) связи, камеру 660 и контроллер 670.
Когда происходит прокручивание при отображении части контента, большего чем экран, устройство 600 определяет направление происшедшего прокручивания. Далее, устройство 600 перемещает контент, основываясь на определенном направлении прокручивания, для отображения другой части контента. Далее, устройство 600 обнаруживает местоположение касания и может определять расположение точки первоначального касания относительно начальной точки пороговой области. Если нет изменения местоположения касания в течение предопределенного времени в другом местоположении после перемещения касания, устройство 600 может вернуть в исходное состояние соответствующую точку в качестве начальной точки. Если пользователь не отпускает средство сенсорного ввода (например, палец или стилус), т.е. когда пользователь сохраняет контакт касания, точка первоначального касания может оставаться в качестве начальной точки прокручивания. Далее, устройство 600 может устанавливать начальную точку в качестве точки касания, обнаруженной в предыдущий момент tn-1 времени, основываясь на моменте tn времени, когда обнаруживается текущая точка касания. Кроме того, когда начинается прокручивание, устройство 600 может увеличивать пороговую область для сохранения прокручивания в первоначально установленном направлении. Например, устройство 600 применимо к смартфону, имеющему экран размером 4 дюйма (10, 16 см) с разрешением 480*800. В случае смартфона размер первоначальной пороговой области может составлять 32 пикселя. Далее, после генерирования прокручивания размер пороговой области может изменяться до 128 пикселей. Размер пороговой области может определяться на основе чувствительности к касанию сенсорного экрана 110, типа касания сенсорного экрана 110 и экспериментального результата (информация об образце, ассоциированная с привычками касания пользователя), а также разрешения и размера экрана. Ниже подробно описываются соответствующие компоненты устройства 600.
Сенсорный экран 610 установлен впереди блока 630 отображения, генерирует аналоговый сигнал (упоминаемый как «событие касания») в ответ на контакт касания на сенсорном экране 610, преобразует аналоговый сигнал в цифровой сигнал и пересылает цифровой сигнал на контроллер 670. Следовательно, контроллер 670 может обнаруживать событие касания, вводимое с сенсорного экрана 610 для управления вышеупомянутыми компонентами. Жест пользователя делится на касание и жест касания. В данном случае, жест касания может классифицироваться на похлопывание, двойное похлопывание, длинное похлопывание, перетаскивание, перетаскивание и опускание, листание и нажатие. Касание представляет собой операцию, когда пользователь соприкасается с одной «точкой» экрана посредством средства сенсорного ввода (например, палец или перо стилуса), где участок, охватываемый точкой, конечно, зависит от физического участка средства сенсорного ввода и координат центральной точки на участке, определяется в качестве начальной точки. «Касание» означает состояние, создающее контакт на сенсорном экране; «жест касания» означает перемещение от начала касания на сенсорном экране до прерывания касания. Похлопывание представляет собой операцию, в которой средство сенсорного ввода отводится от соответствующей точки без перемещения средства сенсорного ввода после касания одной точки. Двойное похлопывание представляет собой операцию, когда пользователь похлопывает дважды по одной точке. Длинное похлопывание представляет собой операцию, когда средство сенсорного ввода отводится от соответствующей точки без перемещения средства сенсорного ввода, после того как точка касается в течение предопределенного времени, которое больше, чем для похлопывания. Перетаскивание представляет собой операцию, при которой контакт касания средством сенсорного ввода сохраняется на сенсорном экране, когда средство сенсорного ввода перемещается в направлении вдоль поверхности экрана. Перетаскивание и опускание представляет собой операцию, в которой виртуальный объект опускается в папку или т.п. после того, как пользователь прервет контакт касания, следующий за перетаскиванием. Листание представляет собой операцию, которая отводит палец после перемещения его посредством сильного удара с высокой скоростью подобно перелистыванию. Нажатие представляет собой операцию нажатия на соответствующую точку без перемещения пальца после касания одной точки средством сенсорного ввода. Сенсорный экран 610 может включать в себя датчик давления для обнаружения давления точки касания. Информация об обнаруженном давлении пересылается на контроллер 670, и контроллер 670 может отличить касание от нажатия, основываясь на информации об обнаруженном давлении. Кроме того, резистивный тип, емкостной тип и тип на основе электромагнитной индукции применимы в качестве сенсорного экрана 610. Контроллер 670 обнаруживает жест касания из события касания, вводимого с сенсорного экрана 610, для определения направления перемещения контента, основываясь на обнаруженном жесте касания. Конкретно, когда происходит прокручивание за пределы пороговой области 230 на фиг. 2, в то время как часть контента отображается, контроллер 670 определяет направление прокручивания и перемещает контент в определенном направлении.
Блок 620 клавишного ввода может включать в себя множество клавиш ввода и функциональных клавиш для приема ввода чисел и знаковой информации и для установления различных функций. Функциональные клавиши могут включать в себя набор клавиш со стрелкой, боковых клавиш и укороченных клавиш, так что выполняется некоторая функция. Кроме того, блок 620 клавишного ввода генерирует и переносит сигнал клавиши, ассоциированный с установкой пользователя и функциональным управлением портативного терминала 600, контроллеру 670. Сигнал клавиши может классифицироваться на сигнал включении/выключения питания, сигнал управления громкостью, сигнал включения/выключения экрана и т.п. Контроллер 670 управляет вышеупомянутыми компонентами в ответ на вышеупомянутый сигнал клавиши. Блок 620 клавишного ввода может включать в себя клавишную панель Qwerty, клавишную панель 3*4, клавишную панель 4*3 или т.п. Кроме того, блок 620 клавишного ввода может включать в себя только по меньшей мере одну боковую клавишу для включения/выключения экрана и включения/выключения портативного терминала, которая обеспечивается на боковой стороне корпуса портативного терминала, когда сенсорный экран 610 портативного терминала 600 поддерживается в виде полного сенсорного экрана.
Блок 630 отображения преобразует данные изображения, вводимые с контроллера 670, в аналоговый сигнал и отображает аналоговый сигнал под управлением контроллера 670. Т.е. блок 130 отображения может обеспечивать различные экраны в соответствии с использованием портативного терминала, например, экран блокирования, начальный экран, экран исполнения приложения (ниже в данном документе упоминаемый «App»), экран меню, экран создания сообщения, экран вызова, экран Интернета и экран клавишной панели. Экран блокирования может определяться как изображение, отображаемое тогда, когда экран блока 630 отображения включается. Если генерируется некоторое событие касания для снятия блокирования, контроллер 670 может переключать отображаемое изображение с экрана блокирования на начальный экран или экран исполнения App. Начальный экран может определяться как изображение, включающее в себя множество пиктограмм App, соответствующих множеству приложений соответственно. Если выбирается одна из множества пиктограмм App, контроллер 670 может исполнять соответствующее приложение и переключать отображаемое изображение на экран исполнения соответствующего приложения.
Блок 130 отображения может быть выполнен в виде дисплея с плоской панелью, такого как жидкокристаллический дисплей (LCD) или органический светоизлучающий диод (OLED).
Блок 630 отображения может включать в себя блок реализации 3D (трехмерного изображения) для отображения левого изображения и правого изображения и предоставления возможности пользователю чувствовать глубину левого и правого изображений. Как хорошо известно для специалиста в данной области техники, схема реализации 3D делится на схему с очками и схему без очков. Так как схема реализации 3D известна в технике, подробное описание опускается.
Память 140 может хранить операционную систему (OS), приложения, необходимые для изобретения и различные данные. Память 140 хранит изображение экрана, подлежащее выводу на блок 630 отображения, а также программу приложения, необходимую для функциональной операции согласно варианту осуществления настоящего изобретения. Кроме того, память 640 может хранить карту клавиш или карту меню для работы сенсорного экрана 610. В данном случае, карта клавиш и карта меню могут представлять собой различные формы. Т.е. карта клавиш может представлять собой карту клавиш, карту клавиш 3*4, карту клавиш Qwerty или карту клавиш управления для управления активированной в настоящий момент программой приложения. Кроме того, карта меню может представлять собой карту меню для управления активированной в настоящий момент программой приложения.
Память 640 может, главным образом, включать в себя программную область и область данных. Программная область может хранить операционную систему (OS) для начальной загрузки устройства перемещения контента и вышеупомянутых компонентов, и программу приложения для поддержки различных пользовательских функций, например, пользовательской функции для поддержки функции вызовов, веб-браузера для доступа к серверу Интернета, пользовательскую функцию MP3 для проигрывания других звуковых источников, функцию вывода изображения для воспроизведения фотографий и функцию проигрывания движущегося изображения. Конкретно, программная область настоящего изобретения может хранить алгоритм для обнаружения инициирования прокручивания и определения направления прокручивания и алгоритм для повторной установки начальной точки и пороговой области (например, возврата в исходное состояние ширины канала X и Y, как описано выше) прокручивания. Область данных представляет собой область для хранения данных, созданных в соответствии с использованием устройства перемещения контента, и может хранить данные телефонной книги, по меньшей мере одну пиктограмму в соответствии с функцией виджета и различный контент. В частности, область данных может временно хранить первую начальную точку и повторно установленную начальную точку прокручивания, созданную тогда, когда отображается часть контента. Кроме того, область данных может хранить предустановленное значение первой начальной точки, указывающее, устанавливать ли первую точку (x0, y0) касания или предыдущую точку (xn-1, yn-1) касания в качестве начальной точки. Кроме того, когда первая точка (x0, y0) касания устанавливается в качестве начальной точки, область данных может хранить предустановленное значение второй начальной точки, указывающее повторно утсановленную начальную точку. Предустановленные значения для начальной точки могут устанавливаться пользователем. Т.е. контроллер 670 может переносить предустановленное значение, введенное посредством сенсорного экрана 610 или блока 620 клавишного ввода в память 640, и память 640 может хранить переданное предустановленное значение в области данных.
Блок 650 RF-связи выполняет речевой вызов, вызов изображения или передачу данных под управлением контроллера 670. С этой целью, блок 650 RF-связи может включать в себя RF-передатчик (не показан), преобразующий с повышением частоты частоту передаваемого сигнала и усиливающий сигнал, и RF-приемник (не показан), усиливающий с низким уровнем шумов принимаемый сигнал и преобразующий с понижением частоты сигнал. Кроме того, блок 650 RF-связи может включать в себя модули мобильной связи (например, модуль мобильной связи 3 поколения, модуль мобильной связи 3,5 поколения или модуль мобильной связи 4 поколения и т.д.) и модуль WiFi.
Камера 660 фотографирует предмет и выводит изображение сфотографированного предмета на контроллер 670 и может включать в себя переднюю камеру, расположенную впереди устройства, и заднюю камеру, расположенную на задней поверхности.
Контроллер 670 управляет общей работой портативного терминала 600, потоком сигналов между внутренними компонентами портативного терминала 600 и обрабатывает данные. Кроме того, контроллер 670 управляет подачей питания на внутренние компоненты в батареи. Кроме того, контроллер 670 исполняет различные приложения, хранимые в программной области. В частности, контроллер 670 согласно настоящему изобретению выполняет прокручивание в ответ на обнаруженный жест касания. Чтобы это выполнить, контроллер 670 может включать в себя компоненты, изображенные на фиг. 7.
Фиг. 7 представляет собой блок-схему, иллюстрирующую конфигурацию контроллера 670 согласно примерному варианту осуществления настоящего изобретения. Контроллер 670 может включать в себя детектор 710 жеста касания, устройство 720 вычисления изменения местоположения, компаратор 730, определитель 740 направления, блок 750 перемещения контента и устройство 760 установки начальной точки.
Детектор 710 жеста касания соединен с сенсорным экраном 610, принимает событие касания от сенсорного экрана 610 и обнаруживает жест касания пользователя из принятого события касания. Т.е. детектор 710 жеста касания может обнаруживать точку касания, расстояние перемещения касания, направление перемещения касания и скорость касания (все обычно операции перетаскивания). Устройство 720 вычисления изменения местоположения принимает информацию о касании, ассоциированную с жестом касания, от детектора 710 жеста касания, и вычисляет величину изменения местоположения от начальной точки до текущей точки касания, а именно, величину dx или Δx(xn-x0) изменения по оси X и величину dy или Δy(yn-y0) изменения по оси Y, основываясь на принятой информации о касании. Компаратор 730 сравнивает величину изменения по оси X и величину изменения по оси Y с порогом оси X и порогом оси Y соответственно. Определитель 740 направления определяет направление перемещения касания, основываясь на результате сравнения компаратора 730. Блок 750 перемещения контента перемещает контент по направлению, определенному определителем 740 направления, и управляет блоком 630 отображения для отображения соответствующей части перемещаемого контента. Устройство 760 установки начальной точки устанавливает начальную точку, основываясь на информации о касании, введенной от детектора 710 жеста касания, и предварительно установленном значении начальной точки, хранимом в памяти 640. Например, устройство 760 установки начальной точки может устанавливать первую точку (x0, y0) касания в качестве начальной точки. Кроме того, когда нет изменения местоположения касания в текущей точке (xn, yn) касания после перемещения касания, устройство 760 установки начальной точки может повторно устанавливать текущую точку (xn, yn) касания в качестве начальной точки. Кроме того, устройство 760 установки начальной точки может устанавливать предыдущую точку (xn-1, yn-1) касания в качестве начальной точки. Устройство 760 установки начальной точки передает повторно установленную начальную точку в компаратор 730. Работа контроллера 670, имеющего компоненты, изображенные на фиг. 7, описывается со ссылкой на фиг. 8-10.
Фиг. 8 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно первому варианту осуществления настоящего изобретения. На этапе (801) блок 630 отображения отображает часть контента, размер которого больше размера экрана, на экране под управлением контроллера 670. Т.е. блок отображения отображает часть страницы контента, которая при текущем уровне масштабирования не может одновременно полностью отображаться на сенсорном экране 610. Контроллер 670 обнаруживает изменение местоположения касания в отношении экрана 610 (802). Когда обнаруживается изменение местоположения, контроллер 670 обнаруживает текущую точку (xn, yn) касания (803). В данном случае существуют различные способы точного обнаружения текущей точки касания. Например, контроллер 670 может соответствующим образом замерить и усреднить значение местоположения участка касания, введенного с сенсорного экрана 610, для обнаружения текущей точки касания. Кроме того, контроллер 670 вычисляет величину (Δx, Δy) изменения местоположения от начальной точки, а именно от первой точки (x0, y0) касания до текущей точки (xn, yn) касания (803). После этого, как описано в связи с фиг. 2, контроллер 670 сравнивает величину (Δx=xn-x0) изменения по оси X и величину (Δy=yn-y0) изменения по оси Y с порогом (Xth) оси X и порогом (Yth) оси Y соответственно.
Контроллер 670 определяет, являются ли Δx и Δy меньше или равны порогам Xth и Yth соответственно (804). Когда Δx и Δy меньше или равны порогам Xth и Yth, контроллер 670 определяет, что не происходит прокручивание, и процесс переходит на этап 810. Когда Δx и Δy больше порогов Xth и Yth, контроллер 670 определяет, что происходит прокручивание, и определяет направление прокручивания (805) в нелинейном направлении.
Контроллер 670 определяет, является ли Δx меньше или равен Xth и превышает ли Δy Yth. В качестве результата определения, когда Δx меньше или равно Xth, и Δy превышает Yth, контроллер 670 определяет направление прокручивания в виде вертикального (по оси Y) направления. Затем контроллер 670 управляет блоком 630 отображения на перемещение контента по направлению оси Y на dy(=yn-yn-1) (806), и процесс переходит на этап 810, где определяется, происходит ли прерывание касания. (Этап 810 может быть опущен в других вариантах осуществления.) Если касание прерывается, процесс завершается. Иначе, в данном варианте осуществления, когда перемещение перетаскивания останавливается или продолжается, процесс возвращается на (803), где движение перетаскивания продолжается для контролирования. Например, даже если обнаруживается прерывание, контроллер 670 может сохранять прокручивание по направлению оси Y. Когда имеет место команда (например, похлопывание) для останова прокручивания, контроллер 670 может остановить прокручивание. В качестве определения на этапе 805, когда Δx больше Xth, процесс переходит на этап 807.
Контроллер 670 определяет, превышает ли Δx Xth, и является ли Δy меньше или равен Yth (807). В качестве результата определения, когда Δx превышает Xth, и Δy меньше Yth, контроллер 670 определяет направление прокручивания в виде горизонтального (по оси X) направления. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента по горизонтальному (по оси X) направлению на dx(=xn-xn-1) (808), и процесс переходит на этап 810. (Этап 810 может быть опущен в других вариантах осуществления).
В качестве результата определения на этапе 807, когда Δy больше Yth, т.е., когда как Δx, так и Δy превышают соответствующие пороги соответственно, контроллер 670 определяет нелинейное направление в виде направления прокручивания. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента по направлению оси X на dz и по направлению опии Y на dy (809) и переходит на этап 810 (если только этап 810 не опущен, как указано выше).
На этапе (810) контроллер 670 определяет, происходит ли прерывание; если да, процесс завершается. Если нет, когда прокручивание продолжается, т.е. когда перемещение касания продолжается или останавливается, когда сохраняется контакт касания, контроллер 670 возвращается на этап 803 и повторяет вышеупомянутые процедуры для перемещения контента.
Согласно варианту осуществления настоящего изобретения, изображенному со ссылкой на фиг. 8, начальная точка прокручивания, являясь ссылкой, указывающей, находится ли прокручивание за пределами пороговой области, сохраняет первую точку касания независимо от останова перемещения касания, когда касание не прерывается. Остановленное местоположение может быть повторно установлено в качестве начальной точки прокручивания.
Фиг. 9 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно второму варианту осуществления настоящего изобретения. Этот вариант осуществления отличается от варианта осуществления на фиг. 8 отличием, после прокручивания без прерывания касания (этап 901), продолжает ли перетаскивание перемещение или останавливается ли перетаскивание в состоянии контакта касания. Если обнаруживается ОСТАНОВ, пороги X и Y (например, ширина каналов X и Y) повторно устанавливаются на первоначальные значения. В противном случае не происходит повторной установки.
На этапе (901) блок 630 отображения отображает часть контента на экране. Контроллер 670 обнаруживает изменение местоположения касания в отношении сенсорного экрана 610 (902). Когда обнаруживается изменение местоположения, контроллер 670 устанавливает начальную точку (903). Начальной точкой может быть первая точка (x0, y0) касания в начале. Далее, когда нет изменения местоположения касания в текущей точке (xn, yn) касания в течение предопределенного времени после перемещения касания, контроллер 670 может повторно установить текущую точку (xn, yn) касания в качестве начальной точки. Контроллер 670 обнаруживает текущую точку (xn, yn) касания (903). Далее, контроллер 670 вычисляет величину (Δx, Δy) изменения местоположения от начальной точки до текущей точки (xn, yn) касания (903). Затем контроллер 670 сравнивает величину Δx изменения по оси X и величину Δy изменения по оси Y с порогом Xth оси X и порогом Yth оси Y соответственно. Контроллер 670 определяет, являются ли Δx и Δy меньше или равными порогам Xth и Yth соответственно (904). Когда Δx и Δy меньше или равны порогам Xth и Yth, контроллер 670 определяет, что не происходит прокручивание, и процесс переходит на этап 910. Когда по меньшей мере одно из Δx и Δy больше соответствующих порогов Xth и Yth, контроллер 670 определяет, что происходит прокручивание, и процесс переходит на этап 905 для определения направления прокручивания.
Контроллер 670 определяет, является ли Δx меньше или равным Xth, и превышает ли Δy Yth (905). В качестве результата определения, когда Δx меньше или равен Xth, и Δy превышает Yth, контроллер 670 определяет направление прокручивания в виде вертикального (по оси Y) направления. Затем контроллер 670 управляет блоком 630 отображения на перемещение контента по направлению оси Y на dy(=yn-yn-1) (906), и процесс переходит на этап 910. В качестве определения этапа 905, когда Δx больше Xth, процесс переходит на этап 907.
Контроллер 670 определяет, превышает ли Δx Xth, и является ли Δy меньше или равна Yth (907). В качестве результата определения, когда Δx превышает Xth, и Δy меньше или равна Yth, контроллер 670 определяет направление прокручивания в виде горизонтального (по оси X) направления. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента по горизонтальному (по оси X) направлению на dx(=xn-xn-1) (908), и процесс переходит на этап 910.
В качестве результата определения на этапе 907, когда Δy больше Yth, т.е. когда как Δx и Δy превышают соответствующие пороги соответственно, контроллер 670 определяет нелинейное направление в виде направления прокручивания. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента по направлению оси X на dz и по направлению оси Y на dy (909) и переходит на этап 910.
Контроллер 670 определяет, происходит ли прерывание касания (910); если да, процесс завершается. Если нет, когда продолжается прокручивание, т.е. когда перемещение касания выполняется или останавливается, контроллер 670 возвращается на этап 911. Контроллер 670 отслеживает местоположение касания для определения, останавливается ли касание (911). В качестве результата определения, когда касание продолжается перемещаться без останова, процесс возвращается на этап 903. И наоборот, когда местоположение касания не меняется в течение предопределенного времени, контроллер 670 повторно устанавливает остановленное местоположение в качестве начала отсчета, являющегося начальной точкой прокручивания (912). Контроллер получает текущее местоположение, основываясь на повторно установленном начале отсчета, и выполняет процедуры определения наличия генерирования и направления прокручивания, на основе полученного текущего местоположения.
Фиг. 10 представляет собой концептуальную схему, иллюстрирующую процедуру для повторной установки начальной точки области точки касания, на которой надо основать последующее перемещение контента. Как показано, под управлением контроллера 670 первая точка 1020 (x0, y0) устанавливается на экране 1010 в качестве начальной точки, и первая пороговая область 1040 устанавливается на ее основе. Затем, когда местоположение касания перемещается во вторую точку 1030 (x1, y1) и останавливается в этой точке, вторая точка 1030 (x1, y1) устанавливается в качестве новой начальной точки, и вторая пороговая область устанавливается на основе второй точки 1030. В данном случае, останов на второй точке 1030 может определяться посредством обнаружения или прекращения контакта касания во второй точке, или обнаружения неизменного контакта во второй точке 1030 в течение предопределенного времени. Тем временем, основываясь на моменте tn времени, когда обнаруживается текущая точка касания, контроллер 670 может устанавливать предыдущую точку касания, обнаруженную в предыдущий момент tn-1 времени, в качестве начальной точки. Текущая пороговая область может устанавливаться на основе предыдущей точки касания.
Фиг. 11 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно третьему варианту осуществления настоящего изобретения. Как показано на фиг. 11, блок 630 отображения отображает часть контента на экране под управлением контроллера 670 (1101). Контроллер 670 обнаруживает изменение местоположения касания в отношении сенсорного экрана 610 (1102). Когда обнаруживается изменение местоположения, контроллер 670 обнаруживает текущую точку (xn, yn) касания (1103). Контроллер 670 устанавливает непосредственно предыдущую обнаруженную точку (xn-1, yn-1) касания в качестве начальной точки (1103). Контроллер 670 вычисляет величину (dx, dy) изменения местоположения от предыдущей точки (xn-1, yn-1) касания до текущей точки (xn, yn) касания (1103). После того контроллер 670 сравнивает величину dx изменения по оси X и величину dy изменения по оси Y с порогом Xth оси X и порогом Yth оси Y соответственно.
Контроллер 670 определяет, являются ли оба из dx и dy меньше или равны соответствующим порогам соответственно (1104). Когда dx и dy меньше или равны порогам Xth и Yth, контроллер 670 определяет, что не происходит прокручивание, и процесс переходит на этап 1110. Когда по меньшей мере одно из dx и dy больше соответствующего порога Xth или Yth, контроллер 670 определяет, что происходит прокручивание, и процесс переходит на этап 1105 для определения направления прокручивания.
Контроллер 670 определяет, является ли dx меньше или равен Xth и превышает ли dy Yth (1105). В качестве результата определения, когда Δx меньше или равна Xth и dy превышает Yth, контроллер 670 определяет направление прокручивания в виде вертикального (по оси Y) направления. Затем контроллер 670 управляет блоком 630 отображения на перемещение контента по направлению оси Y на dy (1106), и процесс переходит на этап 1110. В качестве определения этапа 1105, когда dx больше Xth, процесс переходит на этап 1107.
Контроллер 670 определяет, превышает ли dx Xth и является ли dy меньше или равен Yth (1107). В качестве результата определения, когда dx превышает Xth, и dy меньше Yth, контроллер 670 определяет направление прокручивания в виде горизонтального (по оси X) направления. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента в горизонтальном (по оси X) направлении на dx (1108), и процесс переходит на этап 1110.
В качестве результата определения на этапе 1107, когда dy больше Yth, т.е. когда как dx, так и dy превышают соответствующие пороги соответственно, контроллер 670 определяет нелинейное направление в качестве направления прокручивания. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента по направлению оси X на dx и по направлению оси Y на dy (1109) и переходит на этап 1110.
Контроллер 670 определяет, происходит ли прерывание касания (1110); если да, процесс завершается. Если нет, т.е. перемещение перетаскивания продолжается или останавливается, контроллер 670 возвращается на этап 1103 и повторяет вышеупомянутые процедуры для перемещения контента.
Когда начинается прокручивание, контроллер 670 может увеличить пороговую область поэтапно для сохранения прокручивания в первоначально предустановленном направлении. Для достижения этого контроллер 670 может включать в себя компоненты, изображенные на фиг. 12.
Фиг. 12 представляет собой блок-схему, иллюстрирующую конфигурацию контроллера согласно другому варианту осуществления настоящего изобретения. Контроллер 670 может включать в себя детектор 1210 жеста касания, устройство 1220 вычисления изменения местоположения, компаратор 1230, определитель 1240 направления, блок 1250 перемещения контента и устройство 1260 установки пороговой области.
Детектор 1210 жеста касания подсоединен к сенсорному экрану 610, принимает событие касания от сенсорного экрана 610 и обнаруживает жест касания пользователя из принятого события касания. Т.е. детектор 1210 жеста касания может обнаруживать точку касания, расстояние перемещения касания, направление перемещения касания и скорость касания. Устройство 1220 вычисления изменения местоположения принимает информацию о касании, ассоциированную с жестом касания, от детектора 1210 жеста касания и вычисляет величину изменения местоположения от начальной точки до текущей точки касания, а именно, величину dx или Δx изменения по оси X и величину dy или Δy изменения по оси Y, основываясь на принятой информации о касании. Компаратор 1230 сравнивает величину изменения по оси X и величину изменения по оси Y с порогом оси X и порогом оси Y соответственно. Определитель 1240 направления определяет направление перемещения касания, основываясь на результате сравнения компаратора 1230. Блок 1250 перемещения контента перемещает контент по направлению, определенному определителем 1240 направления, и управляет блоком 630 отображения на отображение соответствующей части перемещенного контента. Когда начинается перемещение контента, устройство 1260 установки пороговой области увеличивает пороговую область. Например, в случае смартфона, размер экрана которого равен 4 дюйма (10,16 см), когда размер первоначальной пороговой области составляет 32 пикселя, и начинается перемещение контента, пороговая область может быть увеличена до 128 пикселей. Кроме того, устройство 1260 установки пороговой области передает информацию об увеличенной пороговой области компаратору 1230. Устройство 1260 установки пороговой области может уменьшить пороговую область. Например, когда останавливается прокручивание, увеличенная пороговая область может быть уменьшена. Кроме того, когда начинается прокручивание, пороговая область может быть уменьшена больше первоначально предустановленного размера. Работа контроллера 670, имеющего компоненты, изображенные на фиг. 12, описывается со ссылкой на фиг. 13-20.
Фиг. 13 представляет собой блок-схему последовательности операций, иллюстрирующую способ перемещения контента согласно четвертому варианту осуществления настоящего изобретения. Как показано на фиг. 13, блок 630 отображения отображает часть контента, которая больше размера экрана, на экране под управлением контроллера 670 (1301). Контроллер 670 обнаруживает изменение местоположения касания в отношении сенсорного экрана 610 (1302). Когда обнаруживается изменение местоположения, контроллер 670 обнаруживает текущую точку (xn, yn) касания (1303). Контроллер 670 устанавливает непосредственно предыдущую обнаруженную точку (xn-1, yn-1) касания в качестве начальной точки (1303). Контроллер 670 вычисляет величину (dx, dy) изменения местоположения от предыдущей точки (xn-1, yn-1) касания до текущей точки (xn, yn) касания (1303). После этого контроллер 670 сравнивает величину dx изменения по оси X и величину dy изменения по оси Y с порогом Xth оси X и порогом Yth оси Y соответственно.
Контроллер 670 определяет, являются ли как dx, так и dy меньшими или равными соответствующим порогам соответственно (1304). Если да, контроллер 670 определяет, что не происходит прокручивание, и процесс переходит на этап 1312. Когда по меньшей мере один из dx и dy больше соответствующих порогов Xth и Yth, контроллер 670 определяет, что происходит прокручивание, и процесс переходит на этап 1305 для определения направления прокручивания.
Контроллер 670 определяет, является ли dx меньше или равен Xth, и превышает ли dy Yth (1305). В качестве результата определения, когда Δx меньше или равна Xth, и dy превышает Yth, контроллер 670 определяет направление прокручивания в виде вертикального (по оси Y) направления. Затем контроллер 670 управляет блоком 630 отображения на перемещение контента в направлении по оси Y на dy (1306), и процесс переходит на этап 1310. В качестве определения этапа 1305, когда dx больше Xth, процесс переходит на этап 1307.
Контроллер 670 определяет, превышает ли dx Xth, и является ли dy меньше или равен Yth (1307). В качестве результата определения, когда dx превышает Xth, и dy меньше Yth, контроллер 670 определяет направление прокручивания в виде горизонтального (по оси X) направления. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента по горизонтальному (по оси X) направлении на dx (1308), и процесс переходит на этап 1310.
В качестве результата определения на этапе 1307, когда dy больше Yth, т.е. когда как dx, так и dy превышают соответствующие пороги соответственно, контроллер 670 определяет нелинейное направление в качестве направления прокручивания. Следовательно, контроллер 670 управляет блоком 630 отображения на перемещение контента по направлению оси X на dx и по направлению оси Y на dy (1309) и переходит на этап 1310.
Контроллер 670 определяет, равен ли текущий установленный размер пороговой области предустановленному максимальному значению Max (1310). Например, в случае смартфона, размер экрана которого равен 4 дюйма (10,16 см), максимальное значение может составлять 128 пикселей. Когда текущий установленный размер пороговой области равен предустановленному максимальному значению Max, процесс переходит на этап 1312. Если нет, контроллер 670 увеличивает пороговую область (1311) и переходит на этап 1312. Например, когда текущий установленный размер пороговой области составляет 32 пикселя (горизонтальный*вертикальный(4*8)), контроллер 670 увеличивает горизонтальную сторону и вертикальный размер пороговой области в два раза, а именно до 128 пикселей (горизонтальный*вертикальный(8*16)).
Контроллер 670 определяет, происходит ли прерывание касания (1312); если да, процесс завершается. Если нет, когда прокручивание продолжается, т.е. когда перемещение касания продолжается или останавливается, контроллер 670 возвращается на этап 1303 и повторяет вышеупомянутые процедуры для перемещения контента.
Согласно четвертому варианту осуществления настоящего изобретения, изображенному со ссылкой на фиг. 13, начальная точка прокручивания, представляющая собой ссылку, указывающую, находится ли прокручивание вне пороговой области, сохраняет первую точку касания независимо от останова перемещения касания, когда касание не прерывается. Остановленное местоположение может быть повторно установлено в качестве начальной точки прокручивания. Согласно четвертому варианту осуществления настоящего изобретения, изображенному со ссылкой на фиг. 13, когда начинается прокручивание, контроллер 670 увеличивает пороговую область для сохранения прокручивания в первоначально установленном направлении. Как изображено ранее, пороговая область увеличивается один раз или более. В случае смартфона, размер экрана которого равен 4 дюйма (10, 16 см), пороговая область может быть увеличена только один раз, когда начинается прокручивание. В случае планшетного PC, размер экрана которого равен 10 дюймов (25,4 см), пороговая область может увеличиваться два раза, т.е. когда начинается прокручивание, и направлением прокручивания является вертикальное (по оси Y) направление, и величина dx изменения по оси X превышает 32 пикселя. Т.е. максимальное количество пороговой области, подлежащей увеличению, может определяться в соответствии с размером экрана. Фактор определения не ограничивается размером экрана. Т.е. фактор определения может включать в себя разрешение, чувствительность касания сенсорного экрана 610, тип касания сенсорного экрана 610 и экспериментальный результат (например, информация об шаблоне, ассоциированная с привычками касания пользователя).
Фиг. 14 и 15 представляют собой схемы, иллюстрирующие способ вертикального прокручивания согласно примерному варианту осуществления настоящего изобретения. Как показано на фиг. 14 и 15, пользователь намеревается прокрутить контент по вертикальному (по оси Y) направлению. Однако жест касания (обычно перемещение перетаскивания) пользователя непреднамеренно происходит по направлению 1510 параболы, как показано на фиг. 15. Настоящий вариант осуществления распознает эту ошибку и управляет перемещением прокручивания, чтобы оно находилось по направлению Y, несмотря на незначительное параболическое перетаскивание.
Контроллер 670 обнаруживает жест касания из события касания, принимаемого от сенсорного экрана 610, и вычисляет величину изменения местоположения от начальной точки (0,0) до текущей точки касания, а именно величину (Δx=xn-x0) изменения по оси X и величину (Δy=yn-y0) изменения по оси Y. Кроме того, контроллер 670 сравнивает вычисленные Δx и Δy с первым порогом Xth1 оси и первым порогом Yth1 оси Y. В качестве сравнения, когда Δx меньше Xth1, и Δy больше Yth1, контроллер 670 перемещает контент по вертикальному (по оси Y) направлению (1401). После этого, т.е. в точке, где нарушается порог Yth, контроллер 670 начинает другую итерацию для вычисления снова Δx (1402) и Δy от начальной точки 0,0 до текущей точки. Одновременно контроллер 670 повторно устанавливает пороговое значение оси X в значение Xth2, которое больше первоначального значения Xth1 (1403). (Эта повторная установка порога оси X эквивалентна расширению первоначального канала Y, как описано ранее в связи с фиг. 2). В этот момент контроллер 670 сравнивает Δx со вторым порогом Xth2 оси X.
Так как жест касания продолжается, контроллер 670 продолжает контролировать точку перемещения контакта касания, т.е. текущую точку, и определяет, является ли Δx, измеренная от начальной точки 0,0, больше второго порога Xth2 оси X (1404). Когда Δx меньше или равна Xth2, контроллер 670 сохраняет направление прокручивания в виде вертикального направления (1405). Т.е. как показано на фиг. 15, фактически обнаруженным направлением перетаскивания является параболическое направление 1510, но контроллер 670 прокручивает контент по направлению оси Y. Когда Δx больше второго порога Xth2, контроллер 670 переключает направление прокручивания на нелинейное направление (1406).
Как показано на фиг. 15, когда порог оси X увеличивается с Xth1 до Xth2 (Xth2>Xth1), порог оси Y также увеличивается с Yth1 до Yth2 (Yth2>Yth1). Например, когда величина Δy изменения по оси Y, измеренная от начальной точки (0,0), превышает Yth2, порог оси X снова может быть увеличен с Xth2 до третьего порога оси X, а именно Xth3 (Xth3>Xth2). Таким образом, канал Y снова расширяется для размещения продолжаемого непреднамеренного параболического перемещения перетаскивания.
Фиг. 16 и 17 представляют собой схемы, иллюстрирующие способ горизонтального прокручивания согласно примерному варианту осуществления настоящего изобретения. Как показано на фиг. 16 и 17, пользователь намеревается прокрутить контент по горизонтальному (по оси X) направлению. Однако жест касания (обычно перемещение перетаскивания) пользователя непреднамеренно происходит по параболическому направлению 1710, как показано на фиг. 17. Настоящий вариант осуществления распознает эту ошибку и управляет перемещением прокручивания так, чтобы оно находилось по направлению X, несмотря на незначительное параболическое перетаскивание. Контроллер 670 обнаруживает жест касания из события касания, принимаемого от сенсорного экрана 610, и вычисляет величину изменения местоположения от начальной точки (0,0) до текущей точки касания, а именно величину (Δx=xn-x0) изменения по оси X, и величину (Δy=yn-y0) изменения по оси Y. Кроме того, контроллер 670 сравнивает вычисленные Δx и Δy с первым порогом Xth1 оси и первым порогом Yth1 оси Y. В качестве сравнения, когда Δx больше Xth1, и Δy меньше Yth1, контроллер 670 перемещает контент по горизонтальному (по оси X) направлению (1601). После этого, т.е. в момент, когда нарушается порог Xth, контроллер 670 начинает другую итерацию для вычисления снова Δx и Δy от начальной точки 0,0 до текущей точки (1602). Одновременно контроллер 670 повторно устанавливает значение порога оси Y в Yth2, которое больше первоначального значения Yth1 (1603). (Эта повторная установка порога оси Y эквивалентна расширению первоначального канала X, как описано в связи с фиг. 2.) В этот момент контроллер 670 сравнивает Δy со вторым порогом Yth2 оси Y.
Так как жест касания продолжается, контроллер 670 продолжает контролировать перемещение контакта касания и определяет, является ли Δy, измеренная от начальной точки 0,0, больше второго порога Yth2 оси Y (1604). Когда Δy меньше или равна второму порогу Yth2 оси Y, контроллер 670 сохраняет направление прокручивания в виде горизонтального направления (1605). Т.е. как показано на фиг. 17, фактически обнаруженным направлением перетаскивания является параболическое направление 1710, но контроллер 670 прокручивает контент по направлению оси X. Когда Δy больше второго порога Yth2, контроллер 670 переключает направление прокручивания на нелинейное направление (1606).
Как показано на фиг. 17, когда порог оси Y увеличивается с Yth1 до Yth2 (Yth2>Yth1), порог оси X также увеличивается с Xth1 до Xth2 (Xth2>Xth1). Например, когда величина Δx изменения по оси X, измеренная от начальной точки 0,0, превышает Xth2, порог оси Y снова может быть увеличен с Yth2 до третьего порога оси Y, а именно Yth3 (Yth3>Yth2). Это снова увеличивает канал X до размещения продолжаемого непреднамеренного параболического перемещения перетаскивания.
Фиг. 18 и 19 представляют собой схемы, иллюстрирующие способ вертикального прокручивания согласно другому варианту осуществления настоящего изобретения. Как показано на фиг. 18 и 19, контроллер 670 перемещает контент по вертикальному направлению 1910 (1801). Контроллер 670 вычисляет величину (dx=xn-xn-1) изменения X в текущий момент tn времени (1802). Контроллер 670 устанавливает первый порог Xth,n оси X, на основе начальной точки, а именно предыдущей точки (xn-1, yn-1) касания (1803). В данном случае, размер первого порога Xth,n оси X может быть больше или меньше ранее установленного значения Xth,n-1. Между тем, размер первого порога Xth,n оси X остается без изменения. Кроме того, контроллер 670 сравнивает первый порог Xth,n оси X с dx (1803).
Контроллер 670 определяет, является ли dx больше первого порога Xth,n оси X (1804). Когда dx меньше или равен первому порогу Xth,n оси X, контроллер 670 сохраняет направление прокручивания в виде вертикального направления (1805). Т.е. как показано на фиг. 19, фактически обнаруженным направлением жеста касания (например, перетаскивание) в текущий момент tn времени является параболическое направление 1920, но контроллер 670 прокручивает контент по вертикальному направлению. Когда dx больше первого порога Xth,n оси X, контроллер 670 переключает направление прокручивания на нелинейное направление (1806).
Как показано на фиг. 19, когда наступает следующий момент tn+1 времени, контроллер 670 обнаруживает следующую точку (xn+1, yn+1) касания и устанавливает второй порог (Xth,n+1) оси X, основываясь на начальной точке (xn, yn). В данном случае второй порог (Xth,n+1) оси X может быть больше или меньше предыдущего значения Xth,n. Между тем, размер второго порога Xth,n+1 оси X остается без изменения.
Фиг. 20 представляет собой схему, иллюстрирующую способ горизонтального прокручивания согласно другому варианту осуществления настоящего изобретения. В позиции (2001) контроллер 670 перемещает контент по горизонтальному направлению. Контроллер 670 вычисляет величину (dy=yn-yn-1) изменения Y в текущий момент tn времени (2002). Контроллер 670 устанавливает первый порог Yth,n оси Y, основываясь на начальной точке, а именно предыдущей точке (xn-1, yn-1) касания (2003). В данном случае размер первого порога Yth,n оси Y может быть больше или меньше ранее установленного значения Yth,n-1. Между тем, размер первого порога Yth,n оси Y остается без изменения. Кроме того, контроллер 670 сравнивает первый порог Yth,n оси Y с dy (2003).
Контроллер 670 определяет, является ли dy больше первого порога Yth,n оси Y (2004). Когда dy меньше или равен первому порогу Yth,n оси Y, контроллер 670 сохраняет направление прокручивания в виде горизонтального направления (2005). Когда dy больше первого порога Yth,n оси Y, контроллер 670 переключает направление прокручивания на нелинейное направление (2006). Когда наступает следующий момент tn+1 времени, контроллер 670 обнаруживает следующую точку (xn+1, yn+1) касания и устанавливает второй порог (Yth,n+1) оси Y, основываясь на начальной точке (xn, yn). В данном случае, второй порог (Yth,n+1) оси Y может быть больше или меньше предыдущего значения Yth,n. Между тем, размер второго порога Yth,n+1 оси Y остается без изменения.
Так как конструктивные компоненты могут быть по-разному изменены в соответствии с тенденцией конвергенции цифровых устройств, необязательная подробная конструкция различных компонентов не была изложена в данном документе. Однако портативный терминал 600 согласно настоящему изобретению может дополнительно включать в себя компоненты, которые не упомянуты выше, такие как модуль глобальной системы позиционирования (GPS), режим вибрации, датчик ускорения и т.п. Портативный терминал 600 настоящего изобретения может быть заменен конкретными конструкциями в вышеупомянутых устройствах согласно предусмотренной форме.
Вышеупомянутый способ перемещения контента настоящего изобретения может быть реализован в виде исполняемой программной команды посредством различных компьютерных средств и может быть записан на считываемый компьютером носитель записи. В данном случае, считываемый компьютером носитель записи может включать в себя программную команду, файл данных и структуру данных, индивидуально или в их комбинации. Инструкции программных команд, записанные на носитель записи, могут быть специально разработаны или выполнены для настоящего изобретения или могут быть известны специалисту в данной области компьютерного программного обеспечения для использования.
Считываемым компьютером носителем записи могут быть магнитные носители, такие как жесткий диск, дискета или магнитная лента, оптические носители, такие как компакт-диск только для чтения (CD-ROM) или цифровой многофункциональный диск (DVD), магнитооптические носители, такие как оптический диск, и аппаратное устройство, такое как постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, хранящие и исполняющие программные команды. Кроме того, программная команда включает в себя код на машинном языке, созданный компилятором, и код языка высокого уровня, исполняемый компьютером, используя интерпретатор. Вышеупомянутое аппаратное устройство может быть выполнено так, что работает в качестве по меньшей мере одного программного модуля для выполнения операции настоящего изобретения.
Как упомянуто выше, при перемещении и в устройстве перемещения контента согласно настоящему изобретению контент может перемещаться и отображаться по предопределенному линейному направлению, подразумеваемому пользователем, несмотря на обнаружение непреднамеренного нелинейного перемещения жеста касания.
Хотя способ и устройство для перемещения контента согласно примерным вариантам осуществления настоящего изобретения были подробно описаны выше в данном документе, необходимо ясно понимать, что многочисленные варианты и модификации основных идей изобретения, предлагаемых в данном документе, которые могут возникнуть у специалиста в настоящей области техники, все же подпадают под сущность и объем настоящего изобретения, определенного в прилагаемой формуле изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И УСТРОЙСТВО ДЛЯ ИНЕРЦИОННОГО ПЕРЕМЕЩЕНИЯ ОКОННОГО ОБЪЕКТА | 2011 |
|
RU2491610C1 |
УСТРОЙСТВО ОТОБРАЖЕНИЯ И СПОСОБ ОТОБРАЖЕНИЯ | 2015 |
|
RU2689412C2 |
ПАНОРАМИРОВАНИЕ КОНТЕНТА С ИСПОЛЬЗОВАНИЕМ ОПЕРАЦИИ ПЕРЕТАСКИВАНИЯ | 2009 |
|
RU2523169C2 |
ЖЕСТ СКОЛЬЖЕНИЯ ПО ДИАГОНАЛИ ДЛЯ ВЫБОРА И ПЕРЕСТАНОВКИ | 2012 |
|
RU2623198C2 |
СПОСОБ И УСТРОЙСТВО УПРАВЛЕНИЯ РАСПИСАНИЕМ С ИСПОЛЬЗОВАНИЕМ ОПТИЧЕСКОГО УСТРОЙСТВА ЧТЕНИЯ СИМВОЛОВ | 2012 |
|
RU2621626C2 |
УСТРОЙСТВО ОТОБРАЖЕНИЯ, СПОСОБ ДЛЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА И ПРОГРАММА | 2012 |
|
RU2576472C2 |
ПРОКРУЧИВАЕМЫЕ МЕНЮ И ПАНЕЛИ ИНСТРУМЕНТОВ | 2010 |
|
RU2530301C2 |
Способ построения трехмерной модели местности вдоль полотна железнодорожного пути | 2020 |
|
RU2726256C1 |
СПОСОБ ПРЕДОСТАВЛЕНИЯ ОБРАТНОЙ СВЯЗИ В ОТВЕТ НА ПОЛЬЗОВАТЕЛЬСКИЙ ВВОД И ТЕРМИНАЛ, ЕГО РЕАЛИЗУЮЩИЙ | 2014 |
|
RU2675153C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ НАЗНАЧЕНИЯ ВЕКТОРОВ ДВИЖЕНИЯ | 2005 |
|
RU2335096C1 |
Группа изобретений относится к средствам перемещения контента на экране терминала. Технический результат – повышение точности перемещения контента. Для этого предложены способ и устройство для перемещения контента на экране в терминале, в которых устанавливается первоначальная пороговая область, которая окружает первоначальную точку касания над отображаемым контентом. Обнаруживается перемещение перетаскивания от первоначальной точки касания до текущей точки касания, нарушающей первоначальную пороговую область. Контент перемещается по направлению перемещения перетаскивания, если текущая точка касания находится вне предопределенных каналов X и Y. Контент перемещается только по направлению X или Y, если текущая точка касания находится в пределах канала X или Y соответственно. 3 н. и 15 з.п. ф-лы, 20 ил.
1. Способ перемещения контента, отображаемого на дисплее терминала, имеющего сенсорный экран, причем способ содержит:
обнаружение точки касания на сенсорном экране в ответ на жест касания;
установку точки касания в качестве начальной точки;
вычисление (803) величины изменения местоположения перемещения от начальной точки до текущей точки касания;
определение направления перемещения, когда вычисленная величина изменения местоположения находится вне предустановленной пороговой области, на основе начальной точки, и
перемещение контента в упомянутом определенном направлении,
причем способ дополнительно содержит:
расширение размера пороговой области при определении направления перемещения для получения расширенной пороговой области;
определение наличия сохранения упомянутого определенного направления на основании результата сравнения вычисленной величины изменения местоположения после расширения с расширенной пороговой областью, и
перемещение контента в упомянутом определенном направлении, когда определяется сохранение упомянутого определенного направления,
причем упомянутое определенное направление является одним из горизонтального направления, вертикального направления или нелинейного направления.
2. Способ по п. 1, в котором расширение размера пороговой области содержит увеличение размера пороговой области.
3. Способ по п. 2, в котором расширение размера пороговой области содержит увеличение первого порога оси X до второго порога оси X в пороговой области, когда упомянутым определенным направлением перемещения является вертикальное, по оси Y, направление.
4. Способ по п. 3, в котором определение наличия сохранения упомянутого определенного направления содержит:
сравнение величины изменения по оси X вычисленной величины изменения местоположения со вторым порогом оси X после увеличения первого порога оси X до второго порога оси X, когда упомянутым определенным направлением перемещения является вертикальное, по оси Y, направление, и
сохранение направления перемещения в виде вертикального направления, когда величина изменения по оси X не превышает второй порог оси X.
5. Способ по п. 4, дополнительно содержащий увеличение второго порога оси X до третьего порога оси X, когда величина изменения по оси Y вычисленной величины изменения местоположения превышает предустановленное значение после увеличения первого порога оси X до второго порога оси X.
6. Способ по п. 2, в котором расширение размера пороговой области дополнительно содержит увеличение первого порога оси Y до второго порога оси Y в пороговой области, когда упомянутым определенным направлением перемещения является горизонтальное, по оси X, направление.
7. Способ по п. 6, в котором определение наличия сохранения упомянутого определенного направления дополнительно содержит:
сравнение величины изменения по оси Y вычисленной величины изменения местоположения со вторым порогом оси Y после увеличения первого порога оси Y до второго порога оси Y, когда упомянутым определенным направлением перемещения является горизонтальное, по оси X, направление, и
сохранение направления перемещения в виде горизонтального направления, когда величина изменения по оси Y не превышает второго порога оси Y.
8. Способ по п. 7, дополнительно содержащий увеличение второго порога оси Y до третьего порога оси Y, когда величина изменения по оси X вычисленной величины изменения местоположения превышает предустановленное значение после увеличения первого порога оси Y до второго порога оси Y.
9. Способ по п. 1, в котором начальная точка представляет собой точку касания, обнаруженную перед текущей точкой касания.
10. Способ по п. 1, в котором размер пороговой области определяется на основании по меньшей мере одного из размера экрана и разрешения.
11. Устройство для перемещения контента, причем устройство содержит:
блок (630) отображения для отображения контента;
сенсорный экран (610) для генерирования события касания в ответ на жест касания в отношении отображаемого контента и
контроллер (670) для управления, так что отображаемый контент перемещается на основе события касания, введенного с сенсорного экрана,
причем контроллер (670) выполнен с возможностью:
обнаруживать точку касания на сенсорном экране,
устанавливать точку касания в качестве начальной точки,
вычислять величину изменения местоположения перемещения от начальной точки до текущей точки касания,
определять направление перемещения, когда вычисленная величина изменения местоположения находится вне предустановленной пороговой области, на основе начальной точки, и
перемещать контент в упомянутом определенном направлении,
причем контроллер выполнен с возможностью:
расширять размер пороговой области при определении направления перемещения для получения расширенной пороговой области,
определять наличие сохранения определенного направления на основании результата сравнения вычисленной величины изменения местоположения после расширения с расширенной пороговой областью и
перемещать контент в упомянутом определенном направлении, когда определяется сохранение упомянутого определенного направления,
причем упомянутое определенное направление является одним из горизонтального направления, вертикального направления или нелинейного направления.
12. Устройство по п. 11, в котором контроллер (670) выполнен с возможностью увеличивать размер пороговой области после определения направления контента.
13. Устройство по п. 12, в котором контроллер (670) выполнен с возможностью увеличивать первый порог оси X до второго порога оси X в пороговой области, когда определенным направлением является вертикальное (по оси Y) направление.
14. Устройство по п. 13, в котором контроллер (670) выполнен с возможностью сравнивать величину изменения по оси X вычисленной величины изменения местоположения со вторым порогом оси X после увеличения первого порога оси X до второго порога оси X, когда упомянутым определенным направлением является вертикальное, по оси Y, направление, и сохранять направление в качестве вертикального направления, когда величина изменения по оси X не превышает второго порога оси X.
15. Устройство по п. 14, в котором контроллер (670) выполнен с возможностью увеличивать второй порог оси X до третьего порога оси X, когда величина изменения по оси Y вычисленной величины изменения местоположения превышает предустановленное значение после увеличения первого порога оси X до второго порога оси X.
16. Устройство по п. 13, в котором контроллер (670) выполнен с возможностью увеличивать первый порог оси Y до второго порога оси Y в пороговой области, когда упомянутым определенным направлением является горизонтальное, по оси X, направление.
17. Устройство по п. 16, в котором контроллер (670) выполнен с возможностью сравнивать величину изменения по оси Y вычисленной величины изменения местоположения со вторым порогом оси Y после увеличения первого порога оси Y до второго порога оси Y, когда упомянутым определенным направлением является горизонтальное (по оси X) направление, и сохранять направление в качестве горизонтального направления, когда величина изменения по оси Y не превышает второго порога оси Y.
18. Носитель записи, считываемый в терминале, имеющем сенсорный экран и дисплей для отображения контента, причем носитель записи хранит инструкции, которые при исполнении контроллером терминала предписывают терминалу:
обнаруживать точку касания на сенсорном экране в ответ на жест касания;
устанавливать точку касания в качестве начальной точки;
вычислять величину изменения местоположения перемещения от начальной точки до текущей точки касания;
определять направление перемещения, когда вычисленная величина изменения местоположения находится вне предустановленной пороговой области, на основе начальной точки;
перемещать контент в упомянутом определенном направлении;
расширять размер пороговой области при определении направления перемещения для получения расширенной пороговой области;
определять наличие сохранения упомянутого определенного направления на основании результата сравнения вычисленной величины изменения местоположения после расширения с расширенной пороговой областью и
перемещать контент в упомянутом определенном направлении, когда определяется сохранение упомянутого определенного направления,
причем упомянутое определенное направление является одним из горизонтального направления, вертикального направления или нелинейного направления.
Способ приготовления лака | 1924 |
|
SU2011A1 |
АЭРОДИНАМИЧЕСКИЙ ПЫЛЕУЛАВЛИВАЮЩИЙ АППАРАТ | 1994 |
|
RU2112584C1 |
Бесколесный шариковый ход для железнодорожных вагонов | 1917 |
|
SU97A1 |
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС ПЕРЕНОСА И ФИКСАЦИИ ПО НОВОМУ МЕСТУ С ШИРОКИМИ ВОЗМОЖНОСТЯМИ | 2006 |
|
RU2417401C2 |
Авторы
Даты
2018-02-02—Публикация
2013-02-06—Подача