KR20130049293A - 사용자 디바이스에서 스크롤링 방법 및 장치 - Google Patents

사용자 디바이스에서 스크롤링 방법 및 장치 Download PDF

Info

Publication number
KR20130049293A
KR20130049293A KR1020110114226A KR20110114226A KR20130049293A KR 20130049293 A KR20130049293 A KR 20130049293A KR 1020110114226 A KR1020110114226 A KR 1020110114226A KR 20110114226 A KR20110114226 A KR 20110114226A KR 20130049293 A KR20130049293 A KR 20130049293A
Authority
KR
South Korea
Prior art keywords
scroll
frame buffer
area
screen
display
Prior art date
Application number
KR1020110114226A
Other languages
English (en)
Inventor
이상진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110114226A priority Critical patent/KR20130049293A/ko
Priority to US13/668,942 priority patent/US20130117708A1/en
Publication of KR20130049293A publication Critical patent/KR20130049293A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Abstract

본 발명은 스크롤 제어가 가능한 다양한 화면에서 사용자의 스크롤 이벤트에 대해 스크롤 동작을 보다 빠르고 부드럽게 제공할 수 있는 사용자 디바이스에서 다이렉트 스크롤링 방법 및 장치에 관한 것으로, 이러한 본 발명은 사용자 디바이스에서 스크롤링 방법에 있어서, 스크롤 오브젝트에 대한 화면 표시가 요청될 시 해당 스크롤 오브젝트를 추출하는 과정과, 상기 추출된 스크롤 오브젝트의 전체 영역을 프레임 버퍼에 드로잉 하는 과정과, 상기 프레임 버퍼에 드로잉된 스크롤 오브젝트 중 사용자 요청에 따른 일부 영역의 화면을 출력하는 과정을 포함한다.

Description

사용자 디바이스에서 스크롤링 방법 및 장치{METHOD AND APPARATUS FOR SCROLLING IN A USER DEVICE}
본 발명은 사용자 디바이스에서 스크롤링 방법 및 장치에 관한 것으로, 특히 스크롤 제어가 가능한 다양한 화면에서 사용자의 스크롤 이벤트에 대해 스크롤 동작을 보다 빠르고 부드럽게 제공할 수 있는 사용자 디바이스에서 다이렉트 스크롤링 방법 및 장치에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, PDA(Personal Digital Assistant), 전자수첩, 스마트 폰, 태블릿 PC(Personal Computer) 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 사용자 디바이스들이 다양하게 출시되고 있다. 이러한 사용자 디바이스는 급속한 기술 발전을 통해 초기의 단순한 음성 통화 및 단문메시지 전송 기능에서 영상통화, 전자수첩, 촬영, 이메일 송수신, 방송재생, 인터넷, 음악재생, 일정관리, 소셜 네트워크 서비스(SNS, Social Networking Service), 메신저, 사전, 게임 등의 기능과 같이 다양한 기능들을 구비하게 되었다.
한편, 상기와 같은 사용자 디바이스에서는 다양한 기능들에 대한 다양한 화면을 제공할 수 있다. 특히, 사용자 디바이스에서는 메뉴 화면(menu screen) 및 리스트 화면(list screen) 등과 같이 스크롤이 가능한 스크롤 오브젝트(scroll object)를 가지는 화면을 나타낼 수 있다. 상기 스크롤이 가능한 스크롤 오브젝트는 사용자 디바이스가 지원하는 화면 크기보다 큰 크기를 가지며, 사용자의 스크롤 이벤트(scroll event)에 따라 사용자 디바이스의 화면 상에서 스크롤될 수 있다. 이하, 종래에서의 화면 스크롤 동작에 대하여 살펴보기로 한다.
도 1은 종래 기술에 따른 사용자 디바이스에서 지원하는 스크롤 동작 설명을 위해 개략적으로 도시한 도면이다.
상기 도 1에 도시된 바와 같이, 참조번호 10은 사용자 디바이스의 표시부를 나타내고, 참조번호 20은 스크롤 오브젝트(scroll object)를 나타내고, 참조번호 30은 상기 스크롤 오브젝트(20) 중 사용자의 스크롤 이벤트에 따른 스크롤 제어에 의해 가려지는 영역을 나타내고, 참조번호 40은 상기 스크롤 오브젝트(20) 중 사용자의 스크롤 이벤트에 따른 스크롤 제어 후 재사용 되는 영역을 나타내고, 참조번호 50은 사용자의 스크롤 이벤트에 따른 상기 스크롤 오브젝트(20)의 스크롤 제어에 의해 새롭게 리드로잉(redrawing)되는 스크롤 오브젝트의 다른 영역을 나타낸다.
상기 도 1을 참조하면, 먼저 사용자는 포인팅 장치(예컨대, 스크롤 기능을 가지는 물리적인 키, 터치스크린 등)를 이용하여 현재 표시부(10)의 화면에 표시된 스크롤 오브젝트(20)의 스크롤을 위한 스크롤 이벤트를 입력할 수 있다. 그러면, 사용자 디바이스는 상기 포인팅 장치로부터 발생되는 사용자의 스크롤 이벤트 입력에 응답하여 현재 표시부(10)를 통해 화면에 표시중인 스크롤 오브젝트(20)를 스크롤 할 수 있다. 예를 들어, 상기 도 1의 예시와 같이 상기 스크롤 오브젝트(20)는 스크롤 이벤트가 이동되는 거리만큼 좌 방향으로 스크롤 될 수 있다.
이때, 사용자 디바이스는 사용자의 스크롤 이벤트 입력에 응답하여 스크롤 오브젝트를 스크롤 할 시, 상기 스크롤 오브젝트의 다른 영역(50)에 대한 화면 갱신을 위해 표시부(10)의 프레임 버퍼(frame buffer)에 리드로잉 과정을 거치게 된다. 예를 들어, 스크롤 이벤트 입력에 따라 스크롤 오브젝트(20)가 좌 방향으로 일정 거리만큼 이동될 시 한 화면으로 표시되던 상기 스크롤 오브젝트(20)는 스크롤에 의해 가려지는 영역(30)만큼 일정 영역이 화면상에서 사라지게 된다. 즉, 스크롤에 의해 가려지는 영역(30)은 상기 프레임 버퍼에서 제거된다. 그리고 상기 표시부(10)의 프레임 버퍼에서 상기 스크롤 이벤트에 따라 재사용되는 영역(40)을 이동하여 표시부(10)로 전달하고, 상기 스크롤 이벤트에 따라 추가적으로 표시할 상기 스크롤 오브젝트의 다른 영역(50)을 상기 프레임 버퍼에 드로잉 한다. 그리고 상기 프레임 버퍼에 드로잉된 스크롤 오브젝트의 다른 영역(50)을 상기 표시부(10)에 전달하여 표시부(10)의 출력 화면에 대한 최종 갱신을 수행한다.
이와 같이, 종래에서는 포인팅 장치로부터 발생되는 사용자의 스크롤 이벤트 입력에 응답하여 스크롤 가능한 스크롤 오브젝트를 스크롤 할 시, 새로운 영역에 대한 화면 갱신을 위해 하나의 스크롤 오브젝트에 대해서도 프레임 버퍼에 매번 반복적인 드로잉 과정을 수행해야만 한다. 따라서 종래의 스크롤 과정에서는 표시부(10)에 새롭게 드로잉된 결과를 반영하기 위해 버퍼 카피(buffer copy)(예컨대, 저장부의 스크롤 오브젝트에서 새롭게 드로잉 요청된 영역을 프레임 버퍼로 카피)가 매번 발생하게 된다. 따라서 종래의 스크롤 과정에서는 시스템(예컨대, CPU 또는 GPU와 같은 제어부)에 부하를 발생하고, 스크롤 이벤트 입력에 따른 즉각적인 화면 갱신이 어려운 문제점이 있다.
즉, 종래의 스크롤 방법은 사용자의 스크롤 이벤트에 따른 스크롤 시마다 화면 갱신을 수행해야만 하다. 그리고 종래에서는 화면 갱신을 위해 표시부(10)의 프레임 버퍼의 기존 내용을 이동시키고 새롭게 드로잉 되어야 하는 영역을 갱신해야 하는데, 이와 같은 리드로잉 과정에서는 시스템의 연산 처리에 따른 시스템의 부하가 증가될 수 있다. 그리고 이러한 시스템 부하 증가는 스크롤 오브젝트의 복잡도에 따라 더욱 증가하게 되는 문제점이 있다. 또한 종래의 스크롤 과정은 스크롤의 속도 저하를 초래하여 사용자에게 부드러운 스크롤을 제공하지 못하는 문제점이 있다.
본 발명의 목적은 스크롤 오브젝트에 대한 스크롤 이벤트에 응답하여 스크롤 동작을 보다 빠르고 부드럽게 수행할 수 있는 사용자 디바이스에서 스크롤링 방법 및 장치를 제공함에 있다.
본 발명의 다른 목적은 사용자 디바이스에서 스크롤 제어 시마다 발생하는 프레임 버퍼의 이동 및 리드로잉 과정을 제거하여 보다 빠르고 부드러운 스크롤을 지원할 수 있는 사용자 디바이스에서 스크롤링 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 사용자 요청에 따른 스크롤 오브젝트의 최초 생성 시 프레임 버퍼에 상기 스크롤 오브젝트의 전체 영역을 드로잉 하며, 스크롤 이벤트에 따른 스크롤 시 프레임 버퍼의 상기 스크롤 오브젝트에 대한 버퍼 정보만을 갱신하는 것에 의해 빠르고 부드러운 스크롤 화면을 출력할 수 있는 사용자 디바이스에서 스크롤링 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 스크롤 오브젝트의 전체 크기에 따라 프레임 버퍼의 크기를 동적으로 할당하여 스크롤 오브젝트의 전체 영역을 프레임 버퍼에 드로잉 할 수 있는 사용자 디바이스에서 스크롤링 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역 중 스크롤 이벤트에 따라 스크롤되는 특정 영역을 빠르고 부드럽게 출력할 수 있는 사용자 디바이스에서 스크롤링 방법 및 장치를 제공함에 있다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 방법은, 사용자 디바이스에서 스크롤링 방법에 있어서, 스크롤 오브젝트에 대한 화면 표시가 요청될 시 해당 스크롤 오브젝트를 추출하는 과정과, 상기 추출된 스크롤 오브젝트의 전체 영역을 프레임 버퍼에 드로잉 하는 과정과, 상기 프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역 중 사용자 요청에 따른 일부 영역의 화면을 출력하는 과정을 포함한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 방법은, 사용자 디바이스에서 스크롤링 방법에 있어서, 프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역 중 일부 영역이 나타난 상태에서 사용자로부터 스크롤 이벤트를 입력받는 과정과, 상기 스크롤 이벤트에 따른 버퍼 정보를 판단하는 과정과, 상기 프레임 버퍼의 현재 버퍼 정보 갱신에 의해 화면으로 출력할 새로운 표시 영역을 산출하는 과정과, 산출된 표시 영역을 기반으로 화면 출력을 제어하는 과정을 포함한다.
상기와 같은 목적들을 달성하기 위하여 본 발명의 실시 예에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 포함한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 장치는, 사용자 디바이스에 있어서, 스크롤 오브젝트를 저장하는 저장부와, 상기 스크롤 오브젝트의 화면 출력 시 상기 스크롤 오브젝트에 대한 전체 영역이 드로잉 되는 프레임 버퍼와, 상기 프레임 버퍼에 드로잉된 상기 스크롤 오브젝트 및 상기 스크롤 오브젝트의 스크롤에 따라 갱신되는 화면을 출력하는 표시부와, 화면 출력을 위한 상기 스크롤 오브젝트 생성 시 상기 스크롤 오브젝트의 전체 영역을 상기 저장부로부터 추출하고, 추출된 상기 스크롤 오브젝트의 전체 영역을 상기 프레임 버퍼에 드로잉 제어하고, 상기 스크롤 오브젝트의 스크롤 제어 시 상기 프레임 버퍼의 버퍼 정보 갱신을 기반으로 상기 스크롤 오브젝트의 스크롤을 제어하는 제어부를 포함한다.
전술한 바와 같은 내용들은 당해 분야 통상의 지식을 가진 자가 후술되는 본 발명의 구체적인 설명으로부터 보다 잘 이해할 수 있도록 하기 위하여 본 발명의 특징들 및 기술적인 장점들을 다소 넓게 약술한 것이다. 이러한 특징들 및 장점들 이외에도 본 발명의 청구범위의 주제를 형성하는 본 발명의 추가적인 특징들 및 장점들이 후술되는 본 발명의 구체적인 설명으로부터 잘 이해될 것이다.
상술한 바와 같이 본 발명에서 제안하는 사용자 디바이스에서 스크롤링 방법 및 장치에 따르면, 화면 출력을 위한 스크롤 오브젝트 최초 생성 시 프레임 버퍼에 스크롤 오브젝트의 전체 영역을 한 번만 드로잉하고, 그에 따른 스크롤 화면 출력을 제어할 수 있다. 이때, 본 발명에 따르면 상기 스크롤 오브젝트 최초 생성 시 스크롤 오브젝트의 전체 크기를 계산하고, 상기 스크롤 오브젝트의 전체 크기에 따라 표시부의 프레임 버퍼를 구성할 수 있다.
이러한 본 발명에 따르면, 스크롤 오브젝트의 스크롤 시마다 수행하는 새로운 영역에 대한 반복적인 드로잉 과정에 의해 발생되던 종래의 시스템 부하 문제를 현저하게 줄일 수 있다. 이로 인해, 본 발명에 따르면 스크롤 오브젝트에 대한 보다 빠르고 부드러운 스크롤을 제공할 수 있다. 그리고 본 발명에 따르면 종래에서 스크롤 시마다 프레임 버퍼에서 매번 발생하는 스크롤 오브젝트의 갱신을 생략할 수 있으며, 이에 따라 스크롤 기능 지원을 위한 많은 연산량을 줄일 수 있고, 스크롤 연산에 필요한 구조(예컨대, 소프트웨어 구조)를 단순화 할 수 있는 이점이 있다.
이러한 본 발명은 모든 형태의 사용자 디바이스 및 그에 대응하는 다양한 디바이스들에서 구현될 수 있다. 그리고 본 발명에 따르면 사용자 디바이스에서 스크롤 오브젝트의 스크롤을 위한 최적의 환경을 구현하여, 사용자 디바이스의 사용성, 편의성 및 경쟁력을 향상시키는데 기여할 수 있다.
도 1은 종래 기술에 따른 사용자 디바이스에서 지원하는 스크롤 동작 설명을 위해 개략적으로 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 사용자 디바이스의 구성을 개략적으로 도시한 도면이다.
도 3 및 도 4는 본 발명의 실시 예에 따른 사용자 디바이스에서 지원하는 스크롤 동작 설명을 위해 개략적으로 도시한 도면들이다.
도 5는 본 발명의 실시 예에 따른 사용자 디바이스에서 스크롤 오브젝트의 드로잉 동작을 도시한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 사용자 디바이스에서 스크롤 제어 동작을 도시한 흐름도이다.
도 7 및 도 8은 본 발명의 실시 예에 따른 다이렉트 스크롤 동작과 종래의 스크롤 동작의 비교 설명을 위해 개략적으로 도시한 도면이다.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 즉, 하기의 설명에서는 본 발명의 실시 예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
제안하는 본 발명은 사용자 디바이스에서 다이렉트 스크롤링(direct scrolling) 방법 및 장치에 관한 것이다. 본 발명의 실시 예에 따르면 사용자 디바이스에서 스크롤 시마다 매번 발생하는 프레임 버퍼(frame buffer) 내 스크롤 오브젝트(scroll object)의 이동 및 리드로잉(redrawing) 과정을 제거하여 보다 빠르고 부드러운 스크롤 기능을 지원할 수 있다. 본 발명에서 상기 스크롤 오브젝트는 사용자 디바이스의 표시부의 화면 크기보다 큰 영역을 가지면 표시부의 화면 내에서 스크롤이 가능한 화면 데이터를 나타낼 수 있다.
본 발명의 실시 예에 따르면 스크롤 오브젝트의 최초 생성 시 상기 스크롤 오브젝트의 전체 크기에 따라 표시부의 프레임 버퍼의 크기를 동적으로 변경하여 상기 스크롤 오브젝트의 전체 영역이 할당 가능하도록 구성한다. 그리고 스크롤 오브젝트의 전체 크기에 대응하는 프레임 버퍼에 스크롤 오브젝트의 전체 영역을 한 번만 드로잉 할 수 있다. 그리고 사용자의 스크롤 이벤트(scroll event) 입력 시 스크롤 오브젝트의 리드로잉 과정 없이, 프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역 중 스크롤 이벤트에 대응하여 변경되는 특정 영역을 산출하여 표시부의 화면 상에 출력할 수 있다.
이에 따라, 본 발명은 메뉴 화면(menu screen) 및 리스트 화면(list screen) 등과 같은 스크롤 기능을 지원하는 화면에서 스크롤 제어 시마다 수행되던 리드로잉 과정을 생략할 수 있고, 리드로잉 과정 수행에 따른 시스템 부하를 줄일 수 있다. 즉, 본 발명은 포인팅 장치를 이용한 사용자의 스크롤 이벤트 입력에 응답하여 스크롤 오브젝트의 스크롤 시, 새로운 영역에 대한 화면 갱신을 위해 매번 수행하던 프레임 버퍼에 대한 리드로잉 과정을 생략할 수 있다. 이에 따라, 본 발명은 스크롤 오브젝트의 스크롤 시마다 드로잉의 반복 수행에 따라 발생하던 종래의 시스템 부하 문제를 줄일 수 있으며, 보다 빠르고 부드러운 스크롤 기능을 지원할 수 있다.
그러면 이하에서 본 발명의 실시 예에 따른 사용자 디바이스의 구성 및 제어 방법에 대하여 하기 도면들을 참조하여 살펴보기로 한다. 하지만, 본 발명의 실시 예에 따른 사용자 디바이스의 구성 및 제어 방법이 하기에서 기술하는 내용에 제한되거나 한정되는 것은 아니므로 하기의 실시 예에 의거하여 다양한 실시 예들에 적용할 수 있음에 유의하여야 한다.
도 2는 본 발명의 실시 예에 따른 사용자 디바이스의 구성을 개략적으로 도시한 도면이다.
상기 도 2를 참조하면, 본 발명의 사용자 디바이스는 표시부(100), 프레임 버퍼(200), 저장부(300), 그리고 제어부(400)를 포함하여 구성된다. 이 밖에도 상기 사용자 디바이스는 마이크와 스피커를 구비하는 오디오처리부, 디지털 방송(예컨대, DMB(Digital Multimedia Broadcasting)나 DVB(Digital Video Broadcasting)와 같은 이동 방송)의 수신을 위한 디지털 방송 모듈, 피사체의 정적영상 및 동적영상 촬영을 위한 카메라 모듈, 블루투스(BLUETOOTH) 통신, 적외선(IrDA, Infrared Data Association) 통신, RFID(Radio Frequency Identification) 통신, NFC(Near Field Communication) 등과 같은 근거리 무선통신 기반의 통신 기능을 지원하기 위한 적어도 하나의 근거리 통신 모듈, 하드 키(Hard key) 기반의 입력을 지원하기 위한 입력부 및 터치 기반의 입력을 지원하기 위한 터치스크린(touchscreen) 등과 같은 포인팅 장치, 이동통신 기반의 음성통화, 영상통화, 데이터통화 등의 통신 기능을 지원하기 위한 무선주파수(RF, Radio Frequency) 모듈, IP(Internet Protocol) 기반의 인터넷 통신 서비스를 지원하기 위한 통신 모듈, 그리고 상기와 같은 구성들에 전원 공급을 위한 배터리(battery) 등의 구성을 더 포함할 수 있으나, 그들에 대한 설명과 도시는 생략한다.
상기 표시부(100)는 사용자 디바이스의 동작 상태와 관련된 화면을 표시할 수 있다. 예를 들어, 상기 표시부(100)는 사용자 디바이스의 메뉴 화면(menu screen)을 표시하거나, 다양한 어플리케이션들의 실행에 따른 각각의 실행 화면을 표시할 수 있다. 그리고 본 발명에서 상기 표시부(100)는 액정표시장치(LCD, Liquid Crystal Display)가 사용되는 것이 일반적이나, 발광다이오드(LED, Light Emitting Diode), 유기발광다이오드(OLED, Organic LED), 능동형 OLED(AMOLED, Active Matrix OLED) 등과 같은 다른 표시장치가 사용될 수도 있다. 이러한 경우, 상기 표시부(100)는 표시 제어부(LCD Controller)(미도시) 및 표시 패널(LCD Panel)(미도시) 등을 더 포함할 수 있다.
상기 표시 제어부는 상기 프레임 버퍼(200)를 포함할 수 있으며, 상기 제어부(400)로부터 전송된 스크롤 오브젝트의 전체 영역을 상기 프레임 버퍼(200)에 임시 드로잉 하고, 상기 스크롤 오브젝트에 의해 출력될 일부 영역을 상기 표시 패널로 전달할 수 있다. 그러면 상기 표시 패널은 상기 표시 제어부로부터 전달된 상기 스크롤 오브젝트의 일부 영역에 대한 화면 출력을 처리할 수 있다. 또한, 상기 표시 제어부는 상기 제어부(400)에서 스크롤 이벤트에 따른 스크롤 제어에 응답하여, 상기 프레임 버퍼(200)의 현재 버퍼 정보를 갱신할 수 있다. 그리고 표시 제어부는 프레임 버퍼(200)에 드로잉된 스크롤 오브젝트의 전체 영역 중 상기 갱신된 버퍼 정보에 따른 스크롤 오브젝트의 특정 영역을 상기 표시 패널로 전달하여 그의 화면 출력을 처리할 수 있다.
또한 본 발명에서 상기 표시부(100)는 터치 기반의 입력을 지원하는 인터페이스를 구비할 수 있다. 예를 들어, 상기 표시부(100)는 터치스크린 구성에 의해 터치 기반의 다양한 사용자 입력을 지원하고, 사용자 입력에 따른 입력신호를 생성하여 상기 제어부(400)로 전달할 수 있다. 특히, 본 발명에서 상기 표시부(100)는 스크롤이 가능한 스크롤 오브젝트가 화면 상에 표시된 상태에서 사용자의 스크롤 이벤트 입력에 따라 스크롤되는 화면을 적응적으로 나타낼 수 있다.
상기 프레임 버퍼(200)는 상기 표시부(100)를 통해 표시될 화면 데이터(예컨대, 스크롤 오브젝트 등)가 임시로 저장되는 버퍼를 나타낸다. 상기 프레임 버퍼(200)는 제어부(400)의 제어에 따라 저장부(300)로부터 화면 데이터를 카피(copy)하여 이를 표시부(100)로 전달하는 기능을 수행한다. 특히, 본 발명에서 상기 프레임 버퍼(200)의 경우 표시부(100)에 표시 요청되는 화면 데이터(스크롤 오브젝트)의 최초 생성 시 해당 화면 데이터의 전체 영역이 드로잉 될 수 있다. 그리고 앞서 살펴본 바와 같이 상기 프레임 버퍼(200)는 상기 표시부(100)(특히, 표시 제어부)에 포함되어 구성될 수 있다. 또는 상기 프레임 버퍼(200)는 상기 제어부(400)에 포함되어 구성될 수도 있다. 본 발명의 스크롤 오브젝트를 프레임 버퍼(200)에 드로잉 하는 동작 예시에 대해서 후술될 것이다.
상기 저장부(300)는 사용자 디바이스에서 실행되고 처리되는 각종 어플리케이션과 데이터를 저장하며, 하나 이상의 비휘발성 메모리와 휘발성 메모리로 구성될 수 있다. 즉, 본 발명에서 상기 저장부(200)는 ROM(Read Only Memory), 플래시 메모리(flash memory), RAM(Random Access Memory), 내장 하드디스크(HDD, Hard Disk), 외장 하드디스크, 외부 저장매체 등 중 적어도 하나로 구성될 수 있다. 그리고 상기 저장부(300)는 상기 사용자 디바이스의 운영체제, 상기 표시부(100)의 표시 제어 동작과 관련된 프로그램과 데이터, 상기 표시부(100)를 이용한 입력 제어 동작과 관련된 프로그램과 데이터, 사용자 디바이스의 기능 운용과 관련된 프로그램과 데이터, 사용자 디바이스의 스크롤 기능 운용과 관련된 프로그램과 데이터 등을 지속적으로 또는 일시적으로 저장할 수 있다. 그리고 본 발명에서 상기 저장부(300)는 표시부(100)의 화면을 통해 표시되는 화면 데이터(스크롤 오브젝트)를 저장하며, 상기 제어부(400)의 제어 하에 상기 저장된 화면 데이터를 상기 표시부(100)의 프레임 버퍼(200)에 전달할 수 있다.
상기 제어부(400)는 사용자 디바이스의 전반적인 동작을 제어한다. 특히, 상기 제어부(400)는 본 발명의 다이렉트 스크롤 기능 운용과 관련된 동작을 제어할 수 있다. 즉, 상기 제어부(400)는 화면 데이터의 스크롤 제어 시 프레임 버퍼(200) 내의 이동 및 리드로잉 없이 다이렉트 스크롤링을 제어할 수 있다.
예를 들어, 상기 제어부(400)는 화면 표시를 위한 스크롤 오브젝트 생성 시 상기 스크롤 오브젝트의 전체 크기에 따라 상기 프레임 버퍼(200)의 크기를 동적으로 변경하여 할당하고, 상기 스크롤 오브젝트의 전체 영역을 상기 프레임 버퍼(200)에 드로잉 할 수 있다. 그리고 상기 제어부(400)는 포인팅 장치(예컨대, 스크롤 기능을 가지는 물리적인 키, 마우스 또는 터치스크린 등)로부터 현재 표시된 스크롤 데이터의 스크롤을 위한 스크롤 이벤트 입력을 감지할 시, 상기 프레임 버퍼(200)의 스크롤 오브젝트의 특정 영역이 표시부(100)에 출력되도록 하는 일련의 동작을 제어할 수 있다.
즉, 상기 제어부(400)는 사용자 요청에 따라 화면 표시를 위한 스크롤 오브젝트의 생성 시 상기 스크롤 오브젝트의 전체 크기에 따라 표시부(100)의 프레임 버퍼의 크기를 동적으로 변경하여 상기 스크롤 오브젝트의 전체 영역이 할당 가능하도록 구성할 수 있다. 그리고 상기 제어부(400)는 스크롤 오브젝트의 전체 크기에 대응하는 프레임 버퍼에 상기 스크롤 오브젝트의 전체 영역을 한 번만 드로잉 할 수 있다. 그리고 상기 제어부(400)는 사용자의 스크롤 이벤트에 따른 스크롤 오브젝트의 스크롤 제어 시 상기 프레임 버퍼(200)의 리드로잉 과정 없이 상기 프레임 버퍼(200)의 버퍼 정보 갱신에 의해 이전에 드로잉된 스크롤 오브젝트의 전체 영역 중 스크롤 이벤트에 대응하여 변경되는 특정 영역을 추출하여 표시부(100)의 화면 출력을 갱신할 수 있다.
이와 같이, 상기 제어부(400)는 본 발명의 기능 운용에 대한 전반적인 동작을 제어할 수 있으며, 상기 제어부(400)의 상세 제어 동작에 대해 후술하는 도면들을 참조한 사용자 디바이스의 동작 예시 및 그의 제어 방법에서 설명될 것이다.
그리고 상기 제어부(400)는 상기의 기능 외에 상기 사용자 디바이스의 통상적인 기능과 관련된 각종 동작을 제어할 수 있다. 예를 들어, 상기 제어부(400)는 특정 어플리케이션 실행 시 그의 운용 및 화면 표시를 제어할 수 있다. 또한 제어부(400)는 터치 기반의 입력 인터페이스에서 지원하는 다양한 터치 이벤트 입력에 대응하는 입력신호를 수신하고 그에 따른 기능 운용을 제어할 수 있다. 또한 제어부(400)는 유선통신 기반 또는 무선통신 기반으로 각종 데이터의 송수신을 제어할 수 있다.
한편, 상기 도 1에 나타낸 본 발명의 사용자 디바이스는 본 발명의 기능을 지원하는 모든 정보통신기기, 멀티미디어기기 및 그에 대한 응용기기를 포함할 수 있다. 예를 들어, 상기 사용자 디바이스는 다양한 통신 시스템에 대응되는 각 통신 프로토콜들(communication protocols)에 의거하여 동작하는 이동통신 단말기를 비롯하여, 태블릿 PC(Personal Computer), 스마트 폰(Smart Phone), 디지털 카메라, PMP(Portable Multimedia Player), 미디어 플레이어(Media Player), 휴대게임단말, 랩톱 컴퓨터 및 PDA(Personal Digital Assistant) 등의 디바이스를 포함할 수 있다. 아울러, 본 발명의 기능 제어 방법은 디지털 TV(Digital Television), DS(Digital Signage), LFD(Large Format Display), 랩톱 컴퓨터 등과 같인 다양한 디스플레이 디바이스에 적용되어 운용될 수 있다.
도 3 및 도 4는 본 발명의 실시 예에 따른 사용자 디바이스에서 지원하는 스크롤 동작 설명을 위해 개략적으로 도시한 도면들이다.
상기 도 3 및 도 4에 도시된 바와 같이, 참조번호 100은 사용자 디바이스의 표시부를 나타내고, 참조번호 150은 스크롤 오브젝트의 전체 영역을 나타낸다.
상기 도 3 및 도 4를 참조하면, 먼저 사용자 디바이스는 사용자 요청에 따른 스크롤 오브젝트 생성 시 상기 표시부(100)의 화면 크기에 맞추어 스크롤 오브젝트의 일부 영역(예컨대, 참조번호 155와 같이 현재 화면에 표시되는 영역)만을 저장부(300)로부터 추출하는 것이 아니라, 상기 스크롤 오브젝트의 전체 영역(150)을 저장부(300)로부터 추출할 수 있다.
그리고 사용자 디바이스는 상기 저장부(300)로부터 추출된 스크롤 오브젝트의 전체 영역(150)을 프레임 버퍼(200)에 드로잉 하고, 드로잉된 스크롤 오브젝트의 전체 영역(150) 중 현재 화면 표시가 요청된 특정 영역(155)을 표시부(100)의 화면 상에 나타낼 수 있다. 이때, 본 발명에 따르면 사용자 디바이스는 상기 스크롤 오브젝트의 전체 영역(150)에 따른 전체 크기를 계산하고, 계산된 전체 크기에 따라 프레임 버퍼(200)의 크기를 동적으로 변경하여 상기 스크롤 오브젝트의 전체 영역(150)을 프레임 버퍼(200)에 드로잉 할 수 있다.
그리고 상기와 같이 프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역(150) 중 일부 영역(155)이 나타난 상태에서, 사용자는 포인팅 장치(예컨대, 스크롤 기능을 가지는 물리적인 키, 마우스(mouse) 또는 터치스크린 등)를 이용하여 스크롤 오브젝트의 스크롤을 위한 스크롤 이벤트를 입력할 수 있다. 그러면, 사용자 디바이스는 상기 포인팅 장치로부터 발생되는 사용자의 스크롤 이벤트에 응답하여 현재 표시부(100)를 통해 일부 영역(155)을 표시 중인 스크롤 오브젝트를 스크롤 할 수 있다. 예를 들어, 상기 도 3 및 도 4의 예시와 같이 상기 스크롤 오브젝트는 스크롤 이벤트가 이동되는 거리(D)만큼 좌 방향으로 스크롤 될 수 있다.
이때, 사용자 디바이스는 상기 스크롤 이벤트에 따른 스크롤 오브젝트의 스크롤 시, 상기 프레임 버퍼(200)에 이전에 드로잉된 스크롤 오브젝트의 전체 영역(150) 중 스크롤 이벤트에 대응하여 이동된 거리 값(D)(또는 좌표 값)을 식별하고, 그에 대응하는 특정 영역을 산출할 수 있다. 여기서, 상기 스크롤 이벤트에 대응하여 상기 특정 영역을 산출하는 방식에 대한 예시를 살펴보면 아래의 <수학식 1>과 같이 나타낼 수 있다.
Figure pat00001
여기서, 상기 <수학식 1>에서, 상기 X offset과 상기 Y offset은 상기 도 3에 나타낸 바와 같이 현재 화면에 표시된 일부 영역의 X축의 시작 좌표 및 Y축의 시작 좌표인 (X, Y)를 나타낸다. 상기 dx 및 dy는 상기 도 4에 나타낸 바와 같이 상기 스크롤 이벤트에 대응하여 상기 스크롤 오브젝트의 영역이 X축으로 이동된 X축의 이동 거리 및 Y축으로 이동된 Y축의 이동 거리를 각각 나타낸다. 즉, 상기 dx는 상기 포인팅 장치에 의한 X축의 이동 값을 나타내고, 상기 dy는 상기 포인팅 장치에 의한 Y축의 이동 값을 나타낸다. 여기서, 상기 도 3 및 도 4의 예시에서는 Y축으로의 이동이 없는 경우임에 따라 Y축 방향으로의 이동 거리는 "0"일 수 있다. 그리고 상기 new X offset 및 new Y offset은 상기 스크롤 이벤트에 대응하여 이동된 X축의 새로운 좌표 및 Y축의 새로운 좌표를 각각 나타낸다.
즉, 상기 <수학식 1>에 나타낸 바와 같이, 스크롤 이벤트에 따라 이동되어 표시되는 새로운 특정 영역은 현재 표시된 일부 영역의 X축 및 Y축(X, Y)을 기준으로 X축의 이동 값(dx) 및 Y축의 이동 값(dy)의 합산에 의해 결정될 수 있다. 즉, 상기 프레임 버퍼(200)의 현재 버퍼 정보를 스크롤 이벤트에 따라 스크롤되는 거리만큼 설정하는 것에 의해 갱신할 수 있다.
그리고 사용자 디바이스는 상기 스크롤 오브젝트의 전체 영역(150) 중 산출된 특정 영역을 표시부(100)에 출력할 수 있다. 즉, 사용자의 스크롤 이벤트 입력에 의해 스크롤 발생 시 프레임 버퍼(200)의 현재 버퍼 정보(예컨대, 상기 dx 및 dy가 반영되기 이전인 좌표 값 (X, Y))의 갱신(예컨대, 상기 (X, Y)에 상기 dx 및 dy가 반영된 스크롤 이벤트의 스크롤 이동 거리가 반영된 좌표 값 (new X, new Y))을 이용하여 그의 출력을 제어할 수 있다. 이에 대한 구체적인 동작 예시에 대해 후술되며, 이러한 본 발명에 따르면 스크롤 오브젝트의 스크롤 시 리드로잉 과정을 생략함으로써 시스템 부하 감소 및 부드러운 스크롤 화면을 제공할 수 있다.
한편, 본 발명의 실시 예에서는 스크롤 오브젝트가 가로 방향으로만 확장된 형태의 예시를 나타내었으나, 본 발명의 스크롤 오브젝트는 세로 방향으로 확장된 형태이거나, 가로 및 세로 모든 방향으로 확장된 형태를 포함할 수 있다. 따라서 스크롤 이벤트는 앞서의 예시와 같이 좌우의 가로 방향 이동에 따른 X축의 값만 변화되거나, 상하의 세로 방향 이동에 따른 Y축의 값만 변화되거나, 상하좌우의 가로 및 세로 방향 이동에 따른 X축 및 Y축의 모든 값이 변화될 수 있다.
도 5는 본 발명의 실시 예에 따른 사용자 디바이스에서 스크롤 오브젝트의 드로잉 동작을 도시한 흐름도이다.
상기 도 5를 참조하면, 먼저 사용자 디바이스의 제어부(400)는 특정 스크롤 오브젝트에 대한 화면 표시가 요청(501단계)될 시, 해당 스크롤 오브젝트를 추출할 수 있다(503단계). 예를 들어, 사용자는 사용자 디바이스의 포인팅 장치(예컨대, 물리적인 키 또는 터치스크린 등)를 이용하여 특정 메뉴 화면 표시를 위한 사용자 입력을 발생할 수 있다. 그러면, 제어부(400)는 상기 사용자 입력에 응답하여 사용자로부터 요청된 화면을 판단하고 그에 대응하는 스크롤 오브젝트를 저장부(300)로부터 추출할 수 있다. 이때, 제어부(400)는 사용자 요청에 따른 화면 표시를 위한 상기 스크롤 오브젝트의 추출 시 표시부(100)의 화면 크기에 맞추어 스크롤 오브젝트의 일부 영역만을 추출하는 것이 아니라, 상기 현재 표시부(100)를 통해 표시되는 스크롤 오브젝트의 일부 영역을 포함하는 스크롤 오브젝트에 대한 전체 영역을 추출할 수 있다.
다음으로, 상기 제어부(400)는 상기 추출된 스크롤 오브젝트의 전체 영역을 계산할 수 있다(505단계). 그리고 상기 제어부(400)는 상기 스크롤 오브젝트의 전체 영역의 크기에 따라 프레임 버퍼(200)의 크기를 할당할 수 있다(507단계). 예를 들어, 상기 제어부(400)는 사용자 요청에 따른 화면 표시 시 추출되는 스크롤 오브젝트의 전체 크기에 따라 프레임 버퍼(200)의 크기를 동적으로 가변하여 프레임 버퍼(200)를 운용할 수 있다.
다음으로, 상기 제어부(400)는 상기 프레임 버퍼(200)에 상기 스크롤 오브젝트의 전체 영역을 드로잉 할 수 있다(509단계). 그리고 상기 제어부(400)는 상기 프레임 버퍼(200)에 드로잉된 스크롤 오브젝트 중 사용자 요청에 따른 일부 영역을 표시부(100)로 전달하여 그의 화면 출력을 제어할 수 있다(511단계).
도 6은 본 발명의 실시 예에 따른 사용자 디바이스에서 스크롤 제어 동작을 도시한 흐름도이다.
상기 도 6을 참조하면, 먼저 상기 도 5를 참조한 설명 부분에서 설명한 바와 같이 프레임 버퍼(200)에 스크롤 오브젝트의 전체 영역이 드로잉 되고, 표시부(100)를 통해 상기 스크롤 오브젝트의 전체 영역 중 일부 영역이 표시된 상태를 가정한다. 이러한 예시가 상기 도 3 및 도 4에 나타나 있다.
다음으로, 사용자 디바이스의 제어부(400)는 상기와 같이 프레임 버퍼(200)에 드로잉된 스크롤 오브젝트의 전체 영역 중 일부 영역이 나타난 상태에서 사용자로부터 스크롤 이벤트 입력을 감지할 수 있다(601단계). 예를 들어, 사용자가 포인팅 장치를 이용하여 상기 스크롤 오브젝트의 스크롤 제어를 위한 스크롤 이벤트를 입력할 시, 상기 포인팅 장치는 그에 따른 입력신호를 상기 제어부(400)로 전달할 수 있다. 그러면, 상기 제어부(400)는 상기 포인팅 장치로부터 전달된 입력신호에 따라 상기 스크롤 이벤트 입력을 감지할 수 있다.
다음으로, 제어부(400)는 스크롤 이벤트 입력을 감지할 시 상기 프레임 버퍼(200)의 현재 버퍼 정보(예컨대, 좌표 값)를 판단할 수 있다(603단계). 그리고 제어부(400)는 상기 프레임 버퍼(200)의 현재 버퍼 정보와 상기 스크롤 이벤트의 스크롤 이동 거리에 따라 표시부(100)의 화면으로 출력할 새로운 표시 영역을 산출할 수 있다(605단계). 이때, 상기 제어부(400)는 프레임 버퍼(200)에 이전에 드로잉된 스크롤 오브젝트의 전체 영역 중 상기 현재 버퍼 정보에가 갱신된 버퍼 정보의 특정 영역을 표시부(100)의 화면으로 출력할 상기 새로운 표시 영역을 산출할 수 있다. 상기 갱신된 버퍼 정보는 상기 프레임 버퍼(200)의 현재 버퍼 정보가 상기 스크롤 이벤트에 따라 스크롤 이동된 거리만큼 갱신되는 좌표 값 (new X, new Y)을 나타낼 수 있다. 그리고 상기 제어부(400)는 산출된 새로운 표시 영역을 기반으로 화면 출력을 제어할 수 있다(607단계).
예를 들어, 제어부(400)는 스크롤 이벤트 입력에 응답하여 스크롤 오브젝트를 스크롤 제어할 시, 상기 프레임 버퍼(200)에 이전에 드로잉된 스크롤 오브젝트의 전체 영역 중 스크롤 이벤트에 대응하여 이동된 거리 값(D)(또는 좌표 값)을 식별하고, 식별된 거리 값(D)(또는 좌표 값)을 기반으로 표시부(100)의 한 화면에 표시할 특정 영역을 산출하여 상기 새로운 표시 영역으로 결정할 수 있다. 이때, 상기 새로운 표시 영역 산출은 앞서 <수학식 1>을 참조한 설명 부분에서 설명한 바에 의하여 산출될 수 있다. 즉, 상기 제어부(400)는 스크롤 이벤트에 따른 새로운 스크롤 오브젝트에 의한 프레임 버퍼(200)의 갱신이 아니라, 프레임 버퍼(200)의 현재 버퍼 정보를 스크롤 이동 거리만큼 설정하는 것과 같이 프레임 버퍼(200)의 현재 버퍼 정보를 갱신하고 갱신된 버퍼 정보를 기준으로 화면 표시를 제어할 수 있다. 상기 제어부(400)는 버퍼 정보 갱신에 따른 좌표 값(new X, new Y)을 표시부(100)의 화면 표시 시작 좌표(0, 0)로 맞추어 화면 표시를 제어할 수 있다.
여기서, 상기 제어부(400)는 상기 프레임 버퍼(200)에 드로잉된 스크롤 오브젝트에 대한 스크롤 제어 시, 상기와 같이 산출된 버퍼 정보를 기반으로 화면 출력을 제어할 것을 상기 표시부(100)의 표시 제어부로 전달할 수 있다. 그러면 상기 표시 제어부는 상기 제어부(400)의 제어에 따라 상기 프레임 버퍼(200)에서 버퍼 정보를 갱신하고 스크롤 오브젝트의 특정 영역을 표시 패널로 전달하여 그의 화면 출력을 처리할 수 있다.
도 7 및 도 8은 본 발명의 실시 예에 따른 다이렉트 스크롤 동작과 종래의 스크롤 동작의 비교 설명을 위해 개략적으로 도시한 도면이다.
상기 도 7 및 도 8에 도시된 바와 같이, 상기 도 7은 종래에서 스크롤 오브젝트(S)를 프레임 버퍼(F)에 드로잉 하는 동작 설명을 위한 예를 도시한 도면이고, 상기 도 8은 본 발명에서 스크롤 오브젝트(S)를 프레임 버퍼(F)에 드로잉 하는 동작 설명을 위한 예를 도시한 도면이다.
그리고 상기 도 7 및 도 8에서 하나의 스크롤 오브젝트(S)는 "S1 영역, S2 영역, S3 영역"과 같이 3개의 영역으로 이루어진 것을 가정한다. 또한, 이와 같이 3개의 영역들(S1 영역, S2 영역, S3 영역)을 하나의 전체 영역으로 가지는 스크롤 오브젝트(S)에서 사용자 요청에 따라 "S1 영역"이 최초 화면으로 표시되고, 스크롤 이벤트에 따라 각 영역들 간 스크롤(예컨대, "S1 영역 -> S2 영역 -> S3 영역" 순의 스크롤)이 이루어지는 것을 가정한다.
그리고 상기 도 7 및 도 8에서는 그의 도시 및 설명은 생략하였으나, 스크롤 이벤트에 따른 스크롤 시 스크롤 오브젝트에서 재사용되는 역역에 대해서는 설명의 편의상 생략하기로 한다. 이러한 경우, 상기 도 7 및 도 8은 복수의 페이지 단위로 이루어진 스크롤 오브젝트에 대한 스크롤 동작의 예시에 해당할 수 있다.
먼저 상기 도 7에 나타낸 바와 같이, 종래에서는 "S1 영역, S2 영역, S3 영역"이 하나의 전체 영역으로 이루어진 스크롤 오브젝트(S)에서 사용자의 "S1 영역" 표시 요청 시 상기 스크롤 오브젝트(S)의 "S1 영역"을 프레임 버퍼(F)에 드로잉(1차 드로잉) 한다. 그리고 프레임 버퍼(F)에 드로잉된 "S1 영역"을 표시부(100)에 전달하여 그의 화면을 출력할 수 있다.
다음으로, "S1 영역"이 표시된 상태에서 사용자의 스크롤 이벤트에 의해 "S2 영역"으로의 스크롤이 요청될 시 프레임 버퍼(F)에 드로잉된 "S1 영역"을 제거한 후 "S2 영역"을 프레임 버퍼(F)에 드로잉(2차 드로잉) 한다. 그리고 프레임 버퍼(F)에 드로잉된 "S2 영역"을 표시부(100)에 전달하여 그의 화면을 갱신할 수 있다.
다음으로, "S2 영역"이 표시된 상태에서 사용자의 스크롤 이벤트에 의해 "S3 영역"으로의 스크롤이 요청될 시 프레임 버퍼(F)에 드로잉된 "S2 영역"을 제거한 후 "S3 영역"을 프레임 버퍼(F)에 드로잉(3차 드로잉) 한다. 그리고 프레임 버퍼(F)에 드로잉된 "S3 영역"을 표시부(100)에 전달하여 그의 화면을 갱신할 수 있다.
이와 같이, 종래에서는 스크롤 시마다 매번 프레임 버퍼(F)의 스크롤 오브젝트 영역의 이동 및 리드로잉 과정을 반복(예컨대, 3번의 드로잉 과정) 수행하게 된다. 이에 따라, 종래에서는 스크롤 시마다 매번 수행되는 이동 및 리드로잉 과정에 의해 시스템 부하가 증가되며, 이는 스크롤 오브젝트의 복잡도에 따라 그 부하는 보다 증가하게 된다. 결과적으로, 종래에서는 스크롤의 속도 저하를 초래하여 사용자에게 부드러운 스크롤을 지원하지 못하는 문제점이 있다.
반면, 상기 도 8에 나타낸 바와 같이, 본 발명에서는 "S1 영역, S2 영역, S3 영역"이 하나의 전체 영역으로 이루어진 스크롤 오브젝트(S)에서 사용자의 "S1 영역" 표시 요청 시 상기 스크롤 오브젝트(S)의 전체 영역(즉, S1 영역 내지 S3 영역)을 프레임 버퍼(F)에 드로잉 한다. 이때, 상기 스크롤 오브젝트(S)의 전체 영역의 크기에 따라 프레임 버퍼(F)의 크기를 재할당 할 수 있다. 그리고 프레임 버퍼(F)에 드로잉된 전체 영역 중 사용자 요청에 따른 "S1 영역"을 표시부(100)에 전달하여 그의 화면을 출력할 수 있다.
다음으로, "S1 영역"이 표시된 상태에서 사용자의 스크롤 이벤트에 의해 "S2 영역"으로의 스크롤이 요청될 시 상기 프레임 버퍼(F)에 드로잉된 스크롤 오브젝트(S)의 전체 영역 중 스크롤 이벤트에 대응하여 이동된 거리 값(D)(또는 좌표 값)(예컨대, "S2 영역"의 시작 좌표 값)을 표시부(100)의 화면 표시 시작 좌표(0, 0)로 갱신하여 그의 화면을 출력할 수 있다.
다음으로, "S2 영역"이 표시된 상태에서 사용자의 스크롤 이벤트에 의해 "S3 영역"으로의 스크롤이 요청될 시 상기 프레임 버퍼(F)에 드로잉된 스크롤 오브젝트(S)의 전체 영역 중 스크롤 이벤트에 대응하여 이동된 "S3 영역"의 시작 좌표 값을 표시부(100)의 화면 표시 시작 좌표(0, 0)로 갱신하여 그의 화면을 출력할 수 있다.
이와 같이, 본 발명에서는 최초 스크롤 오브젝트 생성 시 스크롤 오브젝트(S)의 전체 영역을 프레임 버퍼(F)에 한 번만 드로잉 하고, 프레임 버퍼(F)에 드로잉된 스크롤 오브젝트의 전체 영역 중 스크롤 이벤트에 따라 이동되는 버퍼 정보만을 갱신하여 스크롤에 따른 화면 출력을 지원할 수 있다. 이에 따라 스크롤 시마다 매번 리드로잉을 수행하는 종래에 비해 시스템 부하를 줄이면서 사용자에게 빠른 스크롤 및 부드러운 스크롤을 지원할 수 있다.
한편, 상술한 바와 같은 본 발명의 사용자 디바이스에서 다이렉트 스크롤링 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 상기 컴퓨터로 판독 가능한 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media), CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
그리고 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 표시부
200: 프레임 버퍼
300: 저장부
400: 제어부
150: 스크롤 오브젝트
155: 스크롤 오브젝트의 일부 영역

Claims (19)

  1. 사용자 디바이스에서 스크롤링 방법에 있어서,
    스크롤 오브젝트에 대한 화면 표시가 요청될 시 해당 스크롤 오브젝트를 추출하는 과정과,
    상기 추출된 스크롤 오브젝트의 전체 영역을 프레임 버퍼에 드로잉 하는 과정과,
    상기 프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역 중 사용자 요청에 따른 일부 영역의 화면을 출력하는 과정을 포함하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  2. 제1항에 있어서,
    상기 일부 영역이 화면으로 출력된 상태에서 사용자로부터 스크롤 이벤트 입력을 감지하는 과정과,
    상기 프레임 버퍼의 현재 버퍼 정보를 판단하는 과정과,
    상기 프레임 버퍼의 현재 버퍼 정보 갱신에 의해 화면으로 출력할 새로운 표시 영역을 산출하는 과정과,
    산출된 표시 영역을 기반으로 화면 출력을 갱신하는 과정을 포함하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  3. 제2항에 있어서, 상기 표시 영역을 산출하는 과정은
    상기 프레임 버퍼의 현재 버퍼 정보와 상기 스크롤 이벤트의 스크롤 이동 거리에 따라 갱신되는 버퍼 정보를 기반으로 상기 새로운 표시 영역을 산출하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  4. 제3항에 있어서, 상기 표시 영역을 산출하는 과정은
    상기 스크롤 이벤트 입력에 응답하여 상기 스크롤 오브젝트를 스크롤 시, 상기 스크롤 이벤트에 대응하여 이동된 거리 값 또는 좌표 값을 식별하는 과정과,
    상기 식별된 거리 값 또는 좌표 값을 기반으로 표시부의 한 화면에 표시할 특정 영역을 산출하여 상기 표시 영역으로 결정하는 과정을 포함하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  5. 제4항에 있어서, 상기 표시 영역을 산출하는 과정은
    상기 스크롤 이벤트에 따라 이동되어 표시되는 새로운 특정 영역은 현재 표시된 일부 영역의 X축 및 Y축을 기준으로 X축의 이동 값(dx) 및 Y축의 이동 값(dy)의 합산하는 아래의 <수학식>에 의해 결정하며,
    <수학식>
    new X offset = X offset + dx
    new Y offset = Y offset + dy
    상기 X offset과 상기 Y offset은 현재 화면에 표시된 일부 영역의 X축의 시작 좌표 및 Y축의 시작 좌표를 나타내고, 상기 dx 및 dy는 상기 스크롤 오브젝트의 X축의 이동 값 및 Y축의 이동 값을 각각 나타내고, 상기 new X offset 및 new Y offset은 상기 스크롤 이벤트에 대응하여 이동된 X축의 새로운 좌표 및 Y축의 새로운 좌표를 각각 나타내는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  6. 제2항에 있어서, 상기 드로잉 하는 과정은
    상기 스크롤 오브젝트의 전체 영역을 저장부로부터 추출하는 과정과,
    상기 추출된 스크롤 오브젝트의 전체 영역을 계산하는 과정과,
    상기 스크롤 오브젝트의 전체 영역의 크기에 따라 프레임 버퍼의 크기를 할당하는 과정과,
    상기 프레임 버퍼에 상기 스크롤 오브젝트의 전체 영역을 드로잉 하는 과정을 포함하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  7. 사용자 디바이스에서 스크롤링 방법에 있어서,
    프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역 중 일부 영역이 나타난 상태에서 사용자로부터 스크롤 이벤트를 입력받는 과정과,
    상기 스크롤 이벤트에 따른 버퍼 정보를 판단하는 과정과,
    상기 프레임 버퍼의 현재 버퍼 정보 갱신에 의해 화면으로 출력할 새로운 표시 영역을 산출하는 과정과,
    산출된 표시 영역을 기반으로 화면 출력을 제어하는 과정을 포함하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  8. 제7항에 있어서, 상기 스크롤 이벤트를 입력받는 과정은
    상기 프레임 버퍼에 스크롤 오브젝트의 전체 영역을 드로잉 하는 과정과,
    상기 프레임 버퍼에 드로잉된 상기 스크롤 오브젝트의 전체 영역 중 일부 영역을 표시하는 과정과,
    상기 스크롤 오브젝트의 일부 영역이 표시된 상태에서 상기 스크롤 이벤트를 입력받는 과정을 포함하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  9. 제7항에 있어서, 상기 표시 영역을 산출하는 과정은
    상기 프레임 버퍼의 현재 버퍼 정보와 상기 스크롤 이벤트의 스크롤 이동 거리에 따라 갱신되는 버퍼 정보를 기반으로 상기 새로운 표시 영역을 산출하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  10. 제9항에 있어서, 상기 표시 영역을 산출하는 과정은
    상기 스크롤 이벤트 입력에 응답하여 상기 스크롤 오브젝트를 스크롤 시, 상기 스크롤 이벤트에 대응하여 이동된 거리 값 또는 좌표 값을 식별하는 과정과,
    상기 식별된 거리 값 또는 좌표 값을 기반으로 표시부의 한 화면에 표시할 특정 영역을 산출하여 상기 표시 영역으로 결정하는 과정을 포함하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  11. 제10항에 있어서, 상기 표시 영역을 산출하는 과정은
    상기 스크롤 이벤트에 따라 이동되어 표시되는 새로운 특정 영역은 현재 표시된 일부 영역의 X축 및 Y축을 기준으로 X축의 이동 값(dx) 및 Y축의 이동 값(dy)의 합산에 의해 결정하는 것을 특징으로 하는 사용자 디바이스에서 스크롤링 방법.
  12. 사용자 디바이스에 있어서,
    스크롤 오브젝트를 저장하는 저장부와,
    상기 스크롤 오브젝트의 화면 출력 시 상기 스크롤 오브젝트에 대한 전체 영역이 드로잉 되는 프레임 버퍼와,
    상기 프레임 버퍼에 드로잉된 상기 스크롤 오브젝트 및 상기 스크롤 오브젝트의 스크롤에 따라 갱신되는 화면을 출력하는 표시부와,
    화면 출력을 위한 상기 스크롤 오브젝트 생성 시 상기 스크롤 오브젝트의 전체 영역을 상기 저장부로부터 추출하고, 추출된 상기 스크롤 오브젝트의 전체 영역을 상기 프레임 버퍼에 드로잉 제어하고, 상기 스크롤 오브젝트의 스크롤 제어 시 상기 프레임 버퍼의 버퍼 정보 갱신을 기반으로 상기 스크롤 오브젝트의 스크롤을 제어하는 제어부를 포함하는 것을 특징으로 하는 사용자 디바이스.
  13. 제12항에 있어서, 상기 표시부는
    상기 제어부로부터 전송된 상기 스크롤 오브젝트의 전체 영역을 상기 프레임 버퍼에 드로잉 하고, 상기 스크롤 오브젝트에 의해 출력될 일부 영역을 상기 표시 패널로 전달하는 표시 제어부와,
    상기 표시 제어부로부터 전달되는 상기 스크롤 오브젝트의 일부 영역에 대한 화면 표시를 처리하는 표시 패널을 포함하는 것을 특징으로 하는 사용자 디바이스.
  14. 제13항에 있어서, 상기 표시 제어부는
    상기 제어부에 의한 스크롤 제어에 응답하여, 상기 프레임 버퍼의 현재 버퍼 정보를 갱신하고, 상기 프레임 버퍼에 드로잉된 스크롤 오브젝트의 전체 영역 중 상기 갱신된 버퍼 정보에 따른 스크롤 오브젝트의 특정 영역을 상기 표시 패널로 전달하여 그의 화면 출력을 처리하는 것을 특징으로 하는 사용자 디바이스.
  15. 제13항에 있어서, 상기 제어부는
    상기 스크롤 이벤트가 입력될 시 상기 프레임 버퍼의 현재 버퍼 정보를 판단하고, 상기 프레임 버퍼의 현재 버퍼 정보 갱신에 의해 화면으로 출력할 새로운 표시 영역을 산출하며, 산출된 표시 영역을 기반으로 화면 출력을 갱신하는 것을 특징으로 하는 사용자 디바이스.
  16. 제15항에 있어서, 상기 제어부는
    상기 프레임 버퍼의 현재 버퍼 정보와 상기 스크롤 이벤트의 스크롤 이동 거리에 따라 갱신된느 버퍼 정보를 기반으로 상기 새로운 표시 영역을 산출하는 것을 특징으로 하는 사용자 디바이스.
  17. 제15항에 있어서, 상기 제어부는
    상기 스크롤 이벤트 입력에 응답하여 상기 스크롤 오브젝트를 스크롤 시, 상기 스크롤 이벤트에 대응하여 이동된 거리 값 또는 좌표 값을 식별하고, 상기 식별된 거리 값 또는 좌표 값을 기반으로 표시부의 한 화면에 표시할 특정 영역을 산출하여 상기 표시 영역으로 결정하는 것을 특징으로 하는 사용자 디바이스.
  18. 제17항에 있어서, 상기 제어부는
    상기 스크롤 이벤트에 따라 이동되어 표시되는 새로운 특정 영역은 현재 표시된 일부 영역의 X축 및 Y축을 기준으로 X축의 이동 값(dx) 및 Y축의 이동 값(dy)의 합산에 의해 결정하는 것을 특징으로 하는 사용자 디바이스.
  19. 제15항에 있어서, 상기 제어부는
    상기 저장부로부터 추출된 상기 스크롤 오브젝트의 전체 영역을 계산하고, 상기 스크롤 오브젝트의 전체 영역의 크기에 따라 상기 프레임 버퍼의 크기를 할당한 후, 상기 프레임 버퍼에 상기 스크롤 오브젝트의 전체 영역을 드로잉 제어 하는 것을 특징으로 하는 사용자 디바이스.
KR1020110114226A 2011-11-04 2011-11-04 사용자 디바이스에서 스크롤링 방법 및 장치 KR20130049293A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110114226A KR20130049293A (ko) 2011-11-04 2011-11-04 사용자 디바이스에서 스크롤링 방법 및 장치
US13/668,942 US20130117708A1 (en) 2011-11-04 2012-11-05 Scroll method and apparatus of user device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110114226A KR20130049293A (ko) 2011-11-04 2011-11-04 사용자 디바이스에서 스크롤링 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20130049293A true KR20130049293A (ko) 2013-05-14

Family

ID=48224633

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110114226A KR20130049293A (ko) 2011-11-04 2011-11-04 사용자 디바이스에서 스크롤링 방법 및 장치

Country Status (2)

Country Link
US (1) US20130117708A1 (ko)
KR (1) KR20130049293A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230105534A (ko) * 2022-01-04 2023-07-11 광운대학교 산학협력단 프레임 확장을 통한 렌더링 최소화 방법 및 프로그램과, 동 프로그램이 기록된, 컴퓨터 판독 가능한 기록 매체

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852759B2 (en) 2014-10-25 2017-12-26 Yieldmo, Inc. Methods for serving interactive content to a user
USD766315S1 (en) * 2014-11-28 2016-09-13 Samsung Electronics Co., Ltd. Display screen or portion thereof with an animated graphical user interface
USD862505S1 (en) * 2015-10-02 2019-10-08 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD854557S1 (en) 2015-10-02 2019-07-23 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
JP7193797B2 (ja) * 2018-11-06 2022-12-21 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050072437A (ko) * 2002-10-16 2005-07-11 톰슨 라이센싱 소시에떼 아노님 스크롤 절차가 수행될 수 있는 디스플레이 스크린
JP2010257148A (ja) * 2009-04-23 2010-11-11 Casio Computer Co Ltd サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079160B2 (en) * 2001-08-01 2006-07-18 Stmicroelectronics, Inc. Method and apparatus using a two-dimensional circular data buffer for scrollable image display
US7313764B1 (en) * 2003-03-06 2007-12-25 Apple Inc. Method and apparatus to accelerate scrolling for buffered windows
JP4334559B2 (ja) * 2006-10-13 2009-09-30 株式会社東芝 スクロール位置予測装置
US8375304B2 (en) * 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
EP2318897B1 (en) * 2008-05-28 2018-05-16 Google LLC Motion-controlled views on mobile computing devices
US20110145757A1 (en) * 2009-12-01 2011-06-16 Fida Janwari Scrolling Control and Communication Control Applications and Methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050072437A (ko) * 2002-10-16 2005-07-11 톰슨 라이센싱 소시에떼 아노님 스크롤 절차가 수행될 수 있는 디스플레이 스크린
JP2010257148A (ja) * 2009-04-23 2010-11-11 Casio Computer Co Ltd サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230105534A (ko) * 2022-01-04 2023-07-11 광운대학교 산학협력단 프레임 확장을 통한 렌더링 최소화 방법 및 프로그램과, 동 프로그램이 기록된, 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
US20130117708A1 (en) 2013-05-09

Similar Documents

Publication Publication Date Title
US10217441B2 (en) Method for displaying and electronic device thereof
KR102032449B1 (ko) 이미지 표시 방법 및 휴대 단말
US10234951B2 (en) Method for transmitting/receiving message and electronic device thereof
KR102015347B1 (ko) 터치 디바이스를 이용한 마우스 기능 제공 방법 및 장치
US20150012881A1 (en) Method for controlling chat window and electronic device implementing the same
KR102251834B1 (ko) 전자 장치의 디스플레이 방법
US20140351729A1 (en) Method of operating application and electronic device implementing the same
EP2669785A2 (en) Method and apparatus for moving object in terminal having touch screen
KR20130049293A (ko) 사용자 디바이스에서 스크롤링 방법 및 장치
EP2763131A1 (en) Method and electronic device for configuring screen
KR20150007760A (ko) 수신 데이터를 이용하여 어플리케이션을 운영하는 전자 장치
KR102090745B1 (ko) 전자장치에서 외부 디스플레이 장치를 이용하여 멀티태스킹을 수행하는 방법 및 장치
US9871710B2 (en) Electronic device for operating application
JP6439266B2 (ja) タッチスクリーンを有する電子装置におけるテキスト入力方法及び装置
US9658865B2 (en) Method of editing content and electronic device for implementing the same
US20150128031A1 (en) Contents display method and electronic device implementing the same
KR20120138618A (ko) 모바일 디바이스에서 멀티태스킹 운용 방법 및 장치
AU2014293863B2 (en) Method for displaying and an electronic device thereof
KR20140028223A (ko) 주소록 제공 방법 및 장치
US20170013118A1 (en) Electronic device and notification method thereof
US20180136789A1 (en) Sender-initiated control of information display within multiple-partition user interface
KR20130078236A (ko) 이동 단말기 및 그 제어 방법, 이를 위한 기록 매체
KR101667721B1 (ko) 다중 디스플레이 방법 및 이를 이용하는 이동 단말기
JP2011238040A (ja) プログラムおよび電子機器
CN111949150A (zh) 控制外设切换方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application