KR20160086842A - 디스플레이 콘텐츠의 리사이징 기법 - Google Patents
디스플레이 콘텐츠의 리사이징 기법 Download PDFInfo
- Publication number
- KR20160086842A KR20160086842A KR1020167013149A KR20167013149A KR20160086842A KR 20160086842 A KR20160086842 A KR 20160086842A KR 1020167013149 A KR1020167013149 A KR 1020167013149A KR 20167013149 A KR20167013149 A KR 20167013149A KR 20160086842 A KR20160086842 A KR 20160086842A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- item
- size
- scale factor
- text
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
디스플레이에 렌더링될 콘텐츠를 리사이징하기 위한 시스템, 방법, 장치, 및 컴퓨터 프로그램 제품이 기재된다. 실시예에 따라, 콘텐츠 아이템, 가령, 텍스트 아이템 및 이미지가 이와 연관된 본래 크기 및 스케일 팩터를 기초로 확대된다. 작은 콘텐츠 아이템이, 스케일 팩터가 증가함에 따라 큰 콘텐츠 아이템이 확대되는 속도보다 빠른 속도로 스케일 팩터가 증가함에 따라 확대되도록 확대가 수행된다. 추가 실시예에서, 확대 후 작은 콘텐츠 아이템의 크기가 확대 후 큰 콘텐츠 아이템의 크기보다 결코 동일하거나 크지 않도록 확대가 수행된다.
Description
텍스트 확대는, 일부 컴퓨터 및 모바일 장치에 의해 제공되며, 활성화되면 텍스트 및 그 밖의 다른 디스플레이 콘텐츠(가령, 아이콘)가, 이러한 콘텐츠가 렌더링되는 디스플레이의 해상도를 변경할 필요 없이, 더 크게 보이도록 하는 기능을 지칭한다. 일반적으로 텍스트 확대는 시각 장애를 갖는 사람이 이들의 컴퓨터 및 모바일 장치에 의해 디스플레이되는 콘텐츠에 더 잘 액세스할 수 있게 하도록 사용될 수 있기 때문에 중요한 접근성 기능으로 간주된다. 또한 텍스트 확대는 사용자가 텍스트에 대해 자신들만의 선호되는 디스플레이를 선택할 수 있게 함으로써 사용자에게 유연성을 제공한다.
본 명세서에 디스플레이에 렌더링될 콘텐츠를 리사이징하기 위한 시스템, 방법, 장치, 디바이스, 및 컴퓨터 프로그램 제품이 기재된다. 실시예에 따라, 콘텐츠 아이템, 가령, 텍스트 아이템 및 이미지가 이의 연관된 본래 크기 및 스케일 팩터를 기초로 확대된다. 큰 콘텐츠 아이템이 스케일 팩터가 증가함에 따라 확대되는 속도보다 빠른 속도로 작은 콘텐츠 아이템이 스케일 팩터가 증가함에 따라 확대되도록, 확대가 수행된다. 이 방식은 가장 작아서 판독되기 가장 어려운 콘텐츠 아이템에 큰 확대 정도를 적용함으로써 접근성(accessability)을 개선하고, 이미 충분히 가독성이 높을 수 있는 큰 콘텐츠 아이템에 더 적은 정도의 확대를 적용시켜 사용자가 액세스하기를 원할 수 있는 그 밖의 다른 콘텐츠 및 기능부를 위한 디스플레이 영역을 비워 둠으로써 사용성(usability)을 개선할 수 있다. 추가 실시예에서, 확대 후의 작은 콘텐츠 아이템의 크기가 확대 후의 큰 콘텐츠 아이템의 크기보다 결코 같거나 크지 않도록 확대가 수행된다. 확대가 적용된 후에도 작은 콘텐츠 아이템과 큰 콘텐츠 아이템 간 크기 차이를 보존함으로써, 정보를 전달하기 위해 콘텐츠 크기 자체를 이용하는 애플리케이션의 사용성이 유지될 수 있다.
본 명세서에 기재된 실시예는 또한 콘텐츠 축소를 수행할 수 있다. 특히, 본 명세서에 기재된 실시예가 작은 콘텐츠 아이템의 크기가 스케일 팩터가 감소함에 따라 축소되는 속도보다 빠른 속도로 큰 콘텐츠 아이템의 크기가 스케일 팩터가 감소함에 따라 축소되도록 하는 콘텐츠 축소를 수행할 수 있다. 덧붙여, 본 명세서에 기재된 실시예가 축소 후의 큰 콘텐츠 아이템의 크기가 축소 후의 작은 콘텐츠 아이템의 크기보다 결코 같거나 작지 않도록 하는 콘텐츠 축소를 수행할 수 있다.
특히, 장치가 본 명세서에 기재된다. 장치는 적어도 하나의 프로세서 및 적어도 하나의 프로세서에 의해 실행되는 컴퓨터 프로그램 로직을 저장하는 메모리를 포함한다. 이 컴퓨터 프로그램 로직은 적어도 하나의 프로세서에 의해 실행될 때 동작을 수행하도록 구성되는 복수의 구성요소를 포함한다. 이 복수의 구성요소는 콘텐츠 제공 구성요소, 콘텐츠 리사이징 구성요소, 및 디스플레이 구성요소를 포함한다. 콘텐츠 제공 구성요소는 디스플레이로 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 제공하도록 구성된다. 콘텐츠 리사이징 구성요소는 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각과 연관된 각자의 크기를 스케일 팩터가 증가함에 따라 증가시키도록 구성된다. 제1 콘텐츠 아이템은 제2 콘텐츠 아이템과 상이한 크기를 가진다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 증가하는 속도보다 빠른 속도로 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 증가하도록 증가가 수행된다. 디스플레이 구성요소에 의해, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템이 각자 이들과 연관된 증가된 크기로 디스플레이될 수 있다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템은, 예를 들어, 2개의 텍스트 아이템, 2개의 이미지, 또는 각각 하나의 텍스트 아이템과 하나의 이미지를 포함할 수 있다.
하나의 실시예에서, 복수의 구성요소는 장치의 사용자가 스케일 팩터를 선택할 수 있도록 구성된 사용자 인터페이스 구성요소를 더 포함한다. 이러한 실시예에 따라, 사용자 인터페이스 구성요소는 장치의 사용자가 스케일 팩터를 선택할 때 이용할 수 있는 대화형 슬라이더를 디스플레이하도록 구성될 수 있다.
대안적 실시예에서, 복수의 구성요소는 스케일 팩터를 자동으로 선택하도록 구성된 스케일 팩터 선택 구성요소를 더 포함한다. 이러한 선택은 하나 이상의 파라미터, 가령, 디스플레이 크기, 디스플레이 해상도, 장치 동작 모드, 사용자 보기 위치 또는 배향, 장치 제조사 및 장치 모델 중 하나 이상을 기초로 이뤄질 수 있다.
또 다른 실시예에서, 콘텐츠 리사이징 구성요소는 애플리케이션 프로그래밍 인터페이스(API)를 통해 다른 구성요소에 액세스 가능하다. API는, 예를 들어, 콘텐츠 아이템과 연관된 크기를 수신하고 콘텐츠 아이템에 대해 조절된 크기를 반환하는 함수를 포함할 수 있다. API는 콘텐츠 리사이징 기능이 활성 상태인지 또는 비활성 상태인지를 가리키는 함수를 더 포함할 수 있다.
또 다른 실시예에서, 콘텐츠 리사이징 구성요소는 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각과 연관된 각자의 크기를 스케일 팩터가 감소됨에 따라 축소하도록 더 구성된다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 감소하는 속도보다 느린 속도로 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 축소하도록 축소가 수행된다.
또 다른 실시예에서, 콘텐츠 리사이징 구성요소는, 콘텐츠 리사이징 구성요소가 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각과 연관된 각자의 크기를 스케일 팩터가 증가함에 따라 증가시키며, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 증가되는 속도와 동일한 속도로 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템과 연관된 크기가 증가하도록 증가가 수행되는 대안 모드에서 동작하도록 구성된다.
콘텐츠 리사이징을 수행하기 위한 방법이 또한 본 명세서에서 기재된다. 이 방법에 따라, 제1 콘텐츠 아이템과 연관된 본래 크기 및 제2 콘텐츠 아이템과 연관된 본래 크기가 수신된다. 제2 콘텐츠 아이템과 연관된 본래 크기는 제1 콘텐츠 아이템과 연관된 본래 크기와 상이하다. 각자의 콘텐츠 아이템과 연관된 본래 크기 및 스케일 팩터의 함수를 이용함으로써, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각에 대해 확대 분량이 계산된다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템에 대한 확대 분량이 스케일 팩터에 따라 증가하는 속도보다 빠른 속도로 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템에 대한 확대 분량이 스케일 팩터에 따라 증가하도록 함수가 정의된다. 제1 콘텐츠 아이템에 대한 확대 분량이 제1 콘텐츠 아이템과 연관된 본래 크기에 더해져서 제1 콘텐츠 아이템과 연관된 출력 크기를 생성할 수 있다. 제2 콘텐츠 아이템에 대한 확대 분량이 제2 콘텐츠 아이템과 연관된 본래 크기에 더해져서 제2 콘텐츠 아이템과 연관된 출력 크기를 생성할 수 있다. 제1 콘텐츠 아이템이 제1 콘텐츠 아이템과 연관된 출력 크기로 디스플레이된다. 제2 콘텐츠 아이템이 제2 콘텐츠 아이템과 연관된 출력 크기로 디스플레이된다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템은, 예를 들어, 2개의 텍스트 아이템, 2개의 이미지, 또는 각각 하나의 텍스트 아이템 및 하나의 이미지를 포함할 수 있다.
방법의 하나의 실시예에서, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각에 대한 확대 분량이 다음에 따라 계산된다:
MAX(-e * ln(original_size) + 18, 0) * (scale_factor - 1)
여기서, original_size는 제1 콘텐츠 아이템 또는 제2 콘텐츠 아이템의 본래 크기를 나타내고, scale_factor는 스케일 팩터를 나타낸다.
또 다른 실시예에서, 방법은 사용자 입력을 기초로 스케일 팩터를 선택하는 단계를 더 포함한다. 대안적 실시예에서, 방법은 하나 이상의 파라미터를 기초로 스케일 팩터를 선택하는 단계를 더 포함한다. 하나 이상의 파라미터는 디스플레이 크기, 디스플레이 해상도, 장치 동작 모드, 사용자 보기 위치 또는 배향, 장치 제조사 및 장치 모델 중 하나 이상을 포함할 수 있다.
컴퓨터 프로그램 제품이 또한 본 명세서에 기재된다. 이 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 동작을 수행하게 하는 명령이 기록된 컴퓨터 판독형 메모리 디바이스를 포함한다. 이러한 동작에 따라, 스케일 팩터가 수신된다. 디스플레이될 콘텐츠 아이템과 연관된 보낼 크기가 또한 수신된다. 그 후 스케일 팩터 및 본래 크기의 함수로서 확대 분량이 계산된다. 고정 스케일 팩터에 대해, 확대 분량은 본래 크기가 증가할수록 감소하도록 함수가 정의된다. 그 후 확대 분량은 본래 크기에 더해져서 출력 크기를 생성할 수 있다. 그 후 콘텐츠 아이템은 출력 크기로 디스플레이될 수 있다. 콘텐츠 아이템은, 예를 들어, 텍스트 아이템 또는 이미지를 포함할 수 있다. 하나의 실시예에서, 확대 분량을 계산하는 단계는 스케일 팩터 및 본래 크기의 자연 로그의 함수로서 확대 분량을 계산하는 단계를 포함한다.
이 개요는 이하의 상세한 설명에서 추가로 기재될 개념들의 모음을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 본 발명의 핵심 특징 또는 본질적 특징을 식별하려는 것이 아니며 청구되는 발명의 범위를 제한하려 사용되는 것도 아니다. 오히려, 청구되는 발명은 이 문서의 상세한 설명 및/또는 다른 부분에 기재된 특정 실시예에 한정되지 않는다. 이러한 실시예는 단지 예시 목적으로만 본 명세서에 제공된다. 추가 실시예가 본 명세서의 설명을 기초로 해당 분야의 통상의 기술자에게 자명할 것이다.
본 명세서에 포함되며 이의 일부를 형성하는 첨부된 도면은 본 발명의 실시예를 도시하며, 발명의 설명과 함께, 본 발명의 원리를 설명하도록 역할 하며 해당 분야의 통상의 기술자가 본 발명을 만들고 이용할 수 있게 한다.
도 1은 하나의 실시예에 따라 디스플레이에 렌더링될 콘텐츠를 리사이징하는 시스템의 블록도이다.
도 2는 하나의 실시예에 따르는 1.0, 1.5 및 2.0의 스케일 팩터에 대해 폰트 크기 1-50을 갖는 텍스트가 확대될 수 있는 방식을 도시하는 그래프이다.
도 3(a), 3(b) 및 3(c)는 함께 스마트폰의 디스플레이 상에서 나타나는 실시예에 따라 콘텐츠 리사이징 기법을 이용해 텍스트가 확대되는 방식에 대한 예시를 제공한다.
도 4(a), 4(b) 및 4(c)는 함께 스마트폰의 디스플레이 상에서 나타나는 실시예에 따라 콘텐츠 리사이징 기법을 이용해 텍스트가 확대되는 방식에 대한 두 번째 예시를 제공한다.
도 5(a), 5(b) 및 5(c)는 함께 스마트폰의 디스플레이 상에서 나타나는 실시예에 따라 콘텐츠 리사이징 기법을 이용해 텍스트가 확대되는 방식에 대한 세 번째 예시를 제공한다.
도 6은 하나의 실시예에 따라 콘텐츠 리사이징을 위해 스케일 팩터를 선택하도록 사용될 수 있는 예시적 사용자 인터페이스를 도시한다.
도 7은 하나의 실시예에 따라 디스플레이에 렌더링될 콘텐츠 아이템을 확대하기 위한 방법의 흐름도를 도시한다.
도 8은 하나의 실시예에 따라 디스플레이에 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 확대하기 위한 방법의 흐름도를 도시한다.
도 9은 하나의 실시예에 따라 디스플레이에 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 축소하기 위한 방법의 흐름도를 도시한다.
도 10은 하나의 실시예에 따라 디스플레이에 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 확대하기 위한 또 다른 방법의 흐름도이다.
도 11은 다양한 실시예를 구현하도록 사용될 수 있는 예시적 모바일 장치의 블록도이다.
도 12는 다양한 실시예를 구현하도록 사용될 수 있는 예시적 프로세서-기반 컴퓨터 시스템의 블록도이다.
본 발명의 특징 및 이점이 도면과 함께 이하에서 제공되는 상세한 설명으로부터 더 자명해질 것이며, 도면 전체에서, 유사한 도면 부호가 대응하는 유사한 요소를 식별한다. 도면에서, 유사한 도면부호는 일반적으로 동일한, 기능적으로 유사한, 및/또는 구조적으로 유사한 요소를 가리킨다. 요소가 최초 등장하는 도면이 대응하는 도면 부호에서 가장 왼쪽 숫자로 나타내어진다.
도 1은 하나의 실시예에 따라 디스플레이에 렌더링될 콘텐츠를 리사이징하는 시스템의 블록도이다.
도 2는 하나의 실시예에 따르는 1.0, 1.5 및 2.0의 스케일 팩터에 대해 폰트 크기 1-50을 갖는 텍스트가 확대될 수 있는 방식을 도시하는 그래프이다.
도 3(a), 3(b) 및 3(c)는 함께 스마트폰의 디스플레이 상에서 나타나는 실시예에 따라 콘텐츠 리사이징 기법을 이용해 텍스트가 확대되는 방식에 대한 예시를 제공한다.
도 4(a), 4(b) 및 4(c)는 함께 스마트폰의 디스플레이 상에서 나타나는 실시예에 따라 콘텐츠 리사이징 기법을 이용해 텍스트가 확대되는 방식에 대한 두 번째 예시를 제공한다.
도 5(a), 5(b) 및 5(c)는 함께 스마트폰의 디스플레이 상에서 나타나는 실시예에 따라 콘텐츠 리사이징 기법을 이용해 텍스트가 확대되는 방식에 대한 세 번째 예시를 제공한다.
도 6은 하나의 실시예에 따라 콘텐츠 리사이징을 위해 스케일 팩터를 선택하도록 사용될 수 있는 예시적 사용자 인터페이스를 도시한다.
도 7은 하나의 실시예에 따라 디스플레이에 렌더링될 콘텐츠 아이템을 확대하기 위한 방법의 흐름도를 도시한다.
도 8은 하나의 실시예에 따라 디스플레이에 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 확대하기 위한 방법의 흐름도를 도시한다.
도 9은 하나의 실시예에 따라 디스플레이에 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 축소하기 위한 방법의 흐름도를 도시한다.
도 10은 하나의 실시예에 따라 디스플레이에 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 확대하기 위한 또 다른 방법의 흐름도이다.
도 11은 다양한 실시예를 구현하도록 사용될 수 있는 예시적 모바일 장치의 블록도이다.
도 12는 다양한 실시예를 구현하도록 사용될 수 있는 예시적 프로세서-기반 컴퓨터 시스템의 블록도이다.
본 발명의 특징 및 이점이 도면과 함께 이하에서 제공되는 상세한 설명으로부터 더 자명해질 것이며, 도면 전체에서, 유사한 도면 부호가 대응하는 유사한 요소를 식별한다. 도면에서, 유사한 도면부호는 일반적으로 동일한, 기능적으로 유사한, 및/또는 구조적으로 유사한 요소를 가리킨다. 요소가 최초 등장하는 도면이 대응하는 도면 부호에서 가장 왼쪽 숫자로 나타내어진다.
I. 소개
이하의 상세한 설명은 본 발명의 예시적 실시예를 도시하는 첨부된 도면을 참조한다. 그러나 본 발명의 범위는 이들 실시예에 한정되지 않으며, 대신 첨부된 청구범위에 의해서 규정된다. 따라서 첨부된 도면에 도시된 것 이상의 실시예, 가령, 도시된 실시예의 수정된 버전이 본 발명에 속할 수 있다.
명세서에서 "하나의 실시예", "실시예", "예시적 실시예 등의 언급은 기재된 실시예가 특정 기능, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 특정 기능, 구조, 또는 특성을 포함할 수 있는 것은 아님을 나타낸다. 덧붙여, 이러한 구가 반드시 동일한 실시예를 지칭하는 것도 아니다. 덧붙여, 특정 기능, 구조, 또는 특성이 하나의 실시예와 관련하여 기재될 때, 명시적으로 기재되거나 기재되지 않은 것에 무관하게, 이러한 기능, 구조, 또는 특성을 그 밖의 다른 실시예와 함께 구현하는 것이 해당 분야의 통상의 기술자의 지식 수준 내에 있음이 자명하다.
텍스트 확대는 일부 컴퓨터 및 모바일 장치에 의해 제공되며, 활성화되면, 텍스트 및 그 밖의 다른 디스플레이 콘텐츠(가령, 아이콘)가, 이러한 콘텐츠가 렌더링되는 디스플레이의 해상도를 변경할 필요 없이, 더 크게 보이게 하는 기능을 지칭한다. 일반적으로 텍스트 확대는 시각 장애를 갖는 사람이 이들의 컴퓨터 및 모바일 장치에 의해 디스플레이되는 콘텐츠에 더 잘 액세스할 수 있게 하도록 사용될 수 있기 때문에 중요한 접근성 기능으로 간주된다. 또한 텍스트 확대는 사용자가 텍스트에 대해 자신들만의 선호되는 디스플레이를 선택할 수 있게 함으로써 사용자에게 유연성을 제공한다.
일반적으로 텍스트 확대는 모든 디스플레이된 텍스트에 특정 폰트 크기를 강제함으로써, 또는 모든 폰트 크기에 사용자-선택형 스케일 팩터(scale factor)를 곱하고, 그 후 모든 텍스트를 일부 최대 폰트 크기로 제한함으로써 구현될 수 있다. 그러나 이들 방식은, 특히 스마트폰 및 그 밖의 다른 작은 폼 팩터를 갖는 장치에서 구현될 때, 사용성(usability)에 부정적인 영향을 미칠 수 있다. 예를 들어, 이러한 방식은 이미 충분히 가독성이 있는 큰 텍스트가 확대되게 할 수 있다. 이러한 불필요한 확대에 의해 그 밖의 다른 콘텐츠 또는 기능부가 디스플레이에서 밀려날 수 있으며, 따라서 여기로의 사용자의 액세스가 제한될 수 있다.
구현 방식은 또한 텍스트의 크기 자체가 정보를 전달하도록 사용되는 애플리케이션의 사용성에 부정적인 영향을 미칠 수 있다. 예를 들어, 특정 적용예에서, 디스플레이로 렌더링되는 서로 다른 텍스트 아이템의 상대적 크기가 텍스트 아이템들 간 일종의 계층구조를 포함하거나(가령, 가장 큰 텍스트 아이템이 문서 제목을 나타낼 수 있고, 다음으로 큰 텍스트 아이템이 문서 부제목을 나타낼 수 있는 등이다) 기저 기능부가 이용가능한지 여부를 포함할 수 있다(가령, 한 크기의 텍스트가 다른 어떤 콘텐츠 또는 기능부로의 링크를 나타내며, 다른 크기의 텍스트는 그렇지 않을 수 있다). 이러한 경우, 모든 텍스트를 동일한 폰트 크기로 강제하거나 최대 폰트 크기까지로 폰트 크기에 스케일 팩터를 곱함으로써, 본래는 상이한 크기를 갖는 텍스트 아이템들이 서로 동일한 크기로 나타날 수 있다. 이 결과로서, 서로 다른 텍스트 아이템의 상대적 크기에 의해 사용자에게 전달하려 했던 정보가 손실된다. 이는 이러한 적용예의 사용성을 상당히 감소시킬 수 있다.
디스플레이에 렌더링될 콘텐츠를 리사이징하기 위한 시스템, 방법, 장치, 및 컴퓨터 프로그램 제품이 본 명세서에 기재된다. 실시예에 따르면, 콘텐츠 아이템, 가령, 텍스트 아이템 및 이미지가 이들과 연관된 본래 크기 및 스케일 팩터를 기초로 확대된다. 비교적 큰 콘텐츠 아이템이 스케일 팩터가 증가함에 따라 확대되는 속도보다 더 빠른 속도로 비교적 작은 콘텐츠 아이템이 스케일 팩터가 증가함에 따라 확대되는 방식으로 확대가 수행된다. 이 방식은 가장 작고 판독하기 어려운 콘텐츠 아이템에 더 많은 정도의 확대를 적용함으로써, 접근성을 개선하고, 이미 충분히 가독성이 있을 수 있는 큰 콘텐츠 아이템에 더 적은 정도의 확대를 적용하여, 사용자가 액세스하기를 원할 수 있는 다른 콘텐츠 및 기능부를 위해 디스플레이 영역을 더 비움으로써, 사용성을 개선할 수 있다. 추가 실시예에서, 확대는, 확대 후 작은 콘텐츠의 크기는 확대 후 큰 콘텐츠 아이템의 크기보다 결코 크거나 같지 않도록 수행된다. 확대가 적용된 후에도 작은 콘텐츠 아이템과 큰 콘텐츠 아이템 간 크기 차이를 보존함으로써, 정보를 전달하기 위해 콘텐츠의 크기 자체를 이용하는 경우의 사용성이 유지될 수 있다.
본 명세서에 기재된 실시예는 또한 콘텐츠 축소를 수행할 수 있다. 특히, 본 명세서에 기재된 실시예에서, 큰 콘텐츠 아이템의 크기가 스케일 팩터가 감소함에 따라 축소되는 속도보다 느린 속도로 작은 콘텐츠 아이템의 크기가 스케일 팩터가 감소함에 따라 축소되도록 콘텐츠 축소가 수행될 수 있다. 덧붙여, 본 명세서에 기재된 실시예는 축소 후의 큰 콘텐츠 아이템의 크기가 축소 후의 작은 콘텐츠 아이템의 크기보다 결코 작거나 같지 않도록 콘텐츠 축소를 수행할 수 있다.
섹션 II에 실시예에 따라 디스플레이에 렌더링될 콘텐츠를 리사이징하기 위한 예시적 시스템이 기재된다. 섹션 III에 실시예에 따라 디스플레이에 렌더링될 콘텐츠를 리사이징하기 위한 예시적 방법이 기재된다. 섹션 IV에 본 명세서에 기재된 기법에 따르는 콘텐츠 리사이징을 수행하는 예시적 모바일 장치가 기재된다. 섹션 V는 본 명세서에 기재된 기법에 따라 콘텐츠 리사이징을 수행하는 예시적 데스크톱 컴퓨터를 기재한다. 섹션 VI은 일부 맺음말을 제공한다.
II. 디스플레이에 렌더링될 콘텐츠를 리사이징하기 위한 예시적 시스템
도 1은 하나의 실시예에 따라 디스플레이에 렌더링될 콘텐츠를 리사이징하는 시스템(100)의 블록도이다. 하나의 실시예에서, 시스템(100)은 모바일 장치에서 구현된다. 모바일 장치는, 예를 들어, 모바일 폰(가령, 스마트폰), 랩톱 컴퓨터, 태블릿 컴퓨터, 넷북, 웨어러블 컴퓨터, 가령, 스마트 시계 또는 두부 장착형 컴퓨터(head-mounted computer), 휴대용 미디어 플레이어, 핸드헬드 게임 콘솔, 개인 디지털 보조기(personal digital assistant), 개인 내비게이션 보조기(personal navigation assistant), 카메라, 또는 텍스트 또는 그 밖의 다른 유형의 콘텐츠를 디스플레이할 수 있는 그 밖의 다른 임의의 모바일 장치일 수 있다. 시스템(100)의 기능부를 포함할 수 있는 모바일 장치의 한 가지 예시가 도 11을 참조하여 이하에서 설명될 것이다. 또 다른 실시예에서, 시스템(100)은 텍스트 또는 그 밖의 다른 유형의 콘텐츠를 디스플레이할 수 있는 데스크톱 컴퓨팅 시스템 또는 그 밖의 다른 비-이동식 시스템(가령, 사물 인터넷(Internet-of-things)을 위한 디스플레이)을 포함한다. 시스템(100)의 기능부를 포함할 수 있는 예시적 데스크톱 컴퓨팅 시스템이 도 12를 참조하여 이하에서 설명될 것이다.
도 1에 도시된 바와 같이, 시스템(100)은 하나 이상의 프로세서(102), 메모리(104), 디스플레이(106), 및 하나 이상의 사용자 입력 장치(108)를 포함하는 복수의 상호연결된 구성요소를 포함한다. 프로세서(102)는 하나 이상의 마이크로프로세서를 나타내도록 의도되며, 마이크로프로세서 각각은 하나 이상의 중앙 처리 장치(CPU) 또는 마이크로프로세서 코어를 가질 수 있다. 프로세서(102)는 컴퓨터 프로그램 로직을 실행하기 위해 잘 알려진 방식으로 동작한다. 이러한 컴퓨터 프로그램 로직의 실행에 의해, 프로세서(102)는 동작, 가령, 본 명세서에 기재될 동작을 수행할 수 있다.
메모리(104)는 프로세서(102)에 의해 실행될 컴퓨터 프로그램(또한 본 명세서에서 컴퓨터 프로그램 로직이라고도 지칭됨) 및 이와 연관된 데이터를 저장하도록 동작하는 하나 이상의 컴퓨터-판독형 메모리 장치를 포함한다. 다양한 휘발성 및 비휘발성 컴퓨터 판독형 메모리 장치가 메모리(104), 비제한적 예를 들면, 리드-온리 메모리(ROM) 장치, 랜덤 액세스 메모리(RAM) 장치, 솔리드 스테이트 드라이브, 하드 디스크 드라이브, 자기 저장 매체, 가령, 자기 디스크 및 이와 연관된 드라이브, 광학 저장 매체, 가령, 광 디스크 및 연관된 드라이브, 및 플래시 메모리 장치, 가령, USB 플래시 드라이브를 구현하도록 사용될 수 있다. 또 다른 유형의 컴퓨터 판독형 메모리 장치가 메모리(104)를 구현하도록 사용될 수 있다. 덧붙여 상이한 유형의 컴퓨터 판독형 메모리 장치의 다양한 조합이 총칭하여 메모리(104)를 구현하도록 사용될 수 있다. 메모리(104)는 하나 이상의 적합한 인터페이스를 통해 프로세서(102)에 의해 연결되고 액세스 가능하다.
디스플레이(106)는 콘텐츠, 가령, 텍스트 및 이미지가 사용자에게 보여지도록 렌더링될 수 있는 장치를 포함한다. 이러한 콘텐츠를 디스플레이하도록 요구되는 렌더링 동작 중 일부 또는 모두가 적합한 인터페이스를 통해 디스플레이(106)로 연결된 프로세서(들)(102)에 의해 적어도 부분적으로 수행될 수 있다. 프로세서(102)와 디스플레이(106) 사이에 연결된 디스플레이 장치 인터페이스, 가령, 비디오 또는 그래픽 칩 또는 카드(도 1에 도시되지 않음)에 의해 렌더링 동작 중 일부 또는 모두가 수행될 수 있다. 시스템(100)의 구현에 따라, 디스플레이(106)는 프로세서(102) 및 메모리(104)와 동일한 물리적 구조물 또는 하우징 내에 일체 구성되는 장치를 포함하거나 모니터, 프로젝터, 웨어러블 장치(가령, 안경 또는 시계), 또는 프로세서(102) 및 메모리(104)를 포함하고, 적절한 유선 및/또는 무선 연결을 통해(가령, BLUETOOTH® 또는 그 밖의 다른 RF 통신에 의해) 연결된 구조물 또는 하우징으로부터 물리적으로 분리된 그 밖의 다른 유형의 장치를 포함할 수 있다.
사용자 입력 장치(108)는 사용자의 조작 또는 제어에 응답하여 사용자 입력 정보를 생성하도록 동작하는 하나 이상의 장치를 포함한다. 이러한 사용자 입력 정보가 적합한 인터페이스를 통해 프로세서(102)로 전달되어 처리될 수 있다. 구현예에 따라, 사용자 입력 장치(108)는 터치 스크린(가령, 디스플레이(106)와 일체 구성된 터치 스크린), 근접 감지 표면(가령, 펜 또는 손가락 같은 물체의 호버링(hovering)을 검출하는 스크린), 키보드, 키패드, 마우스, 터치패드, 트랙볼, 조이스틱, 포인팅 스틱, 유선 장갑(wired glove), 모션 추적 센서, 게임 제어기 또는 게임패드, 또는 비디오 캡처 장치, 가령, 카메라를 포함할 수 있다. 그러나 이들 예시는 한정하려는 것이 아니며 사용자 입력 장치(108)는 본 명세서에 나열된 것외 다른 유형의 장치를 포함할 수 있다. 구현예에 따라, 각각의 사용자 입력 장치(108)는 프로세서(102) 및 메모리(104)(가령, 모바일 장치 상의 일체형 터치 스크린, 터치 패드 또는 키보드)와 동일한 물리적 구조 또는 하우징 내에 일체 구성되거나 프로세서(102) 및 메모리(104)를 포함하고 적절한 유선 및/또는 무선 연결을 통해 이로 연결되는 물리적 구조 또는 하우징으로부터 물리적으로 분리된다.
도 1에 또한 도시된 바와 같이, 메모리(104)는 콘텐츠 제공 구성요소(112), 콘텐츠 리사이징 구성요소(114), 디스플레이 구성요소(116), 및 사용자 인터페이스 구성요소(118)를 포함하는 복수의 소프트웨어 구성요소를 저장한다. 이들 소프트웨어 구성요소 각각은 프로세서(102)에 의해 실행될 때 프로세서(102)로 하여금 본 명세서에서 기재될 특정 동작을 수행하게 하는 컴퓨터 프로그램 로직을 포함한다. 이하에서, 소프트웨어 구성요소(112, 114, 116 및 118) 중 특정 하나가 특정 동작을 수행하거나 특정 동작을 수행하도록 구성된다고 서술될 때, 특정 소프트웨어 구성요소가 프로세서(102)에 의해 실행될 때, 특정 동작이 수행된다는 의미로 이해되어야 한다.
콘텐츠 제공 구성요소(112)는 일반적으로 디스플레이(106)로 렌더링될 콘텐츠를 제공할 수 있는 임의의 소프트웨어 구성요소임을 의도한다. 이러한 콘텐츠는, 비제한적 예를 들어, 텍스트 및/또는 이미지를 포함할 수 있다. 콘텐츠 제공 구성요소(112)는 예를 들어, 다양한 애플리케이션 프로그램(종종 "애플리케이션" 또는 "앱(app)"이라 지칭됨) 중 임의의 것을 포함할 수 있다. 비제한적 예를 들면, 콘텐츠 제공 구성요소(112)는 웹 브라우저 애플리케이션, 전자메일 애플리케이션, 메시징 애플리케이션, e-리더 애플리케이션, 전화용 애플리케이션, 일정관리 애플리케이션, 소셜 네트워킹 애플리케이션, 미디어 플레이어 애플리케이션, 내비게이션 애플리케이션, 날씨 애플리케이션, 게임 애플리케이션, 연락처 또는 주소록 애플리케이션, 사진 애플리케이션, 쇼핑 애플리케이션, 워드 처리 애플리케이션, 스프레드시트 애플리케이션, 프로그래밍 애플리케이션 등을 포함할 수 있다. 콘텐츠 제공 구성요소(112)는 또한 운영 체제 또는 이의 구성요소, 또는 디스플레이(106)로 렌더링될 콘텐츠를 제공할 수 있는 그 밖의 다른 유형의 소프트웨어 프로그램, 모듈 또는 개체를 포함할 수 있다.
콘텐츠 리사이징 구성요소(content resizing component)(114)는 콘텐츠 제공 구성요소(112)에 의해 제공되는 콘텐츠 아이템을 디스플레이(106)에 렌더링하기 전에, 이러한 콘텐츠 아이템을 리사이징(가령, 크기 확대 또는 축소)하도록 동작할 수 있는 소프트웨어 구성요소를 포함한다. 하나의 실시예에서, 콘텐츠 리사이징 구성요소(114)는 메모리(104)에 저장되며 프로세서(102)에 의해 실행되는 운영 체제의 일부를 포함한다. 그러나 이는 단지 예시에 불과하며, 콘텐츠 리사이징 구성요소(114)는 운영 체제의 일부를 포함할 필요가 없다. 예를 들어, 콘텐츠 리사이징 구성요소(114)는 운영 체제의 일부가 아닌 자립형 프로그램을 포함할 수 있다. 또 다른 실시예에서, 콘텐츠 리사이징 구성요소(114)는 콘텐츠 제공 구성요소(112)의 일부를 포함한다. 그러나 해당 분야의 통상의 기술자에게 자명할 바와 같이 그 밖의 다른 다른 구현예가 가능하다.
하나의 실시예에서, 콘텐츠 리사이징 구성요소(114)는 시스템(100)의 콘텐츠 리사이징 기능의 사용자 활성화에 응답해서만 리사이징 동작을 수행한다. 또 다른 실시예에서, 콘텐츠 리사이징 구성요소(114)는 사용자에 의해 활성화되지 않고 자동으로 콘텐츠 리사이징 동작을 수행한다. 예를 들어, 콘텐츠 리사이징 구성요소(114)는 하나 이상의 자동 결정된 파라미터를 기초로 콘텐츠 리사이징 동작을 수행할 수 있다. 콘텐츠 리사이징 구성요소(114)가 활성화되는 방식뿐 아니라 콘텐츠 리사이징 구성요소가 리사이징 동작을 수행하는 방식까지 이하에서 더 상세히 기재될 것이다.
디스플레이 구성요소(116)는 콘텐츠 제공 구성요소(112)에 의해 제공되고 선택적으로 콘텐츠 리사이징 구성요소(114)에 의해 리사이징된 콘텐츠 아이템이 디스플레이(106)로 렌더링되게 하는 소프트웨어 구성요소를 포함한다. 콘텐츠 리사이징 구성요소(114)처럼, 디스플레이 구성요소(116)도 역시 메모리(104)에 저장되고 프로세서(102)에 의해 실행되는 운영 체제의 부분을 포함할 수 있다. 그러나 이는 예시에 불과하며 디스플레이 구성요소(116)는 운영 체제의 일부분을 포함할 필요가 없다. 예를 들어, 디스플레이 구성요소(116)는 운영 체제의 일부가 아닌 자립형 프로그램을 포함할 수 있다. 또 다른 실시예에서, 디스플레이 구성요소(116)는 콘텐츠 제공 구성요소(112)의 일부를 포함한다. 그러나 그 밖의 다른 구현예도 가능하다.
앞서 언급된 바와 같이, 콘텐츠 리사이징 구성요소(114)는 콘텐츠 확대를 수행하도록 구성된다. 하나의 실시예에서, 콘텐츠 리사이징 구성요소(114)는 사용자-선택 또는 시스템-선택 스케일 팩터가 증가할수록 콘텐츠 아이템의 크기를 증가시키도록 구성된다. 다시 말하면, 스케일 팩터가 커질수록, 각각의 콘텐츠 아이템에 확대가 더 적용된다. 그러나 각각의 콘텐츠 아이템에 적용되는 확대의 정도를 결정하기 위해 사용되는 함수가 스케일 팩터뿐 아니라 하나의 실시예에서 콘텐츠 아이템의 본래 크기의 로그인 콘텐츠 아이템의 본래 크기의 비선형 함수까지 기초로 한다. 이는 스케일 팩터가 증가함에 따라, 모든 콘텐츠 아이템이 확대되지만 상이한 본래 크기의 콘텐츠 아이템들이 상이한 속도로 확대되게 할 것이다. 특히, 스케일 팩터가 증가함에 따라 작은 본래 크기를 갖는 콘텐츠 아이템의 크기가 큰 본래 크기를 갖는 콘텐츠 아이템보다 더 빨리 증가할 것이다. 예를 들어, 스케일 팩터가 증가할 때 12의 본래 폰트 크기를 갖는 텍스트 아이템의 크기가 24의 본래 폰트 크기를 갖는 텍스트 아이템보다 더 빨리 증가할 것이다. 이 기능은 가장 작고 읽히기 어려운 콘텐츠 아이템에 더 많은 정도의 확대를 적용함으로써, 접근성을 개선하고, 이미 충분히 가독성이 있을 수 있는 큰 콘텐츠 아이템에 더 적은 정도의 확대를 적용하여, 사용자가 액세스하기를 원할 수 있는 다른 콘텐츠 및 기능부를 위해 디스플레이 영역을 더 비움으로써, 사용성을 개선할 수 있다.
앞서 언급된 콘텐츠 확대 기능은 또한 콘텐츠 확대가 제1 콘텐츠 아이템 및 제1 콘텐츠 아이템보다 큰 제2 콘텐츠 아이템에 적용될 때, 확대 후의 제1 콘텐츠 아이템이 확대 후의 제2 콘텐츠 아이템보다 결코 크지 않을 것임을 보장한다. 예를 들어, 적용되는 확대 정도에 무관하게, 12의 본래 폰트 크기를 갖는 텍스트 아이템이 13, 14, 15 이상의 본래 폰트 크기를 갖는 텍스트 아이템보다 항상 작을 것이다. 확대 후에도 작은 콘텐츠 아이템과 큰 콘텐츠 아이템 간 크기 차이를 보존함으로써, 이 기능은, 이하에서 더 상세히 설명될, 콘텐츠 크기 자체를 정보, 가령, 콘텐츠의 서로 다른 섹션들 간 정보의 구조 또는 계층구조를 전달하는 데 사용하는 애플리케이션 또는 그 밖의 다른 컴퓨터 프로그램의 사용성을 유지하는 데 도움이 될 수 있다.
하나의 실시예에서, 콘텐츠 리사이징 구성요소(114)는 입력으로서 스케일 팩터 및 확대될 콘텐츠 아이템의 본래 크기를 받고 디스플레이되도록 사용될 콘텐츠 아이템의 확대된 크기를 출력하는 콘텐츠 확대 함수를 이용한다. 예를 들어, 콘텐츠 확대 함수는 먼저 시드 값(seed value)을 생성하는 계단형 함수(stepwise function)를 포함할 수 있다. 그 후 시드 값이 사용되어 디스플레이되도록 사용되는 최종 확대된 콘텐츠 크기를 결정할 수 있다. 이 콘텐츠 확대 함수는 다음과 같이 구현될 수 있다:
(1) 콘텐츠 아이템의 본래 크기 original_size가 주어질 때, 시드(seed)를 찾는다.
seed = MAX(-e * ln(original_size) + 18, 0)
(2) 스케일 팩터, scale_factor가 주어질 때, 콘텐츠 아이템의 본래 크기와 시드를 이용하여 확대된 콘텐츠 크기 enlarged_size를 획득한다:
enlarged_size = (original_size) + (seed * (scale_factor - 1)).
이로부터, 콘텐츠 아이템의 본래 크기가 얼마만큼 확대되는지(즉, 확대된 크기를 획득하기 위해 본래 크기에 더해지는 크기)가 또한 다음과 같이 나타날 수 있다:
MAX(-e * ln(original_size) + 18, 0) * (scale_factor - 1) (1)
이 확대 함수는 접근성과 사용성 간 최적의 절충을 제공하기 위해 광범위한 실험을 통해 발견되었다.
하나의 실시예에서, 콘텐츠 리사이징 구성요소(114)는 애플리케이션이 콘텐츠 리사이징 기능부를 호출할 수 있도록 하는 애플리케이션 프로그래밍 인터페이스(API)를 노출한다. 예를 들어, API는 콘텐츠 리사이징이 켜졌는지 여부를 결정하기 위해 애플리케이션에 의해 호출될 수 있는 (즉, 콘텐츠 리사이징 기능이 활성 상태인지 또는 비활성 상태인지를 가리키는) 함수를 포함할 수 있다. 덧붙여, API는 콘텐츠 아이템과 연관된 본래 크기(가령, original_size)를 수신하고 본래 크기 및 현재 선택된 스케일 팩터(가령, scale_factor)를 기초로 조정된 콘텐츠 크기(가령, enlarged_size)를 반환하는 함수를 포함할 수 있다.
이 콘텐츠 확대 함수에 따라, 스케일 팩터는 1에서 시작하는 임의의 값을 가질 수 있다. 1의 스케일 팩터 값이 기본적으로 어떠한 콘텐츠 확대도 적용되지 않음을 의미한다. 다시 말하면, 1의 스케일 팩터는 중립 값이다. 그러나 스케일 팩터를 1보다 큰 값으로 증가시키는 것이 콘텐츠를 상대적으로 확대하기 시작할 것이다.
이는 도 2에 도시되어 있다. 특히, 도 2는 콘텐츠 리사이징 구성요소(114)가 하나의 실시예에 따라 1.0, 1.5 및 2.0의 스케일 팩터에 대해 폰트 크기 1-50을 갖는 텍스트 아이템을 확대하는 방식을 도시하는 그래프(200)이다. 도시된 바와 같이, 스케일 팩터가 커질수록, 본래 텍스트 크기에 무관하게 텍스트 크기가 커진다. 스케일 팩터 1는, 본래 텍스트 크기가 주어질 때, 정확히 동일한 텍스트 크기를 출력할 중립 값이다.
즉각적으로 분명하지 않을 수 있지만, 그래프(200)에서 나타나는 3개의 선이 정확히 평행하지 않는다. 이들 선은 매우 큰 텍스트 크기로 천천히 수렴한다. 텍스트 크기가 매우 큰 값, 가령, 무한대에 아주 가까운 값을 취할 수 있기 때문에 수렴 값은 제한되지 않는다. 텍스트가 실제로 가질 수 있는 크기에 대한 어떠한 기술적 제한도 존재하지 않는다. 그러나 1의 최소 텍스트 크기 한계가 준수된다. 0 및 음의 텍스트 크기는 유효 범위를 벗어나는 것이다.
그래프(200)에서 관찰될 수 있는 바와 같이, 각각의 스케일 팩터에 대해, 작은 텍스트가 큰 텍스트보다 더 많이 확대된다. 예를 들어, 스케일 팩터가 2일 때, 10의 본래 폰트 크기를 갖는 텍스트 아이템은 19.24의 대략적인 폰트 크기까지로 확대될 것이며, 이에 반해, 40의 본래 폰트 크기를 갖는 텍스트는 45.78의 대략적인 폰트 크기까지로 확대될 것이다.
도 3(a), 3(b) 및 3(c)가 모두 앞서 설명된 콘텐츠 확대 기법을 이용해 리사이징되는 텍스트가 스마트폰의 디스플레이 상에 어떻게 나타나는지에 대한 첫 번째 예시를 제공한다. 특히, 도 3(a)는 스케일 팩터가 1일 때(즉, 어떠한 확대도 적용되지 않을 때) 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(300) 상에 어떻게 나타나는지를 보여준다. 도 3(b)는 1.5의 스케일 팩터에 따른 확대가 적용됐을 때 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(300) 상에 어떻게 나타나는지를 보여준다. 도 3(c)는 2.0의 스케일 팩터가 적용됐을 때 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(300) 상에 어떻게 나타나는지를 보여준다.
도 3(b) 및 3(c)에서, 모든 텍스트가 확대되었지만, 디스플레이(300)의 상단에 위치하는 매우 큰 텍스트의 확대는 알아차리기 어려울 수 있다. 이는, 스케일 팩터가 1.0에서 1.5 내지 2.0으로 증가할 때, 큰 텍스트는, 그 아래 위치하는 작은 텍스트보다 훨씬 더 느리게 확대되기 때문이다. 이와 달리, 매우 작은 텍스트의 확대를 관찰하는 것은 훨씬 더 쉽다. 예를 들어, 도 3(c)에서, 디스플레이(300)의 하부에 위치하는 매우 작은 텍스트("size 10 writing")는 크기가 거의 2배가 됐다. 이는 일반적으로 매우 작은 텍스트는 가독성이 가장 낮고 따라서 확대가 가장 필요한 텍스트이기 때문에 바람직하다.
도 3(a), 3(b) 및 3(c)는 콘텐츠 확대 방식이 곡선을 이용해 텍스트를 확대하기 때문에, 매우 큰 텍스트의 확대를 억제할 필요가 없다. 오히려, 매우 큰 텍스트는 작은 텍스트보다 훨씬 덜 확대된다. 이는 확대된 텍스트에 의해 밀려날 콘텐츠 또는 기능부 정도를 감소시키는 이점을 가진다.
본 명세서에서 앞서 언급된 바와 같이, 정보를 전달하기 위해 텍스트(또는 그 밖의 다른 콘텐츠)의 크기 자체를 이용하는 많은 컴퓨터 프로그램이 있다. 예를 들면, 디스플레이로 렌더링되는 서로 다른 텍스트 아이템의 상대적 크기가 텍스트 아이템들 간에 일종의 계층구조를 나타내거나(가령, 가장 큰 텍스트 아이템이 문서 제목을 나타낼 수 있고, 다음으로 큰 텍스트 아이템이 문서 부제목을 나타낼 수 있는 등이다) 기저 기능부가 이용 가능한지 여부를 나타낼 수 있다(가령, 한 크기의 텍스트가 다른 임의의 콘텐츠 또는 기능부로의 링크를 나타낼 수 있는데 반해, 상이한 크기의 텍스트는 그렇지 않을 수 있다). 예를 들어, 도 3(a)에 도시된 상이한 크기의 텍스트 아이템이 계층구조적 외양을 가진다. 도 3(b) 및 3(c)는 콘텐츠 확대가 적용된 후에도, 확대된 텍스트가 이 계층구조적 외양을 유지함을 도시한다. 확대 후의 작은 콘텐츠 아이템의 크기가 확대 후의 큰 콘텐츠 아이템의 크기와 결코 같거나 크기 않도록 콘텐츠 확대가 수행되기 때문이다.
도 4(a), 4(b) 및 4(c)는 모두 앞서 설명된 콘텐츠 확대 기법을 이용해 리사이징된 텍스트가 스마트폰의 디스플레이 상에 어떻게 나타나는지에 대한 두 번째 예시를 제공한다. 특히, 도 4(a)는 스케일 팩터가 1일 때(즉, 어떠한 확대도 적용되지 않을 때) 연락처 애플리케이션과 연관된 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(400) 상에 어떻게 나타나는지를 보여준다. 도 4(b)는 1.5의 스케일 팩터와 연관된 확대가 적용됐을 때 연락처 애플리케이션과 연관된 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(400) 상에 어떻게 나타나는지를 보여준다. 도 4(c)는 2.0의 스케일 팩터와 연관된 확대가 적용됐을 때 연락처 애플리케이션과 연관된 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(400) 상에 어떻게 나타나는지를 보여준다.
도 4(a), 4(b) 및 4(c)는 스케일 팩터가 증가할 때 작은 텍스트 아이템이 어떻게 큰 텍스트 아이템보다 더 빠른 속도로 확대되는지와 크기 차이가 어떻게 유지되는지를 더 보여준다. 예를 들어, 이들 도면에 도시된 바와 같이, 연락처 애플리케이션은 텍스트 크기에 의해 특정 대화형 텍스트 아이템을 특정 비대화형 텍스트 아이템으로부터 구별한다. 예를 들어, 비대화형 텍스트 "call mobile"가 대화형 텍스트 "+1 (425) 555-1234"(이는 사용자에 의해 활성화될 때 전화 통화를 개시할 것임)와 구별되며, 이 구별은 전자 텍스트가 후자 텍스트보다 큼으로써 이뤄진다. 도 4(b) 및 4(c)에 도시된 바와 같이, 텍스트 확대가 두 텍스트 아이템 모두에 적용된 후라도, "call mobile"은 "+ 1 (425) 555-1234"보다 여전히 크게 보인다. 따라서 크기를 바탕으로 하는 대화형 텍스트와 비대화형 텍스트 간 구별이 유지된다.
도 5(a), 5(b) 및 5(c)는 모두 앞서 설명된 콘텐츠 확대 기법을 이용해 리사이징된 텍스트가 스마트폰의 디스플레이 상에 어떻게 나타나는지에 대한 세 번째 예시를 제공한다. 특히, 도 5(a)는 스케일 팩터가 1일 때(즉, 어떠한 확대도 적용되지 않을 때) 전자메일 애플리케이션과 연관된 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(500) 상에서 어떻게 나타나는지를 보여준다. 도 5(b)는 1.5의 스케일 팩터와 연관된 확대가 적용됐을 때 전자메일 애플리케이션과 연관된 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(500) 상에 어떻게 나타나는지를 보여준다. 도 5(c)는 2.0의 스케일 팩터와 연관된 확대가 적용됐을 때 전자메일 애플리케이션과 연관된 복수의 상이한 크기의 텍스트 아이템이 스마트폰 디스플레이(500) 상에 어떻게 나타나는지를 보여준다.
도 5(a), 5(b) 및 5(c)는 스케일 팩터가 증가할 때 작은 텍스트 아이템이 어떻게 큰 텍스트 아이템보다 더 빠른 속도로 확대되는지와 크기 차이가 어떻게 유지되는지를 더 보여준다. 예를 들어, 이들 도면에 도시된 바와 같이, 전자메일 애플리케이션은 전자메일과 연관된 여러 다른 유형의 정보를 텍스트 크기에 의해 구별한다. 예를 들어, 특정 전자메일의 발신인("Saied Khanahmadi")이 동일 전자메일의 제목줄("Phone XAML Controls Triage")을 나타내기 위해 사용되는 텍스트보다 큰 텍스트를 이용해 나타난다. 덧붙여, 제목줄이 동일한 전자메일의 본문의 일부분("The path for 60454 was changed. Is there a way to...")을 보여주기 위해 사용되는 텍스트보다 큰 텍스트를 이용해 나타난다. 도 5(b) 및 5(c)에 도시된 바와 같이, 텍스트 확대가 3개의 텍스트 아이템 모두에 적용된 후에도, 여전히 발신인이 제목줄보다 크게 보이고 제목줄이 본문보다 크게 보인다. 따라서 크기를 기초로 하는 여러 다른 유형의 전자메일 정보 간 구별이 유지된다.
덧붙여, 도 5(a), 5(b) 및 5(c)에서 볼 수 있다시피, 전자메일을 서로 구별하기 위해 어떠한 선이나 다른 경계부가 존재하지 않는다. 오히려 각각의 발신인 이름 정보가 각각의 발신인 이름 아래에 나타나는 작은 전자메일 정보 아이템에 비해 큼으로써, 전자메일들 간 분리가 전달된다. 텍스트 확대 스킴이 발신인 이름과 그 밖의 다른 전자메일 정보 간 크기 차이를 유지하기 때문에, 개별 전자메일들 간 이러한 분리가 역시 바람직하게 유지된다.
확대가 적용된 후에도 다양한 텍스트 아이템들 간 크기 차이를 유지할 수 있는 앞서 언급된 콘텐츠 확대 기법의 능력이, 서로 다른 유형의 텍스트 아이템이 서로 다른 텍스트 크기를 이용해 디스플레이될 것을 요구하는 설계 제약을 따라야 하는 애플리케이션 개발 플랫폼에게 특히 유용하다. 예를 들어, 애플리케이션 개발 플랫폼은 사용될 폰트 크기가 계층구조를 나타낼 것을 요구할 수 있다.
상기의 내용 중 많은 부분이 텍스트 확대를 언급하지만, 콘텐츠 리사이징 구성요소(114)가 다른 유형의 콘텐츠, 가령, 이미지까지 확대하도록 사용될 수 있음이 이해될 것이다. 앞서 설명된 기법을 이용해 다양한 이미지가 확대될 수 있다. 비제한적 예를 들면, 콘텐츠 리사이징 구성요소(114)가 미디어 플레이어 애플리케이션에 의해 디스플레이되는 앨범 커버, 게임 애플리케이션에 의해 디스플레이되는 플레이 카드, 웹 브라우저에 의해 디스플레이되는 광고 등을 확대하도록 사용될 수 있다.
앞서 언급된 수학식을 이용해 텍스트를 포함하는 이미지를 확대하기 위한 한 가지 간단한 방식은 이미지에 포함된 텍스트의 크기를 결정하는 것일 것이다. 이 크기가 본래 크기로서 사용되고 스케일 팩터와 함께 수학식에 입력된다. 그 후 수학식에 의해 생성되는 출력 크기가 본래 크기로 나눠져서, 승수(multiplier)를 생성할 수 있다. 그 후 승수가 이미지 크기에 적용되어 증간된 이미지 크기를 생성할 수 있다. 그러나 이는 단지 하나의 예시에 불과하며 이에 한정되지 않는다. 또 다른 기법 및 수학식이 확대된 이미지 크기를 결정하도록 사용될 수 있다. 또한, 텍스트를 포함하지 않는 이미지에 대해 일부 방식으로 본래 크기가 결정될 수 있을 때 본 명세서에 기재된 콘텐츠 리사이징 기법이 이러한 이미지에도 적용될 수 있음이 자명하다.
앞서 기재된 바와 같이, 콘텐츠 리사이징 구성요소(114)에 의해 사용되는 스케일 팩터가 시스템(100)의 사용자에 의해 선택될 수 있다. 예를 들어, 메모리(104)는 프로세서(102)에 의해 실행될 때 디스플레이(106) 상에 사용자 인터페이스를 디스플레이하는 사용자 인터페이스 구성요소(118)를 저장할 수 있다. 사용자는 스케일 팩터를 선택하기 위해 이러한 사용자 인터페이스와 대화할 수 있다. 하나의 실시예에서, 사용자 인터페이스 구성요소(118)는 메모리(104)에 저장되고 프로세서(102)에 의해 실행되는 운영 체제의 일부분을 포함한다. 그러나 이는 단지 예시에 불과하며, 사용자 인터페이스 구성요소(118)가 반드시 운영 체제의 일부분을 포함해야 하는 것은 아니다. 예를 들어, 사용자 인터페이스 구성요소(118)는 운영 체제의 일부가 아닌 자립형 프로그램을 포함할 수 있다. 또 다른 실시예에서, 사용자 인터페이스 구성요소(118)는 콘텐츠 제공 구성요소(112)의 일부를 포함한다. 또 다른 구현예가 가능하다. 특정 실시예에서, 사용자 인터페이스 구성요소(118)는 사용자가 특정 접근성 기능을 활성화 및 제어할 수 있게 하는 시스템(100)과 연관된 설정 도구의 일부를 포함하지만, 이는 단지 예시에 불과하다.
도 6은 사용자 인터페이스 구성요소(118)에 의해 디스플레이되고 콘텐츠 리사이징을 위해 스케일 팩터를 선택하도록 사용될 수 있는 사용자 인터페이스(600)의 하나의 예시이다. 도 6에 도시된 바와 같이, 사용자 인터페이스(600)는 슬라이더 버튼(slider button)(602) 및 슬라이더 패쓰(slider path)(604)를 포함한다. 슬라이더 버튼(602)을 슬라이더 패쓰(604)를 따라 오른쪽으로 드래그함으로써, 사용자는 스케일 팩터를 증가시킬 수 있다. 반대로, 슬라이더 버튼(602)을 슬라이더 패쓰(604)를 따라 왼쪽으로 드래그함으로써, 사용자는 스케일 팩터를 감소시킬 수 있다. 사용자 입력 장치(들)(108)가 터치 스크린을 포함하는 하나의 실시예에서, 사용자는 자신의 손가락을 터치 스크린을 가로질러 오른쪽 또는 왼쪽으로 슬라이딩함으로써 이러한 슬라이더 버튼(602)의 드래그를 획득할 수 있다. 그러나 다양한 알려진 사용자 입력 장치 중 임의의 것이 슬라이더 버튼(602)과 대화하도록 사용될 수 있음이 자명하다. 사용자가 슬라이더 버튼(602)을 조작하여 스케일 팩터를 선택함에 따라, 사용자 인터페이스(600)의 윈도(606) 내에 디스플레이되는 텍스트 샘플(608)의 크기가 수정되고, 이로써 텍스트의 아이템이 현재 선택된 스케일 팩터를 이용해 어떻게 나타날 것인지에 대한 시각적 예시가 제공될 수 있다.
하나의 실시예에서, 슬라이더 버튼(602)이 사용되어 4개 점진 증가하는 스케일 팩터 값 중 하나를 선택할 수 있으며, 이때 가장 작은 스케일 팩터가 1이다(즉, 어떠한 콘텐츠 리사이징도 없음). 그러나 이 예시는 한정으로 의도된 것이 아니며 슬라이더 버튼(602)은 임의의 개수의 점진 증가하는 스케일 팩터 값을 선택하도록 사용될 수 있다. 실제로, 슬라이더 버튼(602)을 이용해 매우 미세한 분해능까지 스케일 팩터 값이 제어될 수 있다.
사용자 인터페이스(600)가 사용자가 스케일 팩터를 선택할 수 있도록 하는 슬라이더 도구를 포함하더라도, 해당 분야의 통상의 기술자라면 그 밖의 다른 다양한 인터페이스 도구가 동일한 기능을 수행하도록 사용될 수 있음을 알 것이다. 예를 들어, 사용자 입력 장치(108)가 터치 스크린을 포함하는 하나의 실시예에서, 핀치 및 줌 제스처가 사용자가 리사이징을 원하는 콘텐츠(또는 이러한 콘텐츠가 디스플레이되는 영역)에 직접 적용되어 스케일 팩터가 감소 또는 증가되게 하고, 콘텐츠 크기를 조절할 수 있다. 그러나 이는 단지 예시에 불과하다.
대안적 실시예에서, 스케일 팩터는 메모리(104)에 저장되고 프로세서(102)에 의해 실행되는 운영 체제 또는 그 밖의 다른 소프트웨어 구성요소에 의해 자동으로 선택될 수 있다. 이러한 실시예에 따라, 사용자가 리사이징 기능부를 활성화 및/또는 스케일 팩터를 선택할 필요 없이, 시스템(100)은 콘텐츠를 자동으로 리사이징할 것이다. 이러한 스케일 팩터의 자동화된 선택은 메모리(104)에 저장되고 프로세서(102)에 의해 실행된 스케일 팩터 선택 구성요소에 의해 수행될 수 있다. 선택은 하나 이상의 파라미터를 기초로 할 수 있다. 이러한 파라미터는, 비제한적 예를 들면, 디스플레이(106)의 크기, 디스플레이(106)의 해상도, 시스템(100)을 포함하는 장치의 동작 모드, 시스템(100)을 포함하는 디스플레이(106) 또는 장치와 관련된 사용자의 위치 또는 배향, 시스템(100)을 포함하는 장치의 제조업체, 시스템(100)을 포함하는 장치의 모델 중 하나 이상을 포함할 수 있다.
자동화된 방식으로 스케일 팩터를 선택함으로써, 시스템(100)의 실시예가 사용자 입력 없이, 특정 장치 및/또는 뷰잉 시나리오에 대한 최적 콘텐츠 리사이징 전략을 자동으로 선택할 수 있다. 추가로, 이러한 기능에 의해, 개발자가 각각의 플랫폼에 대한 애플리케이션 디스플레이 콘텐츠의 크기 조절에 대해 걱정할 필요 없이, 상이한 플랫폼 상에서 실행될 애플리케이션을 프로그래밍할 수 있다. 대신, 시스템이 애플리케이션이 실행되는 플랫폼에 따라 특정 적용예에 대해 최상의 콘텐츠 리사이징 전략을 선택할 수 있다.
상기의 내용이 콘텐츠 리사이징 구성요소(112)가 콘텐츠 확대를 수행하는 방식을 기재하고 있더라도, 콘텐츠 리사이징 구성요소(112)가 콘텐츠 축소를 수행할 수 있음이 이해될 것이다. 특히, 콘텐츠 리사이징 구성요소(112)는, 스케일 팩터가 감소할 때 큰 콘텐츠 아이템의 크기가 스케일 팩터가 감소할 때의 작은 콘텐츠 아이템의 크기가 감소할 때의 속도보다 느린 속도로 축소되도록 콘텐츠 축소를 수행할 수 있다. 덧붙여, 콘텐츠 리사이징 구성요소는 축소 후의 큰 콘텐츠 아이템의 크기가 축소 후의 작은 콘텐츠 아이템의 크기보다 결코 작거나 같지 않도록 콘텐츠 축소를 수행할 수 있다.
앞서 언급된 콘텐츠 리사이징 기법이 적합하지 않은 애플리케이션이 존재할 수 있다. 예를 들어, 앞서 언급된 콘텐츠 리사이징 기법을 서로 다른 텍스트 아이템의 크기가 각각의 상대적 중요성을 의미하는 태그 클라우드(tag cloud)에 적용하는 것이 바람직하지 않다고 간주될 수 있다. 스케일 팩터가 증가 또는 감소할 때 상이한 속도로 상이한 크기의 텍스트 아이템을 리사이징함으로써, 이러한 텍스트의 크기에 의해 전달될 의도인 본래 정보가 왜곡될 수 있다. 따라서 하나의 실시예에서, 사용자 인터페이스 구성요소(118)가 사용자가 콘텐츠 리사이징 구성요소(114)가 스케일 팩터가 증가 또는 감소할 때 동일한 속도로 모든 텍스트가 확대 또는 축소되는 대안적 모드에서 동작할 수 있게 하는 사용자 인터페이스를 제공하도록 구성된다. 이러한 대안적 모드는 또한 하나 이상의 자동 결정되는 팩터를 기초로 시스템(100)에 의해 호출될 수 있다.
III. 디스플레이로 렌더링될 콘텐츠를 리사이징하기 위한 예시적 방법
도 7은 하나의 실시예에 따라 디스플레이로 렌더링된 콘텐츠 아이템을 확대하기 위한 방법의 흐름도(700)를 도시한다. 흐름도(700)의 방법은, 예를 들어, 도 1을 참조하여 앞서 기재된 시스템(100)의 하나 이상의 구성요소에 의해 수행될 수 있다. 그러나 방법은 이 실시예에 한정되지 않는다.
도 7에 도시된 바와 같이, 흐름도(700)의 방법은 스케일 팩터가 수신되는 단계(702)에서 시작된다. 단계(704)에서, 디스플레이될 콘텐츠 아이템과 연관된 본래 크기가 수신된다. 콘텐츠 아이템은, 예를 들어, 텍스트 아이템 또는 이미지를 포함할 수 있다.
단계(706)에서, 확대 분량(enlargement amount)이 스케일 팩터와 본래 크기의 함수로서 계산된다. 함수는, 고정된 스케일 팩터에 대해, 본래 크기가 커질수록 확대 분량이 감소하도록 정의된다. 하나의 실시예에서, 이러한 방식으로 확대 분량을 계산하는 것이 스케일 팩터 및 본래 크기의 자연 로그의 함수로서 확대 분량을 계산하는 것을 포함한다. 이 예시에 따라, 확대 분량은 수학식 1의 앞서 기재된 함수를 이용해 계산되어, 확대 분량은 다음과 같이 계산된다:
MAX(-e * ln(original_size) + 18, 0) * (scale_factor - 1)
여기서, original_size는 콘텐츠 아이템의 본래 크기를 나타내고 스케일 팩터는 스케일 팩터를 나타낸다.
단계(708)에서, 확대 분량이 본래 크기에 추가되어, 출력 크기를 생성할 수 있으며, 단계(710)에서, 콘텐츠 아이템은 출력 크기로 디스플레이 될 수 있다.
하나의 실시예에서, 단계(702, 704, 706 및 708)는 앞서 기재된 바와 같이 도 1의 시스템(100)을 참조하여 콘텐츠 리사이징 구성요소(114)에 의해 수행되며 단계(710)가 앞서 도 1의 시스템(100)을 참조하여 앞서 기재된 디스플레이 구성요소(116)에 의해 수행된다.
도 8은 하나의 실시예에 따라 디스플레이로 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 확대하기 위한 방법의 흐름도(800)를 도시한다. 흐름도(800)의 방법이, 예를 들어, 앞서 도 1을 참조하여 기재된 바와 같은 시스템(100)의 하나 이상의 구성요소에 의해 수행될 수 있다. 그러나 방법은 이 실시예에 한정되지 않는다.
도 8에 도시된 바와 같이, 흐름도(800)의 방법이 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각과 연관된 각자의 크기가 획득되는 단계(802)에서 시작된다. 제1 콘텐츠 아이템의 크기가 제2 콘텐츠 아이템의 크기와 상이하다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템은, 예를 들어, 2개의 텍스트 아이템, 2개의 이미지, 또는 텍스트 아이템 및 이미지를 각각 포함할 수 있다.
단계(804)에서, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템이 스케일 팩터에 따라 증가하는 속도보다 더 빠른 속도로 증가하도록, 스케일 팩터가 증가할 때 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각과 연관된 각자의 크기가 증가된다.
단계(806)에서, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템이 이들과 각각 연관된 증가된 크기로 디스플레이될 수 있다.
하나의 실시예에서, 단계(802 및 804)는 앞서 도 1의 시스템(100)을 참조하여 기재된 바와 같이 콘텐츠 리사이징 구성요소(114)에 의해 수행되고 단계(806)는 도 1의 시스템(100)을 참조하여 앞서 기재된 바와 같이 디스플레이 구성요소(116)에 의해 수행된다.
도 9는 하나의 실시예에 따라 디스플레이로 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 축소하기 위한 방법의 흐름도(900)를 도시한다. 흐름도(900)의 방법은, 예를 들어, 도 1을 참조하여 앞서 기재된 바와 같이 시스템(100)의 하나 이상의 구성요소에 의해 수행될 수 있다. 그러나 방법은 이러한 실시예에 한정되지 않는다.
도 9에 도시된 바와 같이, 흐름도(900)의 방법은 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각과 연관된 각자의 크기가 획득되는 단계(902)에서 시작된다. 제1 콘텐츠 아이템의 크기는 제2 콘텐츠 아이템의 크기와 상이하다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템은, 예를 들어, 2개의 텍스트 아이템, 2개의 이미지, 또는 텍스트 아이템 및 이미지를 각각 포함할 수 있다.
단계(904)에서, 스케일 팩터에 따라 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템과 연관된 크기가, 스케일 팩터에 따라 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템의 크기가 축소하는 속도보다 느린 속도로 축소하도록, 스케일 팩터가 감소함에 따라 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각과 연관된 각자의 크기가 축소된다.
단계(906)에서, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템이 각자 연관된 축소된 크기로 디스플레이될 수 있다.
하나의 실시예에서, 단계(902 및 904)는 도 1의 시스템(100)을 참조하여 앞서 기재된 바와 같이 콘텐츠 리사이징 구성요소(114)에 의해 수행되고 단계(906)는 도 1의 시스템(100)을 참조하여 앞서 기재된 바와 같이 디스플레이 구성요소(116)에 의해 수행된다.
도 10은 하나의 실시예에 따라 디스플레이로 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 확대하기 위한 또 다른 방법의 흐름도(1000)를 도시한다. 흐름도(1000)의 방법은, 예를 들어, 도 1을 참조하여 앞서 기재된 바와 같은 시스템(100)의 하나 이상의 구성요소에 의해 수행될 수 있다. 그러나 방법은 이 실시예에 한정되지 않는다.
도 10에 도시된 바와 같이, 흐름도(1000)의 방법이 단계(1002)에서 시작되며, 여기서 제1 콘텐츠 아이템과 연관된 본래 크기가 수신된다. 단계(1004)에서, 제2 콘텐츠 아이템과 연관된 본래 크기가 수신된다. 제1 콘텐츠 아이템과 연관된 본래 크기가 제2 콘텐츠 아이템과 연관된 본래 크기와 상이하다. 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템이, 예를 들어, 2개의 텍스트 아이템, 2개의 이미지, 또는 텍스트 아이템 및 이미지를 각각 포함할 수 있다.
단계(1006)에서, 제1 콘텐츠 아이템에 대해 확대 분량이 계산되고 제2 콘텐츠 아이템에 대해 확대 분량이 계산된다. 각자의 콘텐츠 아이템과 연관된 본래 크기 및 스케일 팩터의 함수를 이용해, 각각의 콘텐츠 아이템에 대한 확대 분량이 계산된다. 스케일 팩터에 따라 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템에 대한 확대 분량이, 스케일 팩터에 따라 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템에 대한 확대 분량이 증가하는 속도보다 빠른 속도로 증가하도록, 함수는 정의된다.
하나의 실시예에서, 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각에 대한 확대 분량이 다음에 따라 계산된다:
MAX(-e * ln(original_size) + 18, 0) * (scale_factor - 1)
여기서 original_size가 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템 각각의 본래 크기를 나타내고 scale_factor는 스케일 팩터를 나타낸다.
단계(1008)에서, 제1 콘텐츠 아이템에 대한 확대 분량이 제1 콘텐츠 아이템과 연관된 본래 크기에 추가되어 제1 콘텐츠 아이템과 연관된 출력 크기를 생성할 수 있다.
단계(1010)에서, 제2 콘텐츠 아이템에 대한 확대 분량이 제2 콘텐츠 아이템과 연관된 본래 크기에 추가되어 제2 콘텐츠 아이템과 연관된 출력 크기를 생성할 수 있다.
단계(1012)에서, 제1 콘텐츠 아이템은 제1 콘텐츠 아이템과 연관된 출력 크기로 디스플레이된다.
단계(1014)에서, 제2 콘텐츠 아이템은 제2 콘텐츠 아이템과 연관된 출력 크기로 디스플레이된다.
하나의 실시예에서, 단계(1002, 1004, 1006, 1008 및 1010)는 도 1의 시스템(100)을 참조하여 앞서 기재된 바와 같이 콘텐츠 리사이징 구성요소(114)에 의해 수행되고 단계(1012 및 1014)는 도 1의 시스템(100)을 참조하여 앞서 기재된 바와 같이 디스플레이 구성요소(116)에 의해 수행된다.
추가 실시예에서, 흐름도(1000)의 방법은 사용자 입력을 기초로 스케일 팩터를 선택하는 단계를 더 포함한다. 대안적으로, 흐름도(1000)의 방법은 하나 이상의 파라미터를 기초로 스케일 팩터를 선택하는 단계를 더 포함할 수 있다. 하나 이상의 파라미터는, 비제한적 예를 들어, 디스플레이 크기, 디스플레이 해상도, 장치 동작 모드, 사용자 보기 위치 또는 배향, 장치 제조자, 및 장치 모델 중 하나 이상을 포함할 수 있다.
IV. 예시적 모바일 장치 구현
도 11은 본 명세서에 기재된 실시예를 구현할 수 있는 예시적 모바일 장치(1102)의 블록도이다. 도 11에 도시된 바와 같이, 모바일 장치(1102)는 다양한 선택적 하드웨어 및 소프트웨어 구성요소를 포함한다. 모바일 장치(1102)의 임의의 구성요소가 임의의 타 구성요소와 통신할 수 있지만, 도시의 편의상 모든 연결이 나타나지는 않는다. 모바일 장치(1102)는 다양한 컴퓨팅 장치(가령, 셀 폰, 스마트폰, 핸드헬드 컴퓨터, 개인 디지털 보조기(PDA) 등) 중 임의의 것일 수 있으며 하나 이상의 모바일 통신 네트워크(1104), 가령, 셀방식 네트워크 또는 위성 네트워크, 또는 로컬 영역 또는 광역 네트워크와의 무선 양방향 통신을 가능하게 할 수 있다.
도시된 모바일 장치(1102)는 신호 코딩, 데이터 처리, 입력/출력 처리, 전력 제어, 및/또는 그 밖의 다른 기능 같은 작업을 수행하기 위한 제어기 또는 프로세서(1110)(가령, 신호 프로세서, 마이크로프로세서, ASIC 또는 그 밖의 다른 제어 및 처리 로직 회로)를 포함할 수 있다. 운영 체제(1112)는 모바일 장치(1102)의 구성요소의 할당 및 사용성을 제어하고 하나 이상의 애플리케이션 프로그램(1114)(또한 "애플리케이션" 또는 "앱"이라고도 지칭됨)을 지원할 수 있다. 애플리케이션 프로그램(114)은 공통 모바일 컴퓨팅 애플리케이션(가령, 전자메일 애플리케이션, 일정표, 연락처 관리자, 웹 브라우저, 메시징 애플리케이션) 및 그 밖의 다른 임의의 컴퓨팅 애플리케이션(가령, 워드 처리 애플리케이션, 지도 애플리케이션, 미디어 플레이어 애플리케이션)을 포함할 수 있다.
도시된 모바일 장치(1102)는 메모리(1120)를 포함할 수 있다. 메모리(1120)는 비이동식 메모리(1122) 및/또는 이동식 메모리(1124)를 포함할 수 있다. 비이동식 메모리(1122)는 RAM, ROM, 플래시 메모리, 하드 디스크, 또는 그 밖의 다른 잘 알려진 메모리 장치 또는 기법을 포함할 수 있다. 이동식 메모리(1124)는 플래시 메모리 또는 GSM 통신 시스템에서 잘 알려진 SIM(Subscriber Identity Module) 카드, 또는 그 밖의 다른 잘 알려진 메모리 장치 또는 기법, 가령, "스마트 카드"를 포함할 수 있다. 메모리(1120)는 운영 체제(1112) 및 애플리케이션(1114)을 실행하기 위한 데이터 및/또는 코드를 저장하기 위해 사용될 수 있다. 예시적 데이터는 하나 이상의 유선 또는 무선 네트워크를 통해 하나 이상의 네트워크 서버 또는 그 밖의 다른 장치로 송신될 및/또는 장치로부터 수신될 웹 페이지, 텍스트, 이미지, 소리 파일, 비디오 데이터, 또는 그 밖의 다른 데이터를 포함할 수 있다. 메모리(1120)는 가입자 식별자, 가령, IMSI(International Mobile Subscriber Identity), 및 장치 식별자, 가령, IMEI(International Mobile Equipment Identifier)를 저장하도록 사용될 수 있다. 이러한 식별자는 사용자 및 장비를 식별하도록 네트워크 서버로 전송될 수 있다.
모바일 장치(1102)는 하나 이상의 입력 장치(1130), 가령, 터치 스크린(1132), 마이크로폰(1134), 카메라(1136), 물리적 키보드(1138) 및/또는 트랙볼(1140) 및 하나의 출력 장치(1150), 가령, 스피커(1152) 및 디스플레이(1154)를 지원할 수 있다. 터치 스크린, 가령, 터치 스크린(1132)은 여러 다른 방식으로 입력을 검출할 수 있다. 예를 들어, 물체(가령, 손가락끝)가 표면을 가로질러 흐르는 전기 전류를 왜곡시키거나 방해할 때 용량성 터치 스크린이 터치 입력을 검출한다. 또 다른 예를 들면, 광학 센서로부터의 빔이 차단될 때 터치 스크린이 광학 센서를 이용해 터치 입력을 검출할 수 있다. 입력이 일부 터치 스크린에 의해 검출되기 위해 스크린의 표면과의 물리적 접촉이 반드시 필요한 것은 아니다.
또 다른 가능한 출력 장치(도시되지 않음)가 압전성 또는 그 밖의 다른 햅틱(haptic) 출력 장치를 포함할 수 있다. 어떤 장치는 둘 이상의 입/출력 기능을 서비스할 수 있다. 예를 들어, 터치 스크린(1132) 및 디스플레이(1154)는 단일 dq/출력 장치로 조합될 수 있다. 입력 장치(1130)는 NUI(Natural User Interface)를 포함할 수 있다.
해당 분야에 잘 알려진 바와 같이 무선 모뎀(1160)은 안테나(도시되지 않음)에 연결될 수 있고 프로세서(1110)와 외부 장치 간 양방향 통신을 지원할 수 있다. 모뎀(1160)이 일반적으로 도시되며 모바일 통신 네트워크(1104) 및/또는 그 밖의 다른 무선 기반 모뎀(가령, 블루투스(1164) 및/또는 Wi-Fi(1162))과 통신하기 위한 셀방식 모뎀(1166)을 포함할 수 있다. 일반적으로 무선 모뎀(1160) 중 적어도 하나가 하나 이상의 셀방식 네트워크, 가령, 단일 셀방식 네트워크 내 데이터 및 음성 통신을 위한 GSM 네트워크와 통신하도록, 셀방식 네트워크들 간에 통신하도록, 또는 모바일 장치와 공중 교환 전화 네트워크(PSTN: public switched telephone network) 간에 통신하도록 구성된다.
모바일 장치(1102)는 적어도 하나의 입/출력 포트(1180), 파워 공급기(1182), 위성 항법 시스템 수신기(1184), 가령, GPS(Global Positioning System) 수신기, 가속도계(1186), 및/또는 USB 포트, IEEE 1394(Fire Wire) 포트 및/또는 RS-232 포트일 수 있는 물리적 연결기(1190)를 더 포함할 수 있다. 해당 분야의 통상의 기술자에게 자명할 바와 같이, 임의의 구성요소가 삭제되거나 또 다른 구성요소가 추가될 수 있기 때문에, 모바일 장치(1102)의 도시된 구성요소가 반드시 필요하거나 모두 포함되는 것은 아니다.
하나의 실시예에서, 모바일 장치(1102)의 특정 구성요소가 선행 섹션에서 기재된 콘텐츠 리사이징 기법을 수행하도록 구성된다. 예를 들어, 하나의 실시예에서, 콘텐츠 리사이징 기법은 애플리케이션(1114), 운영 체제(1112), 또는 운영 체제(1112)와 함께 동작하는 애플리케이션(1114) 중 임의의 하나에 의해 구현될 수 있다. 특정 비제한적 예시에 따르면, 애플리케이션(1114) 중 임의의 하나가 도 1의 시스템(100)을 참조하여 앞서 기재된 바와 같은 콘텐츠 제공 구성요소(112)의 기능을 수행할 수 있고 운영 체제(1112)는 도 1의 시스템(100)을 참조하여 앞서 기재된 바와 같은 콘텐츠 리사이징 구성요소(114), 디스플레이 구성요소(116), 및 사용자 인터페이스 구성요소(118)의 기능을 수행할 수 있다. 그러나 이는 단지 예시에 불과하고 상이한 구성요소에 의해 상이한 기능이 수행될 수 있다. 리사이징된 콘텐츠가 디스플레이(1154)에 렌더링될 수 있다. 덧붙여, 입력 장치(1130)는 콘텐츠 리사이징 기능부를 활성화하고 스케일 팩터를 선택하도록 사용될 수 있다.
앞서 기재된 콘텐츠 리사이징 기법을 수행하기 위한 컴퓨터 프로그램 로직이 메모리(1120)에 저장되고 프로세서(1110)에 의해 실행될 수 있다. 이러한 컴퓨터 프로그램 로직을 실행함으로써, 프로세서(1110)는 도 1을 참조하여 앞서 기재된 바와 같은 시스템(100)의 임의의 구성요소들의 임의의 특징을 구현할 수 있다. 또한 이러한 컴퓨터 프로그램 로직을 실행함으로써, 프로세서(1110)는 도 7을 참조하여 앞서 기재된 바와 같은 흐름도(700), 도 8을 참조하여 앞서 기재된 흐름도(800), 도 9를 참조하여 앞서 기재된 흐름도(900), 및 도 10을 참조하여 앞서 기재된 흐름도(1000)의 임의의 또는 모든 단계들을 수행할 수 있다.
V. 예시적 컴퓨터 시스템 구현
도 12는 본 명세서에 기재된 다양한 실시예를 구현하도록 사용될 수 있는 예시적 프로세서-기반 컴퓨터 시스템(1200)을 도시한다. 예를 들어, 시스템(1200)은 도 1을 참조하여 앞서 기재된 시스템(100)의 구성요소들 중 임의의 것을 구현하도록 사용될 수 있다. 시스템(1200)은 도 7을 참조하여 앞서 기재된 흐름도(700), 도 8을 참조하여 앞서 기재된 흐름도(800), 도 9를 참조하여 앞서 기재된 흐름도(900), 및 도 10을 참조하여 앞서 기재된 흐름도(1000)의 임의의 단계를 수행하도록 사용될 수 있다. 본 명세서에서 제공되는 시스템(1200)의 기재는 설명 목적으로만 제공되며 한정을 위한 것이 아니다. 실시예는 해당 분야의 통상의 기술자에게 자명할 바와 같이, 또 다른 유형의 컴퓨터 시스템에서 구현될 수 있다.
도 12에서 도시된 바와 같이, 시스템(1200)은 처리 유닛(1102), 시스템 메모리(1204), 및 다양한 시스템 구성요소, 가령, 시스템 메모리(1204)를 처리 유닛(1202)으로 연결하는 버스(1206)를 포함한다. 처리 유닛(1202)은 하나 이상의 마이크로프로세서 또는 마이크로프로세서 코어를 포함할 수 있다. 버스(1206)는 다양한 버스 아키텍처 중 임의의 것을 이용하는 여러 유형의 버스 구조, 가령, 메모리 버스 또는 메모리 제어기, 주변 버스, 가속화된 그래픽 포트, 프로세서 또는 로컬 버스 중 임의의 것을 나타낸다. 시스템 메모리(1204)는 리드 온리 메모리(ROM)(1208) 및 랜덤 액세스 메모리(RAM)(1210)를 포함한다. 기본 입/출력 시스템(1212)(BIOS)이 ROM(1208)에 저장된다.
시스템(1200)은 다음의 드라이브 중 하나 이상을 가진다: 하드 디스크로부터 읽고 쓰기 위한 하드 디스크 드라이브(1214), 이동식 자기 디스크(1218)로부터 읽고 쓰기 위한 자기 디스크 드라이브(1216), 및 이동식 광학 디스크(1222), 가령, CD ROM, DVD ROM, BLU-RAY™ 디스크 또는 그 밖의 다른 광학 매체로부터 읽고 쓰기 위한 광학 디스크 드라이브(1220). 하드 디스크 드라이브(1214), 자기 디스크 드라이브(1216), 및 광학 디스크 드라이브(1220)가 하드 디스크 드라이브 인터페이스(1224), 자기 디스크 드라이브 인터페이스(1226), 및 광학 드라이브 인터페이스(1228)에 의해 각각 버스(1206)에 연결된다. 드라이브 및 이들과 연관된 컴퓨터 판독형 매체는 컴퓨터에 대한 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈 및 그 밖의 다른 데이터에 대한 비휘발성 저장을 제공한다. 하드 디스크, 이동식 자기 디스크, 및 이동식 광학 디스크가 기재되지만, 그 밖의 다른 유형의 컴퓨터 판독형 메모리 장치 및 저장 구조가 데이터를 저장하기 위해 사용될 수 있으며, 예를 들어, 플래시 메모리 카드, 디지털 비디오 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM) 등이 있다.
복수의 프로그램 모듈이 하드 디스크, 자기 디스크, 광학 디스크, ROM 또는 RAM에 저장될 수 있다. 이들 프로그램 모듈은 운영 체제(1230), 하나 이상의 애플리케이션 프로그램(1232), 그 밖의 다른 프로그램 모듈(1234), 및 프로그램 데이터(1236)를 포함한다. 다양한 실시예에 따르면, 프로그램 모듈은 도 1을 참조하여 앞서 기재된 시스템(100)의 임의의 또는 모든 기능 및 특징을 수행하도록 프처리 유닛(1202)에 의해 실행 가능한 컴퓨터 프로그램 로직을 포함할 수 있다. 프로그램 모듈은 또한 처리 유닛(1202)에 의해 실행될 때 도 1의 흐름도(700), 도 8의 흐름도(800), 도 9의 흐름도(900), 및 도 10의 흐름도(1000)를 참조하여 도시되거나 기재된 단계 또는 동작들 중 임의의 것을 수행하는 컴퓨터 프로그램 로직을 더 포함할 수 있다.
사용자는 입력 장치, 가령, 키보드(1238) 및 포인팅 장치(1240)를 통해 시스템(1200)으로 명령어 및 정보를 입력할 수 있다. 그 밖의 다른 입력 장치(도시되지 않음)가 마이크로폰, 조이스틱, 게임 제어기, 스캐너 등을 포함할 수 있다. 하나의 실시예에서, 터치 스크린이 디스플레이(1244)와 함께 제공됨으로써 사용자는 터치 스크린 상의 하나 이상의 포인트로의 (가령, 손가락 또는 스타일러스에 의한) 터치의 적용을 통해 사용자 입력을 제공할 수 있다. 이들 및 그 밖의 다른 입력 장치가 종종 버스(1206)로 연결된 직렬 포트 인터페이스(1242)를 통해 처리 유닛(1202)으로 연결되지만, 다른 인터페이스, 가령, 병렬 포트, 게임 포트, 또는 전역 직렬 버스(USB)에 의해 연결될 수 있다. 이러한 인터페이스는 유선 또는 무선 인터페이스일 수 있다.
디스플레이(1244)는 인터페이스, 가령, 비디오 어댑터(1246)를 통해 버스(1206)로 연결된다. 디스플레이(1244)에 추가로, 시스템(1200)은 다른 주변 출력 장치(도시되지 않음), 가령, 스피커 및 프린터를 포함할 수 있다.
시스템(1200)은 네트워크 인터페이스 또는 어댑터(1250), 모뎀(1252), 또는 네트워크를 통한 통신을 확립하기 위한 그 밖의 다른 적합한 수단을 통해 네트워크(1248)(가령, 로컬 영역 네트워크 또는 광역 네트워크, 가령, 인터넷)으로 연결된다. 모뎀(1252)은 내부형이거나 외부형일 수 있으며, 직렬 포트 인터페이스(1242)를 통해 버스(1206)로 연결된다.
앞서 사용된 바와 같이, 용어 "컴퓨터 프로그램 매체", "컴퓨터 판독형 매체", 및 "컴퓨터 판독형 저장 매체"가 일반적으로 메모리 장치 또는 저장 구조, 가령, 하드 디스크 드라이브(1214), 이동식 자기 디스크(1218), 이동식 광학 디스크(1222), 및 그 밖의 다른 메모리 장치 또는 저장 구조, 가령, 플래시 메모리 카드, 디지털 비디오 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM) 등을 지칭하도록 사용된다. 이러한 컴퓨터 판독형 저장 매체는 통신 매체와 구별되며 겹치지 않는다(통신 매체를 포함하지 않는다). 일반적으로 통신 매체는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터를 변조된 데이터 신호, 가령, 반송파로 구현한다. 용어 "변조된 데이터 신호"는 신호에 정보를 인코딩하기 위해 설정 또는 변경된 하나 이상의 특성을 갖는 신호를 의미한다. 비제한적 예를 들면, 통신 매체는 무선 매체, 가령, 음향, RF, 적외선 및 그 밖의 다른 무선 매체를 포함한다. 실시예는 이러한 통신 매체와도 관련된다.
앞서 언급된 바와 같이, 컴퓨터 프로그램 및 모듈(가령, 애플리케이션 프로그램(1232) 및 그 밖의 다른 프로그램 모듈(1234))이 하드 디스크, 자기 디스크, 광학 디스크, ROM 또는 RAM에 저장될 수 있다. 또한 이러한 컴퓨터 프로그램은 네트워크 인터페이스(1250), 직렬 포트 인터페이스(1242), 또는 그 밖의 다른 임의의 인터페이스 유형을 통해 수신될 수 있다. 이러한 컴퓨터 프로그램은, 애플리케이션에 의해 실행되거나 로딩될 때, 컴퓨터(1200)로 하여금 본 명세서에 기재된 본 발명의 실시예의 특징을 구현하게 할 수 있다. 따라서 이러한 컴퓨터 프로그램은 시스템(1200)의 제어기를 나타낸다.
실시예는 또한 임의의 컴퓨터 이용 가능 매체 상에 저장된 소프트웨어를 포함하는 컴퓨터 프로그램 제품와 관련된다. 이러한 소프트웨어는, 하나 이상의 데이터 처리 장치에서 실행될 때, 데이터 처리 장치로 하여금 본 명세서에 기재된 바와 같이 동작하게 한다. 본 발명의 실시예는 현재 알려져 있거나 미래에 알려질 임의의 컴퓨터 이용 가능 또는 컴퓨터 판독형 매체를 이용한다. 컴퓨터 판독형 매체의 비제한적 예를 들면, 메모리 장치 및 저장 구조, 가령, RAM, 하드 드라이브, 플로피 디스크, CD ROM, DVD ROM, 집 디스크, 테이프, 자기 저장 장치, 광학 저장 장치, MEM, 나노기술-기반 저장 장치 등이 있다.
대안적 구현예에서, 시스템(1200)은 하드웨어 로직/전기 회로 또는 펌웨어로서 구현될 수 있다. 추가 실시예에 따르면, 이들 구성요소 중 하나 이상이 시스템-오-칩(SoC)에서 구현될 수 있다. SoC는 프로세서(가령, 마이크로제어기, 마이크로프로세서, 디지털 신호 프로세서(DSP) 등), 메모리, 하나 이상의 통신 인터페이스, 및/또는 추가 회로 및/또는 이의 기능을 수행하기 위한 임베디드 펌웨어 중 하나 이상을 포함하는 집적 회로 칩을 포함할 수 있다.
VI. 결론
앞서 다양한 실시예가 기재되었지만, 이들은 단지 예시로서 제공된 것이며 한정으로 제공된 것이 아님이 자명하다. 해당 분양의 통상의 기술자에게 본 발명의 사상 및 범위 내에서 형태 및 세부사항의 다양한 변경이 이뤄질 수 있음이 자명할 것이다. 따라서 본 발명의 범위가 앞서 기재된 예시적 실시예들 중 임의의 것에 의해 한정되지 않고 다음의 청구항 및 이의 균등예에 따라서만 규정되어야 한다.
Claims (10)
- 장치로서,
적어도 하나의 프로세서, 및
상기 적어도 하나의 프로세서에 의해 실행되는 컴퓨터 프로그램 로직을 저장하는 메모리를 포함하고,
상기 컴퓨터 프로그램 로직은 상기 적어도 하나의 프로세서에 의해 실행될 때 동작을 수행하도록 구성된 복수의 구성요소를 포함하며, 상기 복수의 구성요소는
디스플레이에 렌더링될 제1 콘텐츠 아이템 및 제2 콘텐츠 아이템을 제공하도록 구성된 콘텐츠-제공 구성요소,
상기 제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템 각각과 연관된 각자의 크기를 스케일 팩터(scale factor)가 증가함에 따라 증가시키도록 구성된 콘텐츠 리사이징 구성요소(content resizing component) - 상기 제1 콘텐츠 아이템은 상기 제2 콘텐츠 아이템과 상이한 크기를 갖고, 상기 제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 증가하는 속도보다 빠른 속도로 상기 제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 증가하도록, 증가가 이뤄짐 - , 및
제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템이 각자 연관된 증가된 크기로 디스플레이되게 하는 디스플레이 구성요소를 포함하는
장치.
- 제1항에 있어서,
상기 제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템은
2개의 텍스트 아이템,
2개의 이미지, 또는
각각 하나의 텍스트 아이템 및 하나의 이미지인
장치.
- 제1항에 있어서,
상기 복수의 구성요소는 상기 장치의 사용자가 상기 스케일 팩터를 선택하게 하도록 구성되는 사용자 인터페이스 구성요소를 더 포함하는
장치.
- 제1항에 있어서,
상기 복수의 구성요소는 디스플레이 크기, 디스플레이 해상도, 장치 동작 모드, 사용자 보기 위치 또는 배향, 장치 제조사, 및 장치 모델 중 하나 이상을 기초로 상기 스케일 팩터를 자동으로 선택하도록 구성된 스케일 팩터 선택 구성요소를 더 포함하는
장치.
- 제1항에 있어서,
상기 콘텐츠 리사이징 구성요소는 상기 메모리에 저장된 운영 체제의 일부분을 포함하는
장치.
- 제1항에 있어서,
상기 콘텐츠 제공 구성요소는 상기 메모리에 저장된 애플리케이션의 일부분을 포함하는
장치.
- 제1항에 있어서,
상기 콘텐츠 리사이징 구성요소는 API(application programming interface)를 통해 타 구성요소에 액세스 가능하며, 상기 API는 콘텐츠 아이템과 연관된 크기를 수신하고 상기 콘텐츠 아이템에 대한 조절된 크기를 반환하는 함수, 및 콘텐츠 리사이징 기능이 활성 상태인지 비활성 상태인지를 가리키는 함수 중 적어도 하나를 포함하는
장치.
- 제1항에 있어서,
상기 콘텐츠 리사이징 구성요소는 상기 스케일 팩터가 감소함에 따라 상기 제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템 각각과 연관된 각자의 크기를 축소하도록 더 구성되며, 상기 제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템 중 큰 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 축소하는 속도보다 느린 속도로 상기 제1 콘텐츠 아이템 및 상기 제2 콘텐츠 아이템 중 작은 콘텐츠 아이템과 연관된 크기가 스케일 팩터에 따라 축소하도록, 축소가 수행되는
장치.
- 콘텐츠 리사이징(content resizing)을 수행하기 위한 방법으로서,
스케일 팩터(scale factor)를 수신하는 단계,
디스플레이될 콘텐츠 아이템과 연관된 본래 크기(original size)를 수신하는 단계,
상기 스케일 팩터 및 상기 본래 크기의 함수로서 확대 분량을 계산하는 단계 - 상기 함수는, 고정된 스케일 팩터에 대해, 상기 본래 크기가 증가할수록 확대 분량이 감소하도록 정의됨 - ,
상기 확대 분량을 상기 본래 크기에 더해, 출력 크기를 생성하는 단계, 및
상기 콘텐츠 아이템이 상기 출력 크기로 디스플레이되게 하는 단계를 포함하는
콘텐츠 리사이징을 수행하기 위한 방법.
- 제9항에 있어서,
상기 확대 분량을 계산하는 단계는 상기 스케일 팩터 및 상기 본래 크기의 자연 로그의 함수로서 확대 분량을 계산하는 단계를 포함하는
콘텐츠 리사이징을 수행하기 위한 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/083,992 US9747007B2 (en) | 2013-11-19 | 2013-11-19 | Resizing technique for display content |
US14/083,992 | 2013-11-19 | ||
PCT/US2014/066020 WO2015077189A1 (en) | 2013-11-19 | 2014-11-18 | Resizing technique for display content |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160086842A true KR20160086842A (ko) | 2016-07-20 |
KR102310654B1 KR102310654B1 (ko) | 2021-10-07 |
Family
ID=52014381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167013149A KR102310654B1 (ko) | 2013-11-19 | 2014-11-18 | 디스플레이 콘텐츠의 리사이징 기법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9747007B2 (ko) |
EP (1) | EP3072042A1 (ko) |
KR (1) | KR102310654B1 (ko) |
CN (1) | CN105745612B (ko) |
WO (1) | WO2015077189A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339859A1 (en) | 2012-06-15 | 2013-12-19 | Muzik LLC | Interactive networked headphones |
WO2015106013A2 (en) * | 2014-01-09 | 2015-07-16 | AI Squared | Systems and methods for transforming a user interface icon into an enlarged view |
JP6432449B2 (ja) * | 2015-06-02 | 2018-12-05 | コニカミノルタ株式会社 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
KR102406926B1 (ko) | 2015-07-20 | 2022-06-10 | 엘지전자 주식회사 | 전자 액자 및 전자 액자의 이미지 표시 방법 |
US20170052683A1 (en) * | 2015-08-20 | 2017-02-23 | International Business Machines Corporation | Altering a display perspective to avoid scrolling |
CN110178159A (zh) * | 2016-10-17 | 2019-08-27 | 沐择歌公司 | 具有集成式投影仪的音频/视频可穿戴式计算机系统 |
CN106910158B (zh) * | 2016-11-14 | 2020-12-01 | 上海仪电鑫森科技发展有限公司 | 自适应矢量显示系统 |
CN106648341B (zh) * | 2016-11-18 | 2020-07-10 | 惠州Tcl移动通信有限公司 | 一种显示界面排版调整方法及系统 |
CN106933487A (zh) * | 2017-03-15 | 2017-07-07 | 深圳市金立通信设备有限公司 | 一种图像缩放方法及终端 |
CN110275749B (zh) * | 2019-06-19 | 2022-03-11 | 深圳顺盈康医疗设备有限公司 | 一种表面放大显示的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030164861A1 (en) * | 2002-03-04 | 2003-09-04 | Monique Barbanson | Legibility of selected content |
US20090109243A1 (en) * | 2007-10-25 | 2009-04-30 | Nokia Corporation | Apparatus and method for zooming objects on a display |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7345688B2 (en) * | 2004-10-18 | 2008-03-18 | Microsoft Corporation | Semantic thumbnails |
US20060227153A1 (en) * | 2005-04-08 | 2006-10-12 | Picsel Research Limited | System and method for dynamically zooming and rearranging display items |
US7916157B1 (en) | 2005-08-16 | 2011-03-29 | Adobe Systems Incorporated | System and methods for selective zoom response behavior |
US8648858B1 (en) * | 2009-03-25 | 2014-02-11 | Skyfire Labs, Inc. | Hybrid text and image based encoding |
US8832548B2 (en) | 2009-09-21 | 2014-09-09 | Google Inc. | System and method for selective control of zoom adjustments in an electronic publication |
GB201000738D0 (en) * | 2010-01-18 | 2010-03-03 | British Telecomm | Graphical data processing |
US8782716B2 (en) | 2011-07-29 | 2014-07-15 | Google Inc. | Systems and methods for rendering user interface objects in accordance with a variable scaling factor |
US9489121B2 (en) | 2011-11-02 | 2016-11-08 | Microsoft Technology Licensing, Llc | Optimal display and zoom of objects and text in a document |
US9123138B2 (en) * | 2013-06-18 | 2015-09-01 | Adobe Systems Incorporated | Adaptive patch-based image upscaling |
-
2013
- 2013-11-19 US US14/083,992 patent/US9747007B2/en active Active
-
2014
- 2014-11-18 EP EP14809195.2A patent/EP3072042A1/en not_active Withdrawn
- 2014-11-18 WO PCT/US2014/066020 patent/WO2015077189A1/en active Application Filing
- 2014-11-18 KR KR1020167013149A patent/KR102310654B1/ko active IP Right Grant
- 2014-11-18 CN CN201480063389.2A patent/CN105745612B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030164861A1 (en) * | 2002-03-04 | 2003-09-04 | Monique Barbanson | Legibility of selected content |
US20090109243A1 (en) * | 2007-10-25 | 2009-04-30 | Nokia Corporation | Apparatus and method for zooming objects on a display |
Also Published As
Publication number | Publication date |
---|---|
WO2015077189A1 (en) | 2015-05-28 |
US9747007B2 (en) | 2017-08-29 |
EP3072042A1 (en) | 2016-09-28 |
US20150143287A1 (en) | 2015-05-21 |
CN105745612A (zh) | 2016-07-06 |
CN105745612B (zh) | 2019-06-18 |
KR102310654B1 (ko) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102310654B1 (ko) | 디스플레이 콘텐츠의 리사이징 기법 | |
US9448694B2 (en) | Graphical user interface for navigating applications | |
US9418171B2 (en) | Acceleration of rendering of web-based content | |
CN106164856B (zh) | 自适应用户交互窗格管理器 | |
US9207837B2 (en) | Method, apparatus and computer program product for providing multiple levels of interaction with a program | |
CN106095449B (zh) | 提供便携式装置的用户接口的方法和设备 | |
KR20210151956A (ko) | 다수의 애플리케이션 윈도우들과 상호작용하기 위한 시스템들, 방법들, 및 사용자 인터페이스들 | |
US20150378600A1 (en) | Context menu utilizing a context indicator and floating menu bar | |
US20170031563A1 (en) | Method and apparatus for display control and electronic device | |
CN108463799B (zh) | 电子设备的柔性显示器及其操作方法 | |
MX2014006732A (es) | Herramienta de analisis rapido para programas de aplicacion de hoja de calculo. | |
US8717328B1 (en) | System and method for managing display power consumption | |
US20130335335A1 (en) | Method and apparatus for gesture based copying of attributes | |
US10620803B2 (en) | Selecting at least one graphical user interface item | |
US20150286342A1 (en) | System and method for displaying application data through tile objects | |
TW201435713A (zh) | 在修改期間保留內容區域之佈局 | |
EP2650797A2 (en) | Electronic device and method for annotating data | |
CN106250111A (zh) | 一种壁纸获取方法及终端 | |
US10192523B2 (en) | Method and apparatus for providing an overview of a plurality of home screens | |
US20130155112A1 (en) | Method, apparatus and computer program product for graphically transitioning between multiple program interface levels of a program | |
EP3186698B1 (en) | Full screen pop-out of objects in editable form | |
CN108027673B (zh) | 扩展用户触摸输入 | |
CN115698988A (zh) | 用于经由远程浏览器实例查看不兼容网页的系统和方法 | |
KR101730381B1 (ko) | 문맥 정보에 기초하여 스크롤을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 | |
CN106415626B (zh) | 从单个项目发起的组选择 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |