KR20130105410A - 화상 표시 장치 및 화상 표시 방법 - Google Patents

화상 표시 장치 및 화상 표시 방법 Download PDF

Info

Publication number
KR20130105410A
KR20130105410A KR1020130025512A KR20130025512A KR20130105410A KR 20130105410 A KR20130105410 A KR 20130105410A KR 1020130025512 A KR1020130025512 A KR 1020130025512A KR 20130025512 A KR20130025512 A KR 20130025512A KR 20130105410 A KR20130105410 A KR 20130105410A
Authority
KR
South Korea
Prior art keywords
display
target object
screen
touch
image
Prior art date
Application number
KR1020130025512A
Other languages
English (en)
Other versions
KR101455520B1 (ko
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 캐논 가부시끼가이샤
Publication of KR20130105410A publication Critical patent/KR20130105410A/ko
Application granted granted Critical
Publication of KR101455520B1 publication Critical patent/KR101455520B1/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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

복수의 대상물을 포함한 화상을 표시하기 위한 화상 표시 장치는, 상기 화상에 포함된 각 대상물을 표시하는 제 1 표시 모드가 지정된 경우, 표시 목표 대상물의 속성에 따라 표시 배율과 표시 위치를 설정하도록 구성된 설정 유닛과, 상기 설정 유닛에 의해 설정된 표시 배율과 표시 위치에 기초하여 상기 표시 목표 대상물을 포함한 화상을 화면에 표시하기 위한 제어를 실시하도록 구성된 표시 제어 유닛을 포함한다.

Description

화상 표시 장치 및 화상 표시 방법{IMAGE DISPLAY APPARATUS AND IMAGE DISPLAY METHOD}
본 발명은 화상 데이터를 작은 화면에서 열람하기에 적합한 화상 표시 장치 및 화상 표시 방법에 관한 것이다.
종래에, 개인용 컴퓨터, 개인 휴대 정보 단말기(PDA), 스마트 폰, 태블릿 컴퓨터 등과 같이 비교적 작은 화상 표시 장치에서, 화소 수가 많은 문서 페이지 화상을 표시할 때, 페이지 화상의 각 부분이 순차적으로 표시된다. 일반적인 페이지 화상은 단락, 제목, 그림, 사진, 표 등의 레이아웃 요소로 이루어진 여러 부분들을 포함한다. 문서를 판독하기 위해서는 페이지의 소정 부분이 화상 표시 장치에 표시되도록 사용자가 스크롤링, 확대 및 축소 조작을 반복하여야 한다.
사용자는 스위치, 휠, 트랙볼, 조이스틱, 터치 스크린과 같은 입력 장치를 조작함으로써 표시 부분을 스크롤링, 확대 및 축소한다. 특히, 고정밀 터치 스크린을 가진 많은 화상 표시 장치는 스와이프(swipe) 조작을 통한 수직, 수평 및 대각선 방향으로의 스크롤링, 핀치-아웃 조작을 통한 확대 및 핀치-인 조작을 통한 축소와 같은 직접적인 조작감(직접 조작)을 생성한다.
일본 특허 번호 제 4094512 호는 일차원적인 조작(오른쪽 화살표 키 조작)을 통해 문서 화상 판독 순서에 따라 화면을 2차원적으로 스크롤링함으로써 문서 화상의 각 영역을 화면에 100%의 배율로 순차적으로 표시하는 기술을 개시하고 있다.
그러나, 스와이프 조작을 통한 소정 방향으로의 표시 부분의 스크롤링, 핀치-아웃 조작을 통한 표시 부분의 확대 및 핀치-인 조작을 통한 표시 부분의 축소를 통해 사용자가 페이지 내의 화상을 순차적으로 판독하는 경우, 사용자가 원하는 표시 범위가 화면에 맞춰지도록 표시 부분의 크기와 위치가 미세 조정되어야 할 필요가 있다. 이러한 처리는 번거롭고 복잡하다.
또한, 일본 특허 번호 제 4094512 호에 개시된 기술은 화살표 키 조작에 대응하는 판독 순서에 따라 각각의 영역을 순차적으로 100%의 배율로 표시하기 때문에, 이 기술은 각 영역의 표시 크기를 조정할 수 없다. 또한, 일본 특허 번호 제 4094512 호에 개시된 기술은 화살표 키를 사용하여 사용자가 조작을 실시하는 것을 전제로 하고 있으며, 사용자가 스와이프 조작과 확대 및 축소 조작을 실시하는 경우를 고려하지 않았다.
본 발명의 일 양태에 따라, 복수의 대상물(object)을 포함한 화상을 표시하기 위한 화상 표시 장치는, 상기 화상에 포함된 각 대상물을 표시하는 제 1 표시 모드가 지정된 경우, 표시 목표 대상물의 속성에 따라 표시 배율과 표시 위치를 설정하도록 구성된 설정 유닛과, 상기 설정 유닛에 의해 설정된 표시 배율과 표시 위치에 기초하여 상기 표시 목표 대상물을 포함한 화상을 화면에 표시하기 위한 제어를 실시하도록 구성된 표시 제어 유닛을 포함한다.
본 발명의 예시적 실시예에 따르면, 대상물을 표시하는 제 1 표시 모드는 각 대상물의 속성에 따라 열람하기 편한 형태로 화면에 각 대상물을 표시할 수 있도록 한다.
첨부도면과 관련된 예시적 실시예에 대한 하기의 상세한 설명으로부터 본 발명의 추가적인 특징과 양태가 명백해질 것이다.
본 명세서에 통합되어 그 일부를 구성하는 첨부도면은 본 발명의 예시적 실시예, 특징 및 양태들을 도시하고 있으며, 상세한 설명과 함께 본 발명의 원리를 설명하는 역할을 한다.
도 1은 본 발명의 제 1 예시적 실시예에 따른 화상 처리 시스템을 나타내는 블록도이다.
도 2는 도 1에 도시된 복합기(MFP)를 나타내는 블록도이다.
도 3은 제 1 예시적 실시예에 따른 제 1 데이터 처리를 나타내는 흐름도이다.
도 4는 제 1 예시적 실시예에 따라 스캐너로부터 화상을 판독하는 처리를 나타내는 흐름도이다.
도 5는 제 1 예시적 실시예에 따라 개인용 컴퓨터(PC)로부터의 데이터를 비트맵 데이터로 변환하는 처리를 나타내는 흐름도이다.
도 6은 제 1 예시적 실시예에 따른 메타데이터 부가 처리를 나타내는 흐름도이다.
도 7은 대상물을 분할한 결과의 일 예를 나타내는 도면이다.
도 8은 대상물 분할이 실시되었을 때 각 속성에 대한 블록 정보와 입력 파일 정보를 나타내는 도면이다.
도 9는 제 1 예시적 실시예에 따른 벡터화 처리를 나타내는 흐름도이다.
도 10은 벡터화 처리에서의 각 추출 처리를 나타내는 도면이다.
도 11은 벡터화 처리에서의 윤곽선 그룹화 처리를 나타내는 도면이다.
도 12는 윤곽에 기초한 벡터화 처리를 나타내는 흐름도이다.
도 13은 제 1 예시적 실시예에 따른 벡터화 처리 결과의 데이터를 나타내는 도면이다.
도 14는 어플리케이션 화상 데이터 생성 처리를 나타내는 흐름도이다.
도 15는 문서 구조 트리 생성 처리를 나타내는 흐름도이다.
도 16은 문서 구조 트리 생성 처리의 대상이 되는 문서를 나타내는 도면이다.
도 17은 도 15에 도시된 처리에 의해 생성된 문서 구조 트리를 나타내는 도면이다.
도 18은 본 발명의 예시적 실시예에 따른 SVG(Scalable Vector Graphics) 포맷의 일 예를 나타내는 도면이다.
도 19는 PDA의 구성을 나타내는 블록도이다.
도 20은 PDA의 소프트웨어 모듈의 구성을 나타내는 블록도이다.
도 21a 내지 도 21l은 제스처(gesture) 이벤트의 명칭과 각 이벤트가 발생했을 때 송신되는 정보를 나타내는 도면이다.
도 22는 PDA가 어플리케이션 화상 데이터를 수신했을 때 실행되는 처리를 나타내는 흐름도이다.
도 23은 PDA의 터치 사용자 인터페이스(UI)의 화면 표시의 일 예를 나타내는 도면이다.
도 24는 어플리케이션 화상 데이터의 조작 제어에 관련된 소프트웨어 모듈의 구성을 나타내는 블록도이다.
도 25는 제 1 예시적 실시예에 따른 모드 전환 처리를 나타내는 흐름도이다.
도 26a 및 도 26b는 PDA의 터치 UI의 화면 표시의 일 예를 나타내는 도면이다.
도 27은 제 1 예시적 실시예에 따른 부분 영역 표시 범위 결정 처리를 나타내는 흐름도이다.
도 28은 제 1 예시적 실시예에 따른 다음 대상물 선택 처리를 나타내는 흐름도이다.
도 29는 제 1 예시적 실시예에 따른 이전 대상물 선택 처리를 나타내는 흐름도이다.
도 30은 제 1 예시적 실시예에 따른 이동 범위 제한 처리를 나타내는 흐름도이다.
도 31은 제 1 예시적 실시예에 따른 축소 시간 표시 모드 전환 처리를 나타내는 흐름도이다.
도 32는 제 1 예시적 실시예에 따른 대상물 선택 처리를 나타내는 흐름도이다.
도 33a 및 도 33b는 PDA의 터치 UI의 화면 표시의 일 예를 나타내는 도면이다.
도 34a 및 도 34b는 PDA의 터치 UI의 화면 표시의 일 예를 나타내는 도면이다.
도 35a 내지 도 35c는 PDA의 터치 UI의 화면 표시의 일 예를 나타내는 도면이다.
도 36a 내지 도 36c는 PDA의 터치 UI의 화면 표시의 일 예를 나타내는 도면이다.
도 37은 도 37a 및 도 37b를 포함하며, 본 발명의 제 2 예시적 실시예에 따른 이동 범위 제한 처리를 나타내는 흐름도이다.
첨부도면을 참조하여, 본 발명의 다양한 예시적 실시예, 특징 및 양태에 대해 상세하게 설명하기로 한다.
도 1은 본 발명의 제 1 예시적 실시예에 따른 화상 처리 시스템의 구성을 나타내는 블록도이다.
도 1을 참조하면, 사무실 내에 구축된 근거리 통신망(LAN)(102)에 복수의 기능(복사 기능, 인쇄 기능, 송신 기능 등)을 가진 MFP(100)와 클라이언트 PC(101)가 연결되어 있다. 또한, LAN(102)에는 프록시 서버(103), 문서 관리 서버(106), 문서 관리 서버(106)를 위한 데이터베이스(105) 및 PDA(휴대 정보 단말기)(107)가 무선 또는 유선으로 연결되어 있다. LAN(102)은 프록시 서버(103)를 통해 네트워크(104)에 연결되어 있다. 클라이언트 PC(101)가 인쇄 데이터를 MFP(100)에 송신하면, 예를 들어, 인쇄 데이터에 기초한 인쇄물을 MFP(100)에서 인쇄할 수 있다. 도 1에 도시된 구성은 일례로 간주되어야 한다. 유사한 구성을 가진 복수의 사무실이 네트워크(104)에 연결될 수도 있다.
클라이언트 PC(101)와 프록시 서버(103)와 같은 각종 단말기들은 범용 컴퓨터에 탑재되는 표준 구성 요소(중앙처리장치(CPU), 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 하드 디스크, 네트워크 인터페이스(I/F), 디스플레이, 키보드, 마우스 등)를 가지고 있다. 통상적으로, 네트워크(104)는 인터넷, LAN, 원거리 통신망(WAN), 전화 회선, 디지털 전용 회선, 비동기 전송 모드(ATM)-프레임 릴레이 회선, 통신 위성 회선, 케이블 TV 회선, 데이터 방송용 무선 회선 등 중 임의의 것에 의해 실현되어 있다. 물론, 상기 네트워크(104)는, 데이터 송수신이 가능하다면, 이 네트워크들의 조합으로 실현된 통신 네트워크일 수도 있다.
도 2는 도 1에 도시된 MFP(100)의 기능 구성을 나타내는 블록도이다. 도 2를 참조하면, MFP(100)는 화상 판독 유닛(110), 기억 장치(이하 'BOX'라 함)(111), 기록 장치(112), 데이터 처리 장치(115), 입력 장치(113), 표시 장치(116) 및 네트워크 I/F(114)를 포함한다. 화상 판독 유닛(110)은 자동 문서 공급기(이하, 'ADF'라 함)를 구비한다. 다발 형태의 원고들 또는 1장의 원고의 화상을 광원으로부터의 빛으로 조사한 다음, 반사된 화상을 렌즈를 통해 고체 촬상 소자 상에 결상한다. 고체 촬상 소자는 소정의 해상도(예컨대, 600dpi)와 소정의 휘도 레벨(예컨대, 8비트)을 가진 화상 판독 신호를 생성한다. 화상 판독 신호에 기초하여, 래스터 데이터를 포함하는 화상 데이터가 구성된다. 통상의 복사 기능을 실행할 때, 화상 판독 유닛(110)에 의해 취득된 비트맵 화상 데이터에 대해 데이터 처리 장치(115)가 (후술한) 스캔 화상 처리하여 이를 기록 신호로 변환하고, 기록 장치(112)는 화상을 형성한다(인쇄물을 출력한다). 복수의 원고를 복사하는 경우, 데이터 처리 장치(115)는 1 페이지 분의 기록 신호를 일단 BOX(111)에 기억시킨 후, 상기 기록 신호를 기록 장치(112)에 순차적으로 출력하여 기록지 상에 기록 화상을 형성한다. MFP(100)는 클라이언트 PC(101)(또는 다른 범용 PC(미도시))로부터 드라이버를 통해 출력되는 페이지 기술 언어(PDL) 데이터를 LAN(102)과 네트워크 I/F(114)를 통해 수신하고, 수신된 PDL 데이터에 기초한 화상을 기록 장치(112)에 기록한다. 구체적으로, 클라이언트 PC(101)로부터 드라이버를 통해 출력된 PDL 데이터는 LAN(102)으로부터 네트워크 I/F(114)를 거쳐 데이터 처리 장치(115)에 입력된다. 여기서, MFP(100)는 언어를 해석 및 처리하여 화상 데이터를 기록가능한 기록 신호로 변환한 후, 상기 기록 신호를 기록지 상에 기록 화상으로서 기록한다.
BOX(111)는 화상 판독 유닛(110)으로부터의 데이터와 클라이언트 PC(101)로부터 드라이버를 통해 출력되는 PDL 데이터를 렌더링하여 생성된 데이터를 보존하는 기능을 가지고 있다. MFP(100)는 MFP(100)에 설치된 키 조작 유닛(입력 장치(113))을 통해 조작된다. 조작 및 입력 상태가 표시 장치(116)에 표시된다.
이하, 도 3을 참조하여, 본 예시적 실시예에 따른 어플리케이션 화상 데이터의 처리를 설명한다.
도 3은 MFP(100)의 화상 판독 유닛(110)에 의해 취득된 비트맵 화상 데이터와 클라이언트 PC(101) 상의 어플리케이션 소프트웨어에 의해 생성된 문서를 MFP(100)에서 렌더링하여 생성된 비트맵 화상 데이터에 기초하여 PDA(107) 상에서 표시되는 소정의 포맷을 가진 데이터(이하, '어플리케이션 화상 데이터'라 함)를 생성하기 위한 처리를 나타내는 흐름도이다.
단계(S301)에서, 데이터 처리 장치(115)는 비트맵 화상 데이터에 대해 대상물 분할 처리하여 이를 개별 속성을 가진 복수의 대상물로 분할한다. 대상물 분할 후 대상물 속성의 유형은 문자, 사진, 그래픽(도면, 선화(line drawing), 표 및 라인) 및 배경을 포함한다. 단계(S302)에서, 데이터 처리 장치(115)는 분할된 각 대상물에 대한 대상물 유형(문자, 사진, 그래픽 또는 배경)을 판정한다. 대상물이 사진 또는 배경으로 판정된 경우(단계(S302)에서 '사진/배경'), 단계(S303)에서, 데이터 처리 장치(115)는 해당 대상물의 비트맵 화상을 JPEG 압축한다. 해당 대상물이 문자 또는 그래픽으로 판정된 경우(단계(S302)에서 '문자/그래픽'), 단계(S304)에서, 데이터 처리 장치(115)는 해당 대상물에 대해 벡터화 처리를 수행하여 이를 패스 데이터(path data)(벡터 데이터)로 변환한다. 단계(S305)에서, 데이터 처리 장치(115)는 해당 대상물이 문자인지 여부를 판정한다. 해당 대상물이 문자로 판정된 경우(단계(S305)에서 '문자'), 단계(S308)에서, 데이터 처리 장치(115)는 해당 대상물에 대해 광학 문자 인식(OCR) 처리를 수행하여 문자 코드화된 데이터(OCR 처리로 인한 문자 코드 데이터)를 취득한다. 데이터 처리 장치(115)는 단계(S303) 및 단계(S304)에서 취득한 각 대상물의 데이터(JPEG 데이터 및 벡터 데이터)와 단계(S308)에서 취득한 문자 코드화된 데이터를 하나의 파일로 그룹화한다. 단계(S306)에서, 데이터 처리 장치(115)는 각 대상물에 대해 최적의 메타데이터를 부가한다. 단계(S307)에서, 메타데이터가 부가된 각 대상물에 기초하여, 데이터 처리 장치(115)는 PDA(107) 상에서 표시가능한 어플리케이션 화상 데이터를 생성한다. 단계(S309)에서, 데이터 처리 장치(115)는 생성된 어플리케이션 화상 데이터를 PDA(107)에 송신한다.
이하, 도 4 및 도 5를 참조하여, 본 예시적 실시예에 따른 비트맵 화상 데이터(문서 화상 데이터) 생성 처리에 대해 설명한다. 도 4는 MFP(100)의 화상 판독 유닛(110)을 사용한 비트맵 화상 데이터 생성 처리를 나타내는 흐름도이다. 도 5는 클라이언트 PC(101) 상의 어플리케이션을 사용한 비트맵 화상 데이터 생성 처리를 나타내는 흐름도이다. 데이터 처리 장치(115)는 도 4 또는 도 5에 도시된 흐름도의 처리에 의해 생성된 비트맵 화상 데이터에 대해 도 3에 도시된 전술한 처리를 실행한다.
이하, 도 4를 참조하여, MFP(100)의 화상 판독 유닛(110)이 사용되는 경우의 처리에 대해 설명한다. 단계(S401)에서, 화상 판독 유닛(110)은 화상을 비트맵 화상 데이터로서 판독한다. 단계(S402)에서, 데이터 처리 장치(115)는 화상 판독 유닛(110)에 의존하여 비트맵 화상 데이터에 대한 스캐너 화상 처리를 수행한다. 스캐너 화상 처리는, 예를 들어, 색 처리 및 필터링 처리를 의미한다.
이하, 도 5를 참조하여, 클라이언트 PC(101) 상의 어플리케이션이 사용하는 경우의 처리에 대해 설명한다. 단계(S501)에서, 클라이언트 PC(101) 상의 어플리케이션을 사용하여 생성된 데이터가 클라이언트 PC(101) 상의 프린트 드라이버를 통해 인쇄 데이터로 변환되어 MFP(100)에 전송된다. 인쇄 데이터는, 예를 들어, LBP 화상 처리 시스템(LIPS)(상표명), Postscript(상표명)과 같은 PDL 데이터를 의미한다. 단계(S502)에서, 데이터 처리 장치(115)는 MFP(100) 내에 존재하는 인터프리터(interpreter)를 통해 표시 목록을 생성한다. 단계(S503)에서, 데이터 처리 장치(115)는 표시 목록을 렌더링하여 비트맵 화상 데이터를 생성한다.
이하, 도 6에 도시된 흐름도를 참조하여, 도 3에 도시된 단계(S306)에서의 메타데이터 부가 처리에 대해 상세하게 설명한다.
단계(S601)에서, 데이터 처리 장치(115)는 단계(S301)에서 형성된 각각의 분할된 대상물 주위에 가장 가깝게 존재하는 문자 대상물을 선택한다. 단계(S602)에서, 데이터 처리 장치(115)는 선택된 문자 대상물에 대해 형태소 분석(morphologic analysis)을 수행한다. 단계(S603)에서, 데이터 처리 장치(115)는 단계(S602)에서의 형태소 분석의 결과로 추출된 단어를 메타데이터로서 각 대상물에 부가한다.
메타데이터는 형태소 분석을 통해서뿐만 아니라, 화상 특징량 추출 및 구문 분석을 통해서도 생성될 수 있다. 데이터 처리 장치(115)는 MFP(100) 내의 BOX(111) 및 데이터베이스(105)에 저장되어 있는 문서 및 이 문서에 포함된 대상물에 대해 유사한 화상 검색을 수행한 다음, 유사도가 높은 유사 화상의 대상물과의 상관분석을 수행할 수도 있다.
이하, 도 7 및 도 8을 참조하여, 상기 단계(S301)에서 실시된 대상물 분할에 대해 상세하게 설명한다. 도 7은 비트맵 화상 데이터를 복수의 대상물로 분할한 대상물 분할 처리 결과의 일 예를 나타낸다. 도 8은 대상물 분할이 실행될 때의 각 대상물의 블록 정보 및 입력 파일 정보를 나타낸다.
단계(S301)에서, 데이터 처리 장치(115)는 (도 7의 좌측에 도시된) 입력 화상에 대해 대상물 분할 처리를 수행하여 이를 (도 7의 우측에 도시된) 개별 속성을 가진 직사각형 블록으로 분할한다. 전술한 바와 같이, 직사각형 블록의 속성은 문자, 사진 및 그래픽(도면, 선화, 표, 라인)을 포함한다. 대상물 분할 처리의 한 방법으로, 예를 들면, 다음과 같은 방법으로 처리가 실시된다. 먼저, 데이터 처리 장치(115)는 MFP(100) 내의 RAM(미도시)에 저장된 화상 데이터에 대해 흑백 이진화(monochrome binarization)를 수행하여 흑색 화소 윤곽으로 포위된 흑색 화소 클러스터(즉, 흑색 화소로 연결된 성분)를 추출한다. 그 다음, 데이터 처리 장치(115)는 이렇게 추출된 흑색 화소 클러스터의 크기를 평가하고, 크기가 소정 값 이상인 흑색 화소 클러스터 내의 백색 화소 클러스터(즉, 백색 화소로 연결된 성분)에 대해 윤곽 추적을 수행한다. 그 다음, 데이터 처리 장치(115)는 백색 화소 클러스터의 크기를 평가하고, 백색 화소 클러스터 내의 흑색 화소 클러스터에 대해 윤곽 추적을 수행한다. 이러한 방식으로, 내부 화소 클러스터가 소정 값 이상의 크기를 갖는 한, 데이터 처리 장치(115)는 내부 화소 클러스터 추출 및 윤곽 추적을 재귀적으로 수행한다. 화소 클러스터의 크기는, 예를 들면, 화소 클러스터의 면적에 의해 평가된다. 데이터 처리 장치(115)는 이렇게 취득한 화소 클러스터에 외접하는 직사각형 블록을 생성하고, 생성된 직사각형 블록의 크기와 형상에 기초하여 속성을 판정한다. 예를 들어, 종횡비가 1에 가깝고 크기가 일정한 직사각형 블록은 문자 영역 직사각형 블록일 가능성이 있는 문자-등가(text-equivalent) 블록으로서 간주된다. 근접한 문자-등가 블록들이 규칙적으로 정렬할 때, 데이터 처리 장치(115)는 이 문자-등가 블록들을 그룹화하여 새로운 직사각형 블록을 생성하고, 새로운 직사각형 블록을 문자 영역 직사각형 블록으로 인식한다. 편평한 화소 클러스터들 또는 소정 값 이상의 크기를 가진 규칙적으로 정렬된 직사각형 백색 화소 클러스터들을 내포하는 흑색 화소 클러스터는 그래픽 영역 직사각형 블록으로서 간주된다. 불규칙적인 형상을 가진 화소 클러스터는 사진 영역 직사각형 블록으로서 간주된다.
단계(S301)에서, 이렇게 생성된 각각의 직사각형 블록에 대해, 데이터 처리 장치(115)는 도 8에 도시된 (속성 등을 포함하는) 블록 정보 및 입력 파일 정보를 생성한다. 도 8을 참조하면, 블록 정보는 각 블록에 대한 속성, 위치의 X-좌표 및 Y-좌표, 폭(W), 높이(H) 및 OCR 정보를 포함한다. 속성은 1, 2, 3의 수치로 표현되고, 1은 문자 영역 직사각형 블록, 2는 사진 영역 직사각형 블록, 3은 그래픽 영역 직사각형 블록을 나타낸다. X-좌표 및 Y-좌표는 입력 화상 내의 각 직사각형 블록의 시점(starting point)의 X-좌표 및 Y-좌표(좌상단 모서리의 좌표값)이다. 폭(W)은 직사각형 블록의 X-좌표 방향으로의 폭이며, 높이(H)는 직사각형 블록의 Y-좌표 방향으로의 높이이다. OCR 정보는 단계(S308)에서의 OCR 처리로 생성된 문자 코드화된 데이터에 대한 포인터 정보의 유무를 나타낸다. 입력 파일 정보는 직사각형 블록의 개수를 나타내는 블록의 총수(N)를 포함한다.
각각의 직사각형 블록에 대한 블록 정보는 특정 영역에서의 벡터화에 이용될 것이다. 블록 정보에 의해, 특정 영역과 그 외의 영역을 합성할 때, 상대 위치 관계를 특정할 수 있고, 입력 화상의 레이아웃을 보존하면서 벡터화된 영역과 비트맵 영역을 합성할 수 있다.
이하, 도 9에 도시된 흐름도를 참조하여, 도 3에 도시된 단계(S304)에서의 벡터화 처리에 대해 상세하게 설명한다.
단계(S901)에서, 데이터 처리 장치(115)는 특정 영역이 문자 영역 직사각형 블록인지의 여부를 판정한다. 특정 영역이 문자 영역 직사각형 블록인 것으로 판정되면(단계(S901)에서 '예'), 처리는 단계(S902)와 후속 단계로 진행한다. 한편, 특정 영역이 문자 영역 직사각형 블록이 아닌 것으로 판정되면(단계(S901)에서 '아니오'), 처리는 단계(S912)로 진행한다.
단계(S902) 내지 단계(S907)에서, 데이터 처리 장치(115)는 패턴 매칭 방법 등을 이용하여 문자 인식 처리를 수행하여 대응하는 문자 코드를 취득한다. 예를 들어, 단계(S902)에서, 데이터 처리 장치(115)는 특정 영역에 대한 횡서(horizontal writing) 또는 종서를 판정(조판 방향의 판정)하기 위해, 특정 영역 내에서 화소 값에 대한 수평 및 수직 사영(projections)을 취득한다. 단계(S903)에서, 데이터 처리 장치(115)는 단계(S902)에서 취득한 사영의 분산을 평가한다. 수평 사영의 분산이 큰 경우, 데이터 처리 장치(115)는 횡서로 판정한다. 수직 사영의 분산이 큰 경우, 데이터 처리 장치(115)는 종서로 판정한다. 단계(S904)에서, 단계(S903)에서의 평가 결과에 기초하여, 데이터 처리 장치(115)는 조판 방향을 판정하고, 행을 절취한 다음, 문자를 절취하여 문자 화상을 취득한다. 구체적으로, 데이터 처리 장치(115)는 문자 화상을 문자열 및 문자로 분해한다. 횡서 문자 영역의 경우, 데이터 처리 장치(115)는 수평 사영에 기초하여 행을 절취하고, 절취된 행의 수직 사영에 기초하여 문자를 절취한다. 종서 문자 영역의 경우, 데이터 처리 장치(115)는 반대로 처리를 수행한다(구체적으로, 데이터 처리 장치(115)는 수직 사영에 기초하여 열을 절취하고, 절취된 열의 수평 사영에 기초하여 문자를 절취한다). 행과 문자를 절취할 때, 문자의 크기도 검출될 수 있다. 단계(S905)에서, 단계(S904)에서 절취된 각 문자에 대해, 데이터 처리 장치(115)는 (문자 화상으로부터 취득한) 특징을 수십 차원의 수열로 변환함으로써 관측 특징 벡터를 생성한다. 특징 벡터를 추출하는 여러 가지 기술이 공지되어 있다. 예를 들어, 어떤 기술은 문자를 메쉬 패턴(mesh pattern)으로 분할하여, 각 메쉬 내의 문자 선의 개수를 방향별로 선 요소로서 카운트하고, 카운트 값과 동일한 차원을 가진 특징 벡터를 생성한다. 단계(S906)에서, 데이터 처리 장치(115)는 단계(S905)에서 취득한 관측 특징 벡터와 폰트 종류마다 미리 취득된 사전 특징 벡터를 비교하여 관측 특징 벡터와 특징 벡터 사이의 거리를 산출한다. 단계(S907)에서, 데이터 처리 장치(115)는 단계(S906)에서 산출된 거리를 평가하여, 가장 거리가 짧은 폰트 종류를 문자 인식 결과로서 간주한다.
단계(S908)에서, 데이터 처리 장치(115)는 단계(S907)의 거리 평가에서 취득한 최단 거리가 소정 값보다 큰지의 여부를 판정하며, 즉, 유사도를 판정한다. 최단 거리가 소정 값 이상인 것으로 판정되는 경우(유사도가 낮은 경우), 그 문자는 사전 특징 벡터에서 유사한 형상을 가진 다른 문자로서 잘못 인식되었을 가능성이 있다. 따라서, 최단 거리가 소정 값 이상인 것으로 판정되는 경우(유사도가 낮은 경우, 즉, 단계(S908)에서 '낮음'인 경우), 데이터 처리 장치(115)는 단계(S907)에서의 문자 인식 결과를 채용하지 않고, 처리가 단계(S911)로 진행한다. 한편, 최단 거리가 소정 값보다 작은 것으로 판정되는 경우(유사도가 높은 경우, 즉, 단계(S908)에서 '높음'인 경우), 데이터 처리 장치(115)는 단계(S907)에서의 문자 인식 결과를 채용하고, 처리가 단계(S909)로 진행한다.
단계(S909)에서, 데이터 처리 장치(115)는 폰트 종류를 인식한다. 문자를 인식할 때 사용하기 위해, 폰트 종류, 즉 문자 형상의 개수에 맞게 복수의 사전 특징 벡터가 준비된다. 패턴 매칭할 때, 문자 코드와 함께 폰트 종류를 출력함으로써 폰트 인식이 가능하다. 단계(S910)에서, 문자 인식과 폰트 인식에서 취득한 문자 코드와 폰트 정보에 기초하여, 데이터 처리 장치(115)는 각 문자에 대해 준비된 아웃라인(outline) 데이터를 사용하여 각 문자를 벡터 데이터로 변환한다. 입력 화상이 색 화상인 경우, 데이터 처리 장치(115)는 컬러 화상으로부터 각 문자의 색을 추출한 다음 벡터 데이터와 함께 색을 기록한다.
단계(S911)에서, 데이터 처리 장치(115)는 문자를 그래픽과 유사하게 취급하여 아웃라인화한다. 구체적으로, 잘못 인식될 가능성이 높은 문자에 대해, 데이터 처리 장치(115)는 외관상 비트맵에 합치되는 아웃라인 벡터 데이터를 생성한다.
단계(S912)에서, (특정 영역이 문자 영역 직사각형 블록이 아닌 경우, 즉, 그래픽 영역 직사각형 블록인 경우) 데이터 처리 장치(115)는 화상의 윤곽에 기초하여 벡터화 처리를 수행한다.
전술한 처리에 의해, 문자 및 그래픽 영역 직사각형 블록에 속하는 화상 정보를 벡터 데이터로 변환할 수 있다.
이하, 도 10, 도 11 및 도 12를 참조하여, 단계(S912)에서 그래픽 영역 직사각형 블록에 대해 수행되는 벡터화 처리에 대해 상세하게 설명한다. 데이터 처리 장치(115)는 해당 영역 내에서 추출된 흑색 화소 클러스터의 윤곽에 기초하여 그래픽 영역 직사각형 블록에 대한 벡터화 처리를 수행한다. 도 10은 벡터화 처리에서의 각도 추출 처리를 나타낸다. 도 11은 벡터화 처리에서의 윤곽선 그룹화 처리를 나타낸다. 도 12는 그래픽 영역에서의 벡터화 처리를 상세하게 나타낸 흐름도이다. 도 12에 도시된 단계(S1201)에서, 데이터 처리 장치(115)는 선화를 직선 및/또는 곡선의 조합으로 표현하기 위해 곡선을 복수의 구간(화소 행)으로 분할하는 "각도"를 검출한다. 각도는 곡률이 최대화되는 지점이다. 도 10에 도시된 바와 같이, 데이터 처리 장치(115)는 곡선 상의 화소(Pi)가 각도인지의 여부를 다음과 같은 방식으로 판정한다. 구체적으로, 화소(Pi)로부터 곡선을 따라 양방향으로 화소의 개수 k로 표현된 소정의 거리만큼 화소(Pi-k)와 화소(Pi+k)가 각각 분리된다. 화소(Pi-k)와 화소(Pi+k)는 선분(L)으로 연결된다. 화소(Pi-k)와 화소(Pi+k)는 거리(d1)를 갖는다. 선분(L)과 화소(Pi)는 거리(d2)를 갖는다. 화소(Pi-k)와 화소(Pi+k) 사이의 곡선을 따르는 호는 길이(A)를 갖는다. 거리(d2)가 최소화되거나 비(d1/A)가 임계값 이하일 때, 데이터 처리 장치(115)는 화소(Pi)를 각도로서 판정한다. 그리고, 데이터 처리 장치(115)는 각도로 분할된 화소 행을 직선 또는 곡선으로 근사한다. 직선으로의 근사는 최소 제곱법에 의해 실행되고, 곡선으로의 근사는 3차 스플라인 함수(cubic spline function)를 사용하여 실행된다. 화소 행을 분할하는 각도의 픽셀은 근사 직선 또는 근사 곡선의 시점 또는 종점으로서의 역할을 한다. 또한, 데이터 처리 장치(115)는 벡터화된 윤곽 내에 백색 화소 클러스터의 내부 윤곽이 존재하는지의 여부를 판정한다. 내부 윤곽이 존재하는 것으로 판정된 경우, 데이터 처리 장치(115)는 내부 윤곽을 벡터화한다. 마찬가지로, 내부 윤곽이 존재하는 한, 데이터 처리 장치(115)는 반전된 화소의 내부 윤곽을 재귀적으로 벡터화한다. 전술한 바와 같이, 윤곽 분할선 근사를 이용하면, 임의의 형상을 가진 그래픽의 아웃라인을 벡터화할 수 있다. 원래의 문서가 컬러인 경우, 데이터 처리 장치(115)는 컬러 화상으로부터 그래픽의 색을 추출하여, 그 색을 벡터 데이터와 함께 기록한다.
단계(S1202)에서, 단계(S1201)에서 취득한 윤곽선들이 근접하는 경우, 데이터 처리 장치(115)는 이 윤곽선들을 그룹화하여 두께를 가진 선을 형성한다. 도 11에 도시된 바와 같이, 어떤 목표 구간에서 외부 윤곽(PRj)이 내부 윤곽(PRj+1) 혹은 다른 외부 윤곽에 근접하는 경우, 데이터 처리 장치(115)는 2개 이상의 윤곽선들을 그룹화하여 이들을 두께를 가진 선으로 표현할 수 있다. 예를 들어, 데이터 처리 장치(115)는 윤곽(PRj+1) 상의 화소(Pi)와 윤곽(PRj) 상의 화소(Qi) 사이의 최단 거리(PQi)를 산출한다. 거리(PQi)의 분산이 작은 경우, 데이터 처리 장치(115)는 화소(Pi, Qi)들 사이의 중점(Mi)의 점 열을 따르는 직선 또는 곡선을 이용하여 목표 구간을 근사할 수 있다. 근사 직선과 근사 곡선의 두께는, 예를 들면, 거리(PiQi)의 평균으로서 간주된다. 표 괘선(tabular ruled lines)(선과 선의 집합체)을 두께를 가진 선의 집합으로 간주하면, 효율적으로 벡터 표현하는 것이 가능하다.
단계(S1203)에서, 데이터 처리 장치(115)는 각 벡터 데이터의 시점과 종점을 산출한다.
단계(S1204)에서, 데이터 처리 장치(115)는 단계(S1203)에서 취득한 시점과 종점에 기초하여 그래픽 요소를 검출한다. 그래픽 요소는 구분선으로 형성된 폐쇄된 그래픽을 의미한다. 그래픽 요소를 검출하기 위해, 데이터 처리 장치(115)는 시점과 종점으로서의 역할을 하는 공통 각도의 화소에 있는 벡터들을 연결한다. 즉, 이 처리는, 폐쇄된 형상을 형성하는 각 벡터가 그 양단에 연결 벡터들을 가지고 있다는 원리에 기초한다.
단계(S1205)에서, 벡터 데이터에 기초하여, 데이터 처리 장치(115)는 양단에 연결되지 않은 불필요한 벡터를 제거하여 폐쇄된 그래픽을 형성하는 벡터만을 추출한다.
단계(S1206)에서, 임의의 하나의 벡터의 하나의 끝점(시점 또는 종점)에서 시작하여, 데이터 처리 장치(115)는 일정한 방향으로, 예를 들어, 시계 방향으로 폐쇄된 그래픽 벡터를 형성하는 각각의 벡터를 순차적으로 탐색한다. 구체적으로, 해당 벡터의 다른 끝점에서, 데이터 처리 장치(115)는 다른 벡터의 끝점을 탐색하여, 소정 거리 내의 가장 가까운 끝점을 연결 벡터의 끝점으로서 간주한다. 데이터 처리 장치(115)가 폐쇄된 그래픽을 형성하는 모든 벡터에 대한 탐색을 완료하면(그리고 시점으로 돌아가면), 데이터 처리 장치(115)는 그래픽 요소를 형성하는 폐쇄된 그래픽으로서 추적된 모든 벡터를 그룹화한다. 또한, 데이터 처리 장치(115)는 폐쇄된 그래픽 내에 존재하는 폐쇄된 그래픽을 형성하는 모든 벡터를 그룹화한다. 또한, 데이터 처리 장치(115)는 아직 그룹화되지 않은 벡터의 시점에서 시작하여 마찬가지의 처리를 반복한다.
단계(S1207)에서, 데이터 처리 장치(115)는, 단계(S1205)에서 제거된 불필요한 벡터들 중, 단계(S1206)에서 폐쇄된 그래픽으로서 그룹화된 임의의 벡터에 끝점이 근접한 벡터를 검출하여, 검출된 벡터를 그래픽 요소로서 그룹화한다. 이에 따라, 그래픽 요소들에 존재하는 다른 그래픽 요소들 또는 구분선을 그룹화하여 그래픽 대상물을 형성할 수 있다. 또한, 그래픽 요소에 다른 그래픽 요소나 구분선이 존재하지 않는 경우, 데이터 처리 장치(115)는 그래픽 요소를 그래픽 대상물로서 간주한다.
전술한 처리에 의하면, 그래픽 영역 직사각형 블록을 벡터화된 대상물로 변환할 수 있다.
이하, 도 13 및 도 14를 참조하여, 단계(S307)에서의 어플리케이션 화상 데이터 생성 처리에 대해 상세하게 설명한다. 도 13은 본 실시예에 따른 벡터화 처리 결과의 데이터 구성을 나타낸다. 도 14는 어플리케이션 화상 데이터 생성 처리를 상세하게 도시하고 있는 흐름도이다.
단계(S1401)에서, 데이터 처리 장치(115)는 단계(S304)에서의 벡터화 처리에 의해 생성된 중간 데이터를 취득한다. 본 예시적 실시예에서, 중간 데이터는 문서 분석 출력 포맷(이하, 'DAOF'라 함)으로 저장되는 것으로 간주한다. 도 13에 도시된 바와 같이, DAOF는 헤더(1301), 레이아웃 기술 데이터 부(1302), 문자 인식 기술 데이터 부(1303), 표 기술 데이터 부(1304) 및 화상 기술 데이터 부(1305)를 포함한다. 헤더(1301)는 목표 입력 화상에 대한 정보를 저장한다. 레이아웃 기술 데이터 부(1302)는 문자, 그래픽(선화, 도면, 표, 라인), 사진 등과 같은 입력 화상 내의 직사각형 블록의 속성에 대한 정보와, 속성이 인식된 직사각형 블록의 위치 정보를 저장한다. 문자 인식 기술 데이터 부(1303)는 문자 영역 직사각형 블록들 중, 문자 인식을 통해 취득한 문자 인식 결과를 저장한다. 표 기술 데이터 부(1304)는 표 속성을 가진 그래픽 영역 직사각형 블록의 상세한 표 구조를 저장한다. 벡터화 처리가 지시된 특정 영역에서, 화상 기술 데이터 부(1305)는 벡터화 처리를 통해 취득한 블록의 내부 구조와 화상 형상 및 문자 코드를 나타내는 데이터 집합을 저장한다. 벡터화 처리의 대상이 아닌, 특정 영역 이외의 직사각형 블록에서, 화상 기술 데이터 부(1305)는 대상물로 분할된 비트맵 화상 데이터 자체를 저장한다.
단계(S1402)에서, 데이터 처리 장치(115)는 (후술하는) 문서 구조 트리를 생성한다.
단계(S1403)에서, 생성된 문서 구조 트리에 기초하여, 데이터 처리 장치(115)는 DAOF 내의 실제 데이터를 취득하여 (후술하는) 어플리케이션 화상 데이터를 생성한다.
이하, 도 15, 도 16 및 도 17을 참조하여, 단계(S1402)에서의 문서 구조 트리 생성 처리에 대해 설명한다. 도 15는 문서 구조 트리 생성 처리를 나타내는 흐름도이다. 도 16은 문서 구조 트리 생성 처리의 대상이 되는 문서의 예를 나타낸다. 도 17은 문서 구조 트리 생성 처리에 의해 생성되는 문서 구조 트리를 나타내고 있다.
도 15에 도시된 문서 구조 트리 생성 처리에서 전체 제어의 기본 원칙으로서, 처리의 흐름은 마이크로 블록(단일 직사각형 블록)에서 매크로 블록(직사각형 블록들의 집합체)로 이행한다. 이하, 용어 "직사각형 블록"은 마이크로 블록과 매크로 블록 모두를 의미한다.
단계(S1501)에서, 데이터 처리 장치(115)는 직사각형 블록 단위로 수직 방향의 연관성에 기초하여 직사각형 블록을 재 그룹화한다. 도 15에 도시된 처리가 반복하여 실행될 수도 있지만, 그룹화 처리가 개시된 직후, 데이터 처리 장치(115)는 마이크로 블록 단위로 판정을 행한다. 여기서, 상기 연관성은 거리가 짧고 블록 폭(수평 방향의 경우에는 블록 높이)이 거의 동일한 것과 같은 특징에 의해 정의된다. 거리, 폭, 높이와 같은 정보가 DAOF를 참조하여 추출된다. 예를 들어, 도 16에 도시된 문서를 참조하면, 상단에 직사각형 블록(T1, T2)이 수평으로 배열되어 있다. 직사각형 블록(T1, T2) 아래에 수평 세퍼레이터(separator)(S1)가 존재한다. 수평 세퍼레이터(S1) 아래에 직사각형 블록(T3, T4, T5, T6, T7)이 존재한다. 직사각형 블록(T3, T4, T5)은 수평 세퍼레이터(S1) 하단 영역의 좌반부(left half)에 수직하게 배열된다. 직사각형 블록(T6, T7)은 수평 세퍼레이터(S1) 하단 영역의 우반부에 수직하게 배열된다. 단계(S1501)에서, 데이터 처리 장치(115)가 수직 방향의 연관성에 기초하여 그룹화 처리를 수행하면, 직사각형 블록(T3, T4, T5)이 1개의 그룹(직사각형 블록)(V1)으로 그룹화되고, 직사각형 블록(T6, T7)이 다른 그룹(직사각형 블록)(V2)으로 그룹화된다. 그룹(V1, V2)들은 동일한 계층에 속한다.
단계(S1502)에서, 데이터 처리 장치(115)는 수직 세퍼레이터의 유무를 확인한다. 세퍼레이터는 DAOF에서 라인 속성을 가진 대상물이며, 블록을 명시적으로 분할하는 기능을 가지고 있다. 세퍼레이터가 검출되면, 데이터 처리 장치(115)는 입력 화상의 영역을 목표 계층에서 좌측 부분과 우측 부분으로 분할한다. 도 16에 도시된 문서에는 수직 세퍼레이터가 존재하지 않는다.
단계(S1503)에서, 데이터 처리 장치(115)는 수직 방향으로의 그룹 높이의 합계가 입력 화상의 높이와 동일한지의 여부를 판정한다. 구체적으로, 목표 영역에서 수직 방향으로(예를 들어, 위에서 아래로) 이동하면서 수평 그룹화를 수행할 때, 데이터 처리 장치(115)는 그룹 높이의 합계가 입력 화상의 높이와 동일한지의 여부를 판정하여 전체 입력 화상에 대한 그룹화 처리가 완료되었는지의 여부를 판정한다. 그룹화가 완료된 것으로 판정되면(단계(S1503)에서 '예'), 처리는 흐름도에서 종료된다. 한편, 그룹화가 완료되지 않은 것으로 판정되면(단계(S1503)에서 '아니오'), 처리는 단계(S1504)로 진행한다.
단계(S1504)에서, 데이터 처리 장치(115)는 수평 방향의 연관성에 기초하여 그룹화 처리를 수행한다. 따라서, 예를 들어, 도 16에 도시된 직사각형 블록(T1, T2)이 1개 그룹(직사각형 블록)(H1)으로 그룹화되고, 직사각형 블록(V1, V2)이 1개의 그룹(직사각형 블록)(H2)으로 그룹화된다. 그룹(H1, H2)들은 동일한 계층에 속한다. 이 경우에서도, 그룹화 처리가 개시된 직후, 데이터 처리 장치(115)는 마이크로 블록 단위로 판정을 행한다.
단계(S1505)에서, 데이터 처리 장치(115)는 수평 세퍼레이터의 유무를 확인한다. 수평 세퍼레이터가 검출되면, 데이터 처리 장치(115)는 세퍼레이터를 목표 계층에서 경계로서 이용하여 입력 화상의 영역을 수직으로 분할한다. 도 16에는 수평 세퍼레이터(S1)가 존재한다. 전술한 처리의 결과는 도 17에 도시된 트리로서 등록된다. 도 17을 참조하면, 입력된 1페이지의 비트맵 화상 데이터(V0)는 최상위 계층에 그룹(H1, H2)과 세퍼레이터(S1)를 갖는다. 그룹(H1)에는 제 2 계층의 직사각형 블록(T1, T2)이 속한다. 그룹(H2)에는 제 2 계층의 그룹(V1, V2)이 속한다. 그룹(V1)에는 제 3 계층의 직사각형 블록(T3, T4, T5)이 속한다. 그룹(V2)에는 제 3 계층의 직사각형 블록(T6, T7)이 속한다. 본 예시적 실시예에서, V0는 페이지를 나타내고, 페이지(V0)의 하위 계층에 있는 다른 요소들은 모두 대상물이다.
단계(S1506)에서, 데이터 처리 장치(115)는 수평 방향으로의 그룹 길이의 합계가 입력 화상의 폭과 동일한지의 여부를 판정하여, 전체 입력 화상에 대한 수평 그룹화가 완료되었는지의 여부를 판정한다. 수평 방향으로의 그룹 길이의 합계가 입력 화상의 폭과 동일한 것으로 판정되면(단계(S1506)에서 '예'), 처리는 흐름도에서 종료된다(문서 트리 생성 처리를 종료한다). 수평 방향으로의 그룹 길이의 합계가 입력 화상의 폭과 동일하지 않은 것으로 판정되면(단계(S1506)에서 '아니오'), 처리는 단계(S1501)로 되돌아가서, 더 상위 계층에서 수직 방향으로 연관성 확인부터 전술한 처리를 반복한다.
이하, 도 18을 참조하여, 본 예시적 실시예에서의 어플리케이션 화상 데이터 포맷의 예에 대해 설명한다. 본 예시적 실시예에서, 어플리케이션 화상 데이터 포맷으로서 가변 벡터 그래픽(이하, 'SVG'라 함) 포맷이 사용된다.
도 18을 참조하면, 설명을 위해 각 대상물의 표기를 박스(1801 내지 1804)로 포위하여 나타내었다. 각 대상물은 대상물의 영역을 나타내는 영역 정보와 DAOF 내의 실제 데이터로부터 취득한 묘화(drawing) 요소를 갖는다. 또한, 영역 정보만 갖고 묘화 요소가 없는 대상물(예를 들어, 도 17에 도시된 H1, H2, V1, V2)도 가능하다. 박스(1801)는 사진 속성을 가지며, 사진 대상물의 영역에 대한 영역 정보와 묘화 요소로서 비트맵 정보를 나타내고 있다. 박스(1802)는 문자 대상물에 대한 정보를 나타낸다. 박스(1803)는 박스(1802)의 내용을 벡터화된 대상물로 표현하고 있다. 박스(1804)는 선화와 같은 그래픽 대상물을 나타낸다.
본 예시적 실시예에서는 어플리케이션 화상 데이터를 SVG 포맷으로 표기하고 있지만, 이에 한정되지 않으며, 문서의 의미와 구조를 기술하고 유지할 수 있는 임의의 화상 포맷일 수 있다.
도 19는 본 예시적 실시예에 따른 PDA(107) 구성의 예를 나타내는 블록도이다.
PDA(107)는 메인 보드(1900), 액정 디스플레이(LCD)(1901), 터치 패널(1902) 및 버튼 장치(1903)를 포함한다. LCD(1901)와 터치 패널(1902)을 포괄하여 터치 UI(1904)라 칭한다.
메인 보드(1900)는 CPU(1905), 무선 LAN 모듈(1906), 전원 컨트롤러(1907), 디스플레이 컨트롤러(DISPC)(1908), 패널 컨트롤러(PANELC)(1909), ROM(1910), RAM(1911), 이차 전지(1912) 및 타이머(1913)를 주로 포함한다. 모듈(1905 내지 1913)들은 버스(미도시)에 의해 서로 연결되어 있다.
CPU(1905)는 버스에 연결된 각 모듈을 제어함과 동시에 ROM(1910)에 저장되어 있는 (후술한) 소프트웨어 모듈(2000)을 RAM(1911)에 로딩하는 프로세서이다. RAM(1911)은 CPU(1905)의 메인 메모리와 작업 공간, LCD(1901)에 표시할 비디오 화상의 영역 및 MFP(100)로부터 송신되는 전술한 어플리케이션 화상 데이터의 저장 영역으로서의 기능을 한다.
디스플레이 컨트롤러(DISPC)(1908)는 CPU(1905)의 요구에 따라 RAM(1911)에 로딩된 비디오 화상 출력 데이터를 고속으로 전환하여 LCD(1901)에 동기 신호를 출력한다. 그 결과, RAM(1911)의 비디오 화상이 DISPC(1908)의 동기 신호와 동조하여 LCD(1901)에 출력되며, LCD(1901) 상에 관련 화상이 표시된다.
패널 컨트롤러(PANELC)(1909)는 CPU(1905)의 요구에 따라 터치 패널(1902)과 버튼 장치(1903)를 제어한다. 이 제어에 의해, 터치 패널(1902)에서 손가락이나 지시 장치(스타일러스 펜)로 눌린 위치와 버튼 장치(1903)에서 눌린 키의 키 코드가 CPU(1905)에 통지된다. 눌린 위치에 대한 정보는 터치 패널(1902)에서 가로 방향의 절대 위치를 나타내는 좌표 값(이하, 'X-좌표'라 함)과 세로 방향의 절대 위치를 나타내는 좌표 값(이하, 'Y-좌표'라 함)을 포함한다. 터치 패널(1902)은 복수의 눌린 지점의 위치를 검출하여, 눌린 지점의 개수만큼의 위치에 대한 정보를 CPU(1905)에 통지할 수 있다.
전원 컨트롤러(1907)는 외부 전원(미도시)와 연결되어 그로부터 전력을 공급받는다. 전원 컨트롤러(1907)는 당해 전원 컨트롤러(1907)에 연결된 이차 전지(1912)를 충전하면서, 전체 PDA(107)에 전력을 공급한다. 외부 전원으로부터 전력이 공급되지 않는 경우, 전원 컨트롤러(1907)는 이차 전지(1912)로부터의 전력을 전체 PDA(107)에 공급한다.
무선 LAN 모듈(1906)은 CPU(1905)의 제어하에서 전술한 LAN(102)에 연결된 무선 액세스 포인트(미도시) 상의 무선 LAN 모듈과 무선 통신을 확립하여 PDA(107)와의 통신을 중개하는 역할을 한다. 무선 LAN 모듈(1906)의 일 예가 IEEE802.11b이다.
타이머(1913)는 CPU(1905)의 제어하에서 제스처 이벤트 발생 유닛(2001)에 타이머 인터럽트를 발생시키며, 제스처 이벤트 발생 유닛에 대해서는 후술한다.
도 20은 PDA(107)의 CPU(1905)에 의해 실행되는 소프트웨어 모듈(2000)의 구성을 나타내는 블록도이다. 이하, 소프트웨어 모듈(2000)의 각 유닛에 대해 설명한다.
제스처 이벤트 발생 유닛(2001)은 사용자의 터치 입력에 따라 (후술하는) 각종 제스처 이벤트를 발생시키고, 발생된 제스처 이벤트를 제스처 이벤트 처리 유닛(2002)으로 송신한다. 제스처 이벤트 발생 유닛(2001)에 의해 발생된 제스처 이벤트를 수신하면, 제스처 이벤트 처리 유닛(2002)은 수신된 제스처 이벤트와 상기 어플리케이션 화상 데이터에 기술된 문서 구조에 기초하여 처리를 실행한다. 묘화 유닛(2003)은 제스처 이벤트 처리 유닛(2002)의 처리 결과에 기초하여 MFP(100)로부터 송신되는 어플리케이션 화상 데이터를 LCD(1901)에 묘화한다. 어플리케이션 화상 데이터의 표시 방법에 대해서는 후술한다.
도 21a 내지 도 21l은 제스처 이벤트 발생 유닛(2001)에 의해 발생된 제스처 이벤트의 이름과, 각 이벤트가 발생했을 때, 제스처 이벤트 처리 유닛(2002)으로 송신되는 정보를 나타내고 있다.
도 21a는 터치 프레스 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 터치 좌표의 좌표값과 최신의 터치 좌표 수가 제스처 이벤트 처리 유닛(2002)에 송신된다. 터치 좌표는 사용자의 손가락이 접촉하는 터치 패널(1902) 상의 한 점의 한 쌍의 좌표값(X-좌표와 Y-좌표)을 의미한다. 터치 좌표 수는 사용자의 손가락이 접촉하는 터치 패널(1902) 상의 터치 좌표의 수를 나타낸다. 터치 좌표는, 터치 패널(1902)에 사용자의 손가락이 접촉할 때, 그 위에서 손가락이 움직일 때, 그로부터 손가락이 분리될 때 및 타이머(1913)로부터 인터럽트가 발생할 때, 갱신된다.
도 21b는 스와이프 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 터치 좌표의 좌표값과, 최신 및 최종 좌표값들 간의 차이에 기초하여 산출된 이동 거리가 제스처 이벤트 처리 유닛(2002)에 송신된다. 스와이프는 손가락을 터치 패널(1902)에 접촉시킨 상태에서 임의의 일 방향으로 이동시키는 (슬라이딩 동작과 유사한) 동작을 의미한다.
도 21c는 핀치-인 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 2점의 터치 좌표의 중심 좌표값과, 2점의 터치 좌표를 연결하는 직선의 축소 거리에 기초하여 산출된 핀치-인 축소율이 제스처 이벤트 처리 유닛(2002)에 송신된다. 핀치-인은 2개의 손가락을 터치 패널(1902)에 접촉시킨 상태에서 서로 접근시키는 (꼬집는 동작과 유사한) 동작을 의미한다.
도 21d는 핀치-아웃 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 2점의 터치 좌표의 중심 좌표값과, 2점의 터치 좌표를 연결하는 직선의 확대 거리에 기초하여 산출된 핀치-아웃 확대율이 제스처 이벤트 처리 유닛(2002)에 송신된다. 핀치-아웃은 2개의 손가락을 터치 패널(1902)에 접촉시킨 상태에서 서로 이격시키는 (벌리는 동작과 유사한) 동작을 의미한다.
도 21e는 2점 스와이프 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 2점의 터치 좌표의 좌표값과, 최신 및 최종의 2점의 터치 좌표의 좌표값들 간의 차이에 기초하여 산출된 이동 거리가 제스처 이벤트 처리 유닛(2002)에 송신된다. 2점 스와이프 이벤트는 2점의 터치 좌표가 동일한 방향으로 이동하는 경우에 발생한다.
도 21f는 로테이트(rotate) 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 2점의 터치 좌표에 기초하여 산출된 회전 중심 좌표값과, 최신 및 직전의 2점의 터치 좌표의 좌표값들에 기초하여 산출된 회전 각도가 제스처 이벤트 처리 유닛(2002)에 송신된다. 로테이트는 2개의 손가락을 터치 패널(1902)에 접촉시킨 상태에서 터치 패널에 대해 회전시키는 동작을 의미한다.
도 21g는 플릭(flick) 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 터치 좌표의 좌표값과, 최신 및 최종의 좌표값들에 기초하여 산출된 손가락의 이동 속도가 제스처 이벤트 처리 유닛(2002)에 송신된다. 플릭은 스와이프 조작 중에 손가락을 터치 패널(1902)로부터 분리시키는 (튕기는 동작과 유사한) 동작을 의미한다.
도 21h는 터치 해제 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 사용자의 손가락이 터치 패널(1902)로부터 분리될 때의 최신의 터치 좌표의 좌표 값과, 좌표 수가 제스처 이벤트 처리 유닛(2002)에 송신된다.
도 21i는 더블-탭(double-tap) 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 터치 좌표의 좌표값이 제스처 이벤트 처리 유닛(2002)에 송신된다. 더블-탭은 소정의 시간 내에 (후술한) 싱글-탭 이벤트가 발생하는 이벤트를 의미한다.
도 21j는 싱글-탭 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 터치 좌표의 좌표값이 제스처 이벤트 처리 유닛(2002)에 송신된다. 싱글-탭은 전술한 터치 프레스 이벤트가 발생한 후 소정 시간 내에 터치 해제 이벤트가 발생하는 이벤트를 의미한다.
도 21k는 롱-탭(long-tap) 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 터치 좌표의 좌표값이 제스처 이벤트 처리 유닛(2002)에 송신된다. 롱-탭은 전술한 터치 프레스 이벤트가 발생하고 소정의 시간이 경과한 후 터치 해제 이벤트가 발생하는 이벤트를 의미한다.
도 21l은 터치-앤-홀드 이벤트를 나타내고 있다. 이 이벤트가 발생했을 때, 최신의 터치 좌표의 좌표값이 제스처 이벤트 처리 유닛(2002)에 송신된다. 터치-앤-홀드는 터치 패널(1902)에 사용자의 손가락이 접촉한 이후 접촉된 상태에서 이동하지 않고 소정의 시간이 경과하는 이벤트를 의미한다.
전술한 예에서는 사용자가 터치 입력을 위해 손가락을 사용하지만, 스타일러스 펜이 사용될 수도 있다.
이하, 도 22 및 도 23을 참조하여, 본 예시적 실시예에 따라 어플리케이션 화상 데이터 수신시 PDA(107)에 의해 수행되는 처리에 대해 설명한다. 도 22는 어플리케이션 화상 데이터 수신시 PDA(107)에 의해 실행되는 처리를 도시하고 있는 흐름도이다. 도 23은 본 예시적 실시예에 따른 PDA(107)의 터치 UI(1904)의 화면 표시의 예를 도시하고 있다.
단계(S2200)에서, PDA(107)는 무선 LAN 모듈(1906)을 통해 MFP(100)로부터 어플리케이션 화상 데이터를 수신하고, RAM(1911)에 수신된 어플리케이션 화상 데이터를 저장한다.
단계(S2201)에서, PDA(107)는 RAM(1911)에 저장된 어플리케이션 화상 데이터의 구문을 분석하고, 첫 페이지와 거기에 포함된 대상물을 판독한다.
단계(S2202)에서, 묘화 유닛(2003)은 판독한 첫 페이지에 포함된 모든 대상물(배경, 문자, 사진, 그래픽)을 각 대상물의 시점 좌표, 폭 및 높이에 따라 렌더링하여 터치 UI(1904)의 화면 표시를 갱신한다. 이 경우, 도 23의 페이지(2300)에 도시된 바와 같이, PDA(107)는 터치 UI(1904)의 폭에 따라 첫 페이지의 표시 배율을 제어한다. (상기 표시 배율로 축소될 때) 페이지의 높이가 터치 UI(1904)보다 작은 경우, 페이지가 터치 UI(1904)의 중앙에 표시되도록, PDA(107)는 터치 UI(1904) 상의 좌표에서 페이지(2300)의 시점을 제어한다. 한편, (상기 표시 배율로 축소될 때) 페이지의 높이가 터치 UI(1904)보다 큰 경우, 페이지의 시점이 터치 UI(1904)의 시점(예를 들어, 화면의 좌상단 모서리)과 정렬되도록, PDA(107)는 터치 UI(1904) 상의 좌표에서 페이지(2300)의 시점을 제어한다. 본 예시적 실시예에서, 이러한 방식으로 터치 UI(1904) 상에 전체 페이지를 표시하는 표시 제어 모드를 '페이지 표시 모드'라 한다.
이하, 도 23 및 도 24를 참조하여, 본 예시적 실시예에 따른 PDA(107)의 어플리케이션 화상 데이터의 조작 제어에 관련된 소프트웨어 모듈에 대해 설명한다.
도 24는 제스처 이벤트 처리 유닛(2002)에서 어플리케이션 화상 데이터의 조작 제어에 관련된 소프트웨어 모듈의 구성을 나타내는 블록도이다.
제스처 이벤트 처리 유닛(2002)은 제스처 이벤트 발생 유닛(2001)으로부터 도 21에 도시된 제스처 이벤트를 수신한다. 표시 변경 이벤트 처리 유닛(2400)은 제스처 이벤트 처리 유닛(2002)이 수신한 제스처 이벤트들 내의 싱글-탭 이벤트(도 21j)에 대한 처리를 수행한다. 싱글-탭 이벤트를 수신하면, 표시 변경 이벤트 처리 유닛(2400)은 싱글-탭 이벤트의 터치 좌표의 좌표값이 도 23에 도시된 "모드 전환" 버튼(2301), "다음" 버튼(2302), "이전(PREVIOUS)" 버튼(2303) 중 어느 하나에 대응하는지의 여부를 판정한다. 싱글-탭 이벤트의 터치 좌표가 "모드 전환" 버튼(2301)에 대응하는 경우, 표시 변경 이벤트 처리 유닛(2400)은 (후술한) "모드 전환 처리"를 실행한다. 싱글-탭 이벤트의 터치 좌표가 "다음" 버튼(2302)에 대응하는 경우, 표시 변경 이벤트 처리 유닛(2400)은 (후술한) "다음 선택 처리"를 실행한다. 싱글-탭 이벤트의 터치 좌표가 "이전" 버튼(2303)에 대응하는 경우, 표시 변경 이벤트 처리 유닛(2400)은 (후술한) "이전 선택 처리"를 실행한다. "다음 선택 처리"와 "이전 선택 처리"는 표시 변경 이벤트 처리 유닛(2400) 내의 표시 순서 제어 유닛(2402)과 표시 범위 제어 유닛(2403)에 의해 실행된다.
스와이프 이벤트 처리 유닛(2401)은 도 21b에 도시된 스와이프 이벤트에 대한 처리를 수행한다. 스와이프 이벤트를 수신하면, 제스처 이벤트 처리 유닛(2002)은 스와이프 이벤트의 이동 거리에 따라 터치 UI(1904) 상의 좌표에서 페이지(2300)의 시점을 이동시켜 터치 UI(1904)의 화면 표시를 갱신한다. 스와이프 이벤트 처리 유닛(2401) 내의 이동 범위 제한 유닛(2404)은 (후술한) 이동 범위 제한 처리를 실시하여, 터치 UI(1904)에 표시되는 페이지(2300)의 이동 범위를 제한한다.
확대 및 축소 처리 유닛(2405)은 도 21c에 도시된 핀치-인 이벤트와 도 21d에 도시된 핀치-아웃 이벤트에 대한 처리를 수행한다. 핀치-인 또는 핀치-아웃 이벤트를 수신하면, 제스처 이벤트 처리 유닛(2002)은 두 이벤트의 축소 또는 확대 비율에 따라 페이지(2300)의 표시 배율을 변화시켜 터치 UI(1904)의 화면 표시를 갱신한다. 확대 및 축소 처리 유닛(2405) 내의 축소-시간 표시 모드 전환 유닛(2406)은 (후술한) 축소-시간 표시 모드 전환 처리를 실행한다.
대상물 선택 처리 유닛(2407)은 도 21i에 도시된 더블-탭 이벤트에 대한 처리를 수행한다. 더블-탭 이벤트를 수신하면, 제스처 이벤트 처리 유닛(2002)은 더블-탭 이벤트의 터치 좌표의 좌표값을 이용하여 (후술한) 대상물 선택 처리를 실행한다. 또한, 대상물 선택 처리는 페이지 표시 모드에서만 처리가 실행되도록 대상물 선택 이벤트 처리 유닛(2407)에 의해 제어된다.
이하, 도 23, 도 25, 도 26a 및 도 26b를 참조하여, 표시 변경 이벤트 처리 유닛(2400)에 의해 실행되는 모드 전환 처리에 대해 설명한다. 도 25는 사용자가 모드 전환 버튼(2301)을 탭핑했을 때 실행되는 모드 전환 처리를 도시하고 있는 흐름도이다. 도 26a 및 도 26b는 본 예시적 실시예에 따른 PDA(107)의 터치 UI(1904)의 화면 표시의 일 예이다.
단계(S2500)에서, 표시 변경 이벤트 처리 유닛(2400)은 사용자가 모드 전환 버튼을 탭핑했을 때 PDA(107) 내에 설정된 표시 모드를 취득한다. 표시 모드는 어플리케이션 화상 데이터를 터치 UI(1904)에 표시하기 위해 PDA(107)가 사용하는 방법을 의미한다. 본 예시적 실시예에 따른 PDA(107)는 두 가지 표시 모드, 즉, 전체 페이지를 표시하는 데 적합한 페이지 표시 모드와, 도 26a 및 도 26b에 도시된 바와 같이 페이지의 부분 영역(즉, 페이지 화상의 각 대상물)을 확대하는 데 적합한 부분 영역 표시 모드를 갖는다. 전술한 바와 같이, PDA(107)가 어플리케이션 화상 데이터를 수신한 직후에 페이지 표시 모드가 설정된다. 도 26a 및 도 26b에 도시된 바와 같이, 부분 영역 표시 모드는 페이지(2300)의 각 대상물이 확대되도록 페이지(2300)의 표시 배율과 시점이 제어되는 표시 모드이다. 문자 대상물(2601)이 확대할 대상물로 선택되었을 때 표시되는 화면이 도 26b에 도시되어 있다. 도 26a에 도시된 대상물(2601) 주위의 점선은 설명을 이해하기 쉽게 하기 위해 도시한 것으로, 페이지(2300) 상에 실제로 존재하지는 않는다. 본 예시적 실시예에서, 도 26b에 도시된 바와 같이, 페이지(2300) 상에 반투명 마스크(2600)를 중첩하여 목표 대상물이 쉽게 보일 수 있도록 하였다. 반투명 마스크(2600)는 확대할 대상물(2601)의 영역에 대해서는 투명하면서도 다른 대상물의 영역에 대해서는 반투명 회색이다. 이러한 반투명 마스크를 중첩하면, 목표 대상물을 강조 표시하고 다른 대상물은 어둡게 표시할 수 있어서, 사용자는 목표 대상물의 영역을 쉽게 특정할 수 있게 된다. 모드 전환 버튼(2301)이 탭핑될 때 설정된 표시 모드가 부분 영역 표시 모드인 경우(단계(S2500)에서 '부분 영역'), 처리는 단계(S2501)로 진행한다. 그때의 표시 모드가 페이지 표시 모드인 경우(단계(S2500)에서 '페이지'), 처리는 단계(S2504)로 진행한다.
단계(S2501)에서, 표시 변경 이벤트 처리 유닛(2400)은 도 26a에 도시된 바와 같이 반투명 마스크(2600)를 표시하지 않도록 설정하여(반투명 마스크 OFF), 표시 모드를 페이지 표시 모드로 전환한다.
단계(S2502)에서, 표시 변경 이벤트 처리 유닛(2400)은 전술한 바와 같이 터치 UI(1904)의 폭에 따라 페이지(2300)의 표시 배율을 제어하며, 페이지(2300)의 시점을 제어하여 페이지 표시 범위를 결정한다.
단계(S2503)에서, 표시 변경 이벤트 처리 유닛(2400)은 결정된 페이지 표시 범위에 기초하여 터치 UI(1904)의 화면 표시를 갱신한다.
모드 전환 버튼(2301)이 탭핑될 때 설정된 표시 모드가 페이지 표시 모드인 경우(단계(S2500)에서 '페이지'), 단계(S2504)에서, 표시 변경 이벤트 처리 유닛(2400)은 표시 모드를 부분 영역 표시 모드로 전환하고 반투명 마스크(2600)를 표시하도록 설정한다(반투명 마스크 ON).
단계(S2505)에서, 표시 변경 이벤트 처리 유닛(2400)은 페이지(2300)의 첫 번째 대상물을 판독하여, 첫 번째 대상물의 시점, 폭 및 높이를 취득한다. 첫 번째 대상물은 어플리케이션 화상 데이터의 문서 구조 트리에서 첫 번째로 판독되는 대상물을 의미한다.
단계(S2506)에서, 표시 변경 이벤트 처리 유닛(2400) 내의 표시 범위 제어 유닛(2403)은 (후술한) 부분 영역 표시 범위 결정 처리를 실행한다. 단계(S2503)에서, 표시 범위 제어 유닛(2403)은 결정된 부분 영역 표시 범위에 기초하여 터치 UI(1904)의 화면 표시를 갱신한다. 단계(S2506)에서의 부분 영역 표시 범위 결정 처리에서, 표시 변경 이벤트 처리 유닛(2400)은 (단계 S2505에서 판독한) 대상물의 속성에 따라 페이지의 표시 배율과 시점을 제어하여 터치 UI(1904)에 표시할 부분 영역의 표시 범위를 결정한다. 부분 영역 표시 범위 결정 처리에 대해서는 이후에 상세하게 설명한다. 이 경우, 목표 대상물의 부분 영역 이외의 영역에는 반투명(회색) 마스크가 중첩되어 있기 때문에, 사용자는 목표 대상을 쉽게 식별할 수 있게 된다.
도 27에 도시된 흐름도 참조하여, 단계(S2506)에서 표시 범위 제어 유닛(2403)에 의해 실행되는 부분 영역 표시 범위 결정 처리에 대해 설명한다.
단계(S2700)에서, 표시 범위 제어 유닛(2403)은 판독한 대상물의 속성을 판정한다. 속성이 문자인 것으로 결정된 경우(단계(S2700)에서 '문자'), 처리는 단계(S2701)로 진행한다. 속성이 표인 것으로 결정된 경우(단계(S2700)에서 '표'), 처리는 단계(S2711)로 진행한다. 한편, 속성이 그 이외인 것으로 결정된 경우(단계(S2700)에서 '그 외(OTHERS)'), 처리는 단계(S2712)로 진행한다.
단계(S2701)에서, 표시 범위 제어 유닛(2403)은 문자 속성을 가진 표시 대상 대상물(이하, '표시 목표 대상물'이라 함)이 항목별로 구분된 형태인지의 여부를 판정한다. 항목별로 구분된 형태의 대상물은 각 문자열이나 행의 라인 헤드 문자로서 점이나 숫자를 가진 대상물을 의미한다. 라인 헤드 문자는 OCR 처리의 결과로부터 취득할 수 있다. 대상물이 항목별로 구분된 형태가 아닌 통상의 문자열인 것으로 판정된 경우(단계(S2701)에서 '아니오'), 처리는 단계(S2702)로 진행한다. 한편, 대상물이 항목별로 구분된 형태인 것으로 판정된 경우(단계(S2701)에서 '예'), 처리는 단계(S2712)로 진행한다.
단계(S2702)에서, 표시 범위 제어 유닛(2403)은 대상물의 문자 조판 방향을 취득한다. 대상물의 조판 방향은 상기 단계(S304)에서 벡터화 처리에서 취득되었다.
단계(S2703)에서, 표시 범위 제어 유닛(2403)은 조판 방향을 판정한다. 조판 방향이 수직인 경우(단계(S2703)에서 '수직/첫 번째 행'), 처리는 단계(S2704)로 진행한다. 한편, 조판 방향이 수평인 경우(단계(S2703)에서 '수평/첫 번째 행'), 처리는 단계(S2705)로 진행한다.
(문자 조판 방향이 수직인 경우) 단계(S2704)에서, 표시 범위 제어 유닛(2403)은 해당 대상물의 높이가 터치 UI(1904)의 높이에 들어가도록 페이지의 표시 배율을 설정한다.
(문자 조판 방향이 수평인 경우) 단계(S2705)에서, 표시 범위 제어 유닛(2403)은 해당 대상물의 폭이 터치 UI(1904)의 폭에 들어가도록 페이지의 표시 배율을 설정한다.
단계(S2706)에서, 표시 범위 제어 유닛(2403)은 단계(S2704) 또는 단계(S2705)에서 설정된 표시 배율로 축소된 전체 대상물이 터치 UI(1904) 상에 표시될 수 있는지의 여부를 판단한다. 전체 대상물이 터치 UI(1904)보다 커서 전체 대상물이 그 위에 표시될 수 없는 것으로 결정되는 경우(단계(S2706)에서 '예'), 처리는 단계(S2707)로 진행한다. 한편, 전체 대상물이 터치 UI(1904)보다 크지 않아서 전체 대상물이 그 위에 표시될 수 있는 것으로 결정되는 경우(단계(S2706)에서 '아니오'), 처리는 단계(S2710)로 진행한다.
단계(S2707)에서, 표시 범위 제어 유닛(2403)은 해당 대상물의 문자 조판 방향을 판정한다. 문자 조판 방향이 수직인 것으로 판정된 경우(단계(S2707)에서 '수직'), 처리는 단계(S2708)로 진행한다. 한편, 문자 조판 방향이 수평인 것으로 판정된 경우(단계(S2707)에서 '수평/첫 번째 행/첫 번째 열'), 처리는 단계(S2709)로 진행한다.
단계(S2708)에서, 표시 범위 제어 유닛(2403)은 전체 대상물이 터치 UI(1904)에 표시될 수 없는 수직 문자 영역을 표시하기 때문에 해당 대상물의 우상단 모서리가 터치 UI(1904)의 우상단 모서리와 정렬되도록 전술한 페이지(2300)의 시점 위치를 설정한다. 구체적으로, 표시 범위 제어 유닛(2403)은 종서의 첫 번째 행이 표시되도록 표시 위치를 설정한다.
단계(S2709)에서, 표시 범위 제어 유닛(2403)은 터치 UI(1904)에 표시될 수 없는 수평 문자 영역을 표시하기 때문에 해당 대상물의 좌상단 모서리가 터치 UI(1904)의 좌상단 모서리와 정렬되도록 페이지(2300)의 시점 위치를 설정한다. 구체적으로, 표시 범위 제어 유닛(2403)은 횡서의 첫 번째 행이 표시되도록 표시 위치를 설정한다.
단계(S2710)에서, 전체 대상물이 터치 UI(1904)의 화면에 들어가기 때문에, 표시 범위 제어 유닛(2403)은 해당 대상물의 중앙이 터치 UI(1904)의 중앙과 정렬되도록 페이지(2300)의 시점 위치를 설정한다.
대상물의 속성이 표인 것으로 판정된 경우(단계(S2700)에서 '표'), 단계(S2711)에서, 표시 범위 제어 유닛(2403)은 표의 헤더 위치를 검출한다. 헤더 위치는, 예를 들어, 첫 번째 행(최상단의 행)과 첫 번째 열(최좌측의 열)의 문자의 폰트 종류가 볼드(bold)인지의 여부, 벡터화될 때의 벡터 데이터의 근사 곡선의 두께, 표 괘선의 두께, 표의 각 셀의 배경색에 기초하여 판단될 수 있다. 단계(S2711)에서 검출된 표의 헤더 위치가 첫 번째 행인 것으로 판단된 경우(단계(S2703)에서 '수평/첫 번째 행'), 처리는 단계(S2703)에서 단계(S2705)로 진행한다. 한편, 표의 헤더 위치가 첫 번째 열인 것으로 판단된 경우(단계(S2703)에서 '수직/첫 번째 열'), 처리는 단계(S2703)에서 단계(S2704)로 진행한다. 표 헤더는 일반적으로 최상단의 행과 최좌측의 열에 존재하기 때문에(단계(S2707)에서 '수평/첫 번째 행/첫 번째 열'), 처리는 단계(S2709)로 진행한다. 단계(S2709)에서, 표시 범위 제어 유닛(2403)은 대상물의 좌상단 모서리가 터치 UI의 좌상단 모서리와 정렬되도록 페이지의 시점을 설정한다. 이에 따라, 표의 헤더가 표시되도록 표시 위치가 설정된다.
대상물의 속성이 그 이외인 것으로 판정된 경우(문자나 표 이외의 속성, 즉, 단계(S2700)에서 '그 외'), 또는 대상물의 속성이 항목별로 구분된 형태인 것으로 판정된 경우(단계(S2701)에서 '예'), 단계(S2712)에서, 표시 범위 제어 유닛(2403)은 해당 대상물 전체가 터치 UI(1904)에 들어가도록 페이지의 표시 배율을 설정한다. 단계(S2710)에서, 표시 범위 제어 유닛(2403)은 대상물의 중앙이 터치 UI(1904)의 중앙과 정렬되도록 페이지(2300)의 시점을 설정한다.
도 28에 도시된 흐름도를 참조하여, "다음" 버튼(2302)이 사용자에 의해 탭핑(지정)될 때 실행되는 "다음 선택 처리"에 대해 설명한다.
단계(S2800)에서, 표시 변경 이벤트 처리 유닛(2400)은 "다음" 버튼(2302)이 탭핑될 때 PDA(107)에 설정되어 있는 표시 모드를 취득한다. 취득한 표시 모드가 부분 영역 표시 모드인 경우(단계(S2800)에서 '부분 영역'), 처리는 단계(S2801)로 진행한다. 한편, 취득한 표시 모드가 페이지 표시 모드인 경우(단계(S2800)에서 '페이지'), 처리는 단계(S2805)로 진행한다.
단계(S2801)에서, 표시 순서 제어 유닛(2402)은 페이지의 판독된 모든 대상물로부터 문서 구조 트리에 기초하여 다음 표시 목표 대상물을 선택하고, 해당 대상물을 판독한다. 본 예시적 실시예에서, 문서 트리 구조 상의 대상물들은 최상위 계층으로부터 아래로 표시되며, 구체적으로, 첫 번째 최상위 계층에 속하는 대상물, 두 번째 상위 계층에 속하는 대상물 등의 순서로 표시된다. 그 하위 계층에 속하는 대상물 모두가 표시되었을 때, 그 상위 계층으로부터 아래로 대상물들이 표시되며, 구체적으로, 차상위 계층에 속하는 대상물, 그 하위 계층에 속하는 대상물 등의 순서로 표시된다. 예를 들어, 도 17을 참조하면, 페이지(V0)는 첫 번째로 판독되는 대상물(H1)을 갖는다. 대상물(H1)이 부분 영역 표시 모드에서 터치 UI(1904) 상에 표시될 때 "다음 선택 처리"가 실시되면, 그 하위(두 번째) 계층에 속한 대상물(T1)이 판독된다. 대상물(T1)이 표시될 때 "다음 선택 처리"가 실시되면, 대상물(T1)은 하위 계층을 갖지 않기 때문에 대상물(T1)과 동일한 계층에 존재하는 대상물(T2)이 판독된다. 대상물(T2)이 표시될 때 "다음 선택 처리"가 실시되면, 대상물(T2)은 하위 계층을 갖지 않고 해당 계층에 대상물이 더 이상 존재하지 않기 때문에 최상위 계층에 속하는 두 번째 대상물(S1)이 판독된다. 본 예시적 실시예에서, 묘화 요소가 없는 대상물(H1)이 선택되고 판독되지만, 묘화 요소를 가진 대상물(T1, T2)만 선택될 수도 있음은 당연하다. 또한, 특정 속성, 예를 들어, 문자 속성을 가진 대상물만 선택되거나, 특정 속성이 배제될 수도 있다.
단계(S2802)에서, 표시 순서 제어 유닛(2402)은 단계(S2801)에서 다음 대상물이 판독되었는지의 여부를 판정한다. 단계(S2801)에서 다음 대상물이 판독된 것으로 판정된 경우(선택가능한 대상물이 존재하는 경우, 즉, 단계(S2802)에서 '아니오'), 처리는 단계(S2506)로 진행하여 판독된 대상물을 처리한다. 단계(S2506)에서의 부분 영역 표시 범위 결정 처리는 도 27에 도시된 처리와 유사하므로, 이에 대한 불필요한 설명은 생략한다. 단계(S2803)에서, 표시 순서 제어 유닛(2402)은 판독된 대상물의 속성, 시점, 폭 및 높이에 기초하여 제어된 페이지의 표시 배율과 시점을 사용하여 터치 UI(1904)의 화면 표시를 갱신한다.
한편, 단계(S2801)에서 다음 대상물이 판독되지 않은 것으로 판정된 경우(선택가능한 대상물이 존재하지 않는 경우, 즉, 단계(S2802)에서 '예'), 표시 순서 제어 유닛(2402)은 페이지의 최종 대상물이 이미 판독되었으며 단계(S2802)에서 모든 대상물에 대한 표시 처리가 완료된 것으로 판단하고, 처리는 단계(S2804)로 진행한다. 단계(S2804)에서, 표시 순서 제어 유닛(2402)은 부분 영역 표시 모드를 종료하고, 반투명 마스크(2600)를 표시하지 않도록 설정하며, 표시 모드를 페이지 표시 모드로 전환한다.
단계(S2805)에서, 페이지 표시 모드로 진입하기 때문에, 표시 순서 제어 유닛(2402)은 RAM(1911)에 저장된 어플리케이션 화상 데이터의 구문을 분석하고, 다음 페이지와 그에 포함된 대상물을 판독한다.
단계(S2806)에서, 표시 순서 제어 유닛(2402)은 다음 페이지가 판독되었는지의 여부를 판정한다. 단계(S2805)에서 다음 페이지가 판독되지 않은 경우(단계(S2806)에서 '아니오'), 처리는 단계(S2807)로 진행한다. 한편, RAM(1911)에 저장된 어플리케이션 화상 데이터의 최종 페이지가 이미 판독되었고, 단계(S2805)에서 다음 페이지가 판독되지 않은 경우(단계(S2806)에서 '예'), 처리는 단계(S2808)로 진행한다. 단계(S2808)에서, 표시 순서 제어 유닛(2402)은 RAM(1911)에 저장된 어플리케이션 화상 데이터의 구문을 분석하고, 첫 페이지와 거기에 포함된 대상물을 판독한다.
단계(S2807)에서, 표시 범위 제어 유닛(2403)은 전술한 바와 같이 터치 UI(1904)의 폭에 따라 페이지의 표시 배율을 제어하고, 페이지의 시점을 제어하며, 페이지 표시 범위를 결정한다. 단계(S2803)에서, 표시 범위 제어 유닛(2403)은 결정된 페이지 표시 범위에 기초하여 터치 UI(1904)의 화면 표시를 갱신한다.
이하, 도 29에 도시된 흐름도를 참조하여, "이전" 버튼(2302)이 사용자에 의해 탭핑(지정)될 때 실행되는 "이전 선택 처리"에 대해 설명한다.
이전 선택 처리는 전술한 다음 선택 처리와 거의 동일한 구성이기 때문에, 이에 대한 불필요한 설명은 생략하고, 이하에서는 다른 부분(단계(S2900), 단계(S2901) 및 단계(S2902))들에 대해서만 설명한다.
단계(S2900)에서, 표시 순서 제어 유닛(2402)은 현재 판독하고 있는 대상물들로부터 문서 구조 트리에 기초하여 다음 표시 목표 대상물을 선택하고, 해당 대상물을 판독한다. 본 예시적 실시예에서, "이전" 버튼(2302)이 탭핑될 때, 문서 트리 구조 상의 대상물들은 최하위 계층으로부터 위로 표시되며, 구체적으로, 최하위 계층에 속하는 대상물, 두 번째 하위 계층에 속하는 대상물 등의 순서로 표시된다. 그 하위 계층에 속하는 대상물 모두가 표시되었을 때, 그 상위 계층에 속하는 대상물들이 표시된다. 예를 들어, 도 17을 참조하면, 최하위 계층에 속하는 최종 대상물(T7)이 먼저 판독된다. 부분 영역 표시 모드에서, 대상물(T7)이 터치 UI(1904) 상에 표시될 때 "이전 선택 처리"가 실시되면, 동일한 계층에 존재하는 대상물(T6)이 판독된다. 또한, 대상물(T6)이 표시될 때 "이전 선택 처리"가 실시되면, 동일한 계층에 다른 대상물이 존재하지 않기 때문에 상위 계층에 속하는 대상물(V2)이 판독된다. 대상물(V2)이 표시될 때 "이전 선택 처리"가 실시되면, 대상물(V1)이 동일한 계층에 존재하고 하위 계층에 대상물을 갖기 때문에 대상물(V1)의 하위 계층에 속하는 최종 대상물(T5)이 판독된다. "다음 선택 처리"와 마찬가지로, "이전 선택 처리"에서도, 묘화 요소를 가진 대상물만 선택하고, 특정 속성을 가진 대상물만 선택하며, 특정 속성을 가진 대상물만 배제할 수도 있다.
이하, 도 30에 도시된 흐름도를 참조하여, 이동 범위 제한 유닛(2404)에 의해 실행되는 이동 범위 제한 처리에 대해 설명한다.
단계(S3000)에서, 이동 범위 제한 유닛(2404)은 스와이프 조작이 실행될 때 PDA(107)에 설정된 표시 모드를 취득하고, 표시 모드가 부분 영역 표시 모드인지의 여부를 판정한다. 표시 모드가 부분 영역 표시 모드인 것으로 판정되는 경우(단계(S3000)에서 '부분 영역'), 처리는 단계(S3001)로 진행한다. 한편, 표시 모드가 페이지 표시 모드인 것으로 판정되는 경우(단계(S3000)에서 '페이지'), 처리는 흐름도에서 종료된다.
표시 모드가 부분 영역 표시 모드인 것으로 판정되는 경우(단계(S3000)에서 '부분 영역'), 단계(S3001)에서, 이동 범위 제한 유닛(2404)은 현재 페이지의 표시 배율로 표시할 때 현재 판독되고 있는 대상물의 폭이 터치 UI(1904)의 화면의 폭보다 큰지의 여부를 판정한다. 해당 대상물의 폭이 터치 UI(1904)의 화면 폭보다 큰 경우(단계(S3001)에서 '예'), 처리는 단계(S3002)로 진행한다. 그렇지 않으면(단계(S3001)에서 '아니오'), 처리는 단계(S3004)로 진행한다.
단계(S3002)에서, 스와이프 이벤트 처리 유닛(2401)이 스와이프 이벤트의 이동 거리에 따라 해당 대상물이 포함된 페이지의 표시 위치를 이동시킬 때, 이동 범위 제한 유닛(2404)은 대상물의 좌측 또는 우측 단부가 터치 UI(1904)의 화면 속으로 이동했는지의 여부를 판정한다. 대상물의 좌측 또는 우측 단부가 터치 UI(1904)의 화면 내에 있는 것으로 판정된 경우(단계(S3002)에서 '예'), 처리는 단계(S3003)로 진행한다. 그렇지 않으면(단계(S3002)에서 '아니오'), 처리는 단계(S3006)로 진행한다.
단계(S3003)에서, 이동 범위 제한 유닛(2404)은 화면 속으로 이동한 해당 대상물의 좌측 또는 우측 단부를 터치 UI(1904)의 화면의 좌측 또는 우측 단부로 각각 이동시켜 해당 대상물이 최대한 표시되도록 페이지의 시점의 X-좌표를 보정한다.
해당 대상물의 폭이 터치 UI(1904)의 화면 폭보다 크지 않은 것으로 판정되는 경우(단계(S3001)에서 '아니오'), 단계(S3004)에서, 스와이프 이벤트 처리 유닛(2401)이 스와이프 이벤트의 이동 거리에 따라 해당 대상물이 포함된 페이지의 표시 위치를 이동시킬 때, 이동 범위 제한 유닛(2404)은 대상물의 좌측 또는 우측 단부가 터치 UI(1904)의 화면 밖으로 이동했는지의 여부를 판정한다. 해당 대상물의 좌측 또는 우측 단부가 터치 UI(1904)의 화면 밖에 있는 것으로 판정된 경우(단계(S3004)에서 '예'), 처리는 단계(S3005)로 진행한다. 그렇지 않으면(단계(S3004)에서 '아니오'), 처리는 단계(S3006)로 진행한다.
단계(S3005)에서, 이동 범위 제한 유닛(2404)은 해당 대상물의 좌측 또는 우측 단부를 화면의 좌측 또는 우측 단부로 각각 이동시켜 해당 대상물 전체가 표시되도록 페이지의 시점의 X-좌표를 보정한다.
단계(S3006)에서, 이동 범위 제한 유닛(2404)은 현재 페이지의 표시 배율로 표시할 때 현재 판독되고 있는 대상물의 높이가 터치 UI(1904)의 화면의 높이보다 큰지의 여부를 판정한다. 해당 대상물의 높이가 터치 UI(1904)의 화면 높이보다 큰 것으로 판정된 경우(단계(S3006)에서 '예'), 처리는 단계(S3007)로 진행한다. 그렇지 않으면(단계(S3006)에서 '아니오'), 처리는 단계(S3009)로 진행한다.
단계(S3007)에서, 스와이프 이벤트 처리 유닛(2401)이 스와이프 이벤트의 이동 거리에 따라 해당 대상물이 포함된 페이지의 표시 위치를 이동시킬 때, 이동 범위 제한 유닛(2404)은 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 속으로 이동했는지의 여부를 판정한다. 해당 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 내에 있는 것으로 판정된 경우(단계(S3007)에서 '예'), 처리는 단계(S3008)로 진행한다. 그렇지 않으면(단계(S3007)에서 '아니오'), 처리는 단계(S3011)로 진행한다.
단계(S3008)에서, 이동 범위 제한 유닛(2404)은 화면 속으로 이동한 해당 대상물의 상단 또는 하단을 화면의 상단 또는 하단으로 각각 이동시켜 해당 대상물이 최대한 표시되도록 페이지의 시점의 Y-좌표를 보정한다.
해당 대상물의 높이가 터치 UI(1904)의 화면 높이보다 크지 않은 것으로 판정되는 경우(단계(S3006)에서 '아니오'), 단계(S3009)에서, 스와이프 이벤트 처리 유닛(2401)이 스와이프 이벤트의 이동 거리에 따라 해당 대상물이 포함된 페이지의 표시 위치를 이동시킬 때, 이동 범위 제한 유닛(2404)은 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 밖으로 이동했는지의 여부를 판정한다. 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 밖으로 이동한 것으로 판정된 경우(단계(S3009)에서 '예'), 처리는 단계(S3010)로 진행한다. 그렇지 않으면(단계(S3009)에서 '아니오'), 처리는 단계(S3011)로 진행한다.
단계(S3010)에서, 이동 범위 제한 유닛(2404)은 해당 대상물의 상단 또는 하단을 화면 속으로 이동시켜 해당 대상물 전체가 표시되도록 페이지의 시점의 Y-좌표를 보정한다.
단계(S3011)에서, 표시 변경 이벤트 처리 유닛(2400)은 페이지의 표시 배율과 시점에 따라 터치 UI(1904)의 화면 표시를 갱신한다.
이에 따라, 대상물의 이동 범위를 제한함으로써, 사용자는 대상물의 단부를 용이하게 식별할 수 있다.
이하, 도 31에 도시된 흐름도를 참조하여, 핀치-인 조작이 실시될 때, 축소-시간 표시 모드 전환 유닛(2406)에 의해 실행되는 축소-시간 표시 모드 전환 처리에 대해 설명한다.
단계(S3100)에서 축소-시간 표시 모드 전환 유닛(2406)은 사용자가 핀치-인 조작을 실시할 때 PDA(107)에 설정되어 있는 표시 모드를 취득한다. 취득한 표시 모드가 부분 영역 표시 모드인 것으로 판정되는 경우(단계(S3100)에서 '부분 영역'), 처리는 단계(S3101)로 진행한다. 한편, 표시 모드가 페이지 표시 모드인 것으로 판정되는 경우(단계(S3100)에서 '페이지'), 처리는 흐름도에서 종료된다.
단계(S3101)에서, 축소-시간 표시 모드 전환 유닛(2406)은 현재 페이지의 표시 배율로 표시할 때 현재 판독되고 있는 대상물의 폭이 터치 UI(1904)의 화면의 폭보다 작은지의 여부를 판정한다. 해당 대상물의 폭이 터치 UI(1904)의 화면 폭보다 작은 경우(단계(S3101)에서 '예'), 처리는 단계(S3102)로 진행한다. 그렇지 않으면(단계(S3101)에서 '아니오'), 처리는 흐름도에서 종료된다.
단계(S3102)에서, 축소-시간 표시 모드 전환 유닛(2406)은 현재 페이지의 표시 배율로 표시할 때 현재 판독되고 있는 대상물의 높이가 터치 UI(1904)의 화면의 높이보다 작은지의 여부를 판정한다. 해당 대상물의 높이가 터치 UI(1904)의 화면 높이보다 작은 것으로 판정된 경우(단계(S3102)에서 '예'), 처리는 단계(S3103)로 진행한다. 그렇지 않으면(단계(S3102)에서 '아니오'), 처리는 흐름도에서 종료된다.
단계(S3103)에서, 축소-시간 표시 모드 전환 유닛(2406)은 해당 대상물이 포함된 페이지의 배율이 더 축소될 것인지의 여부를 판단한다. 구체적으로, 축소-시간 표시 모드 전환 유닛(2406)은 수신된 이벤트가 핀치-인 이벤트인지의 여부를 판정한다. 페이지가 더 축소될 것으로 판단되는 경우(단계(S3103)에서 '예'), 처리는 단계(S3104)로 진행한다. 그렇지 않으면(단계(S3103)에서 '아니오'), 처리는 흐름도에서 종료된다.
단계(S3104)에서, 축소-시간 표시 모드 전환 유닛(2406)은 반투명 마스크(2600)를 표시하지 않도록 설정하며, PDA(107)의 표시 모드를 부분 영역 표시 모드에서 페이지 표시 모드로 전환한다.
단계(S3105)에서, 표시 변경 이벤트 처리 유닛(2400)은 핀치-인 이벤트에 기초하여 결정되는 페이지의 표시 배율과 시점에 따라 터치 UI(1904)의 화면 표시를 갱신한다.
이하, 도 32의 흐름도를 참조하여, 더블-탭 조작이 실시될 때, 대상물 선택 처리 유닛(2407)에 의해 실행되는 대상물 선택 처리에 대해 설명한다.
단계(S3200)에서, 대상물 선택 처리 유닛(2407)은 사용자가 더블-탭 조작을 실시할 때 PDA(107)에 설정되어 있는 표시 모드를 취득한다. 취득한 표시 모드가 페이지 표시 모드인 것으로 판정되는 경우(단계(S3200)에서 '페이지'), 처리는 단계(S3201)로 진행한다. 한편, 표시 모드가 부분 영역 표시 모드인 것으로 판정되는 경우(단계(S3200)에서 '부분 영역'), 처리는 흐름도에서 종료된다.
단계(S3201)에서, 대상물 선택 처리 유닛(2407)은 취득한 더블-탭 이벤트의 터치 좌표의 좌표값을 취득한다. 상기 터치 좌표의 좌표값은 터치 UI(1904)의 좌표값이기 때문에, 대상물 선택 처리 유닛(2407)은 터치 UI(1904)에 표시되는 페이지의 표시 배율과 시점에 기초하여 이를 페이지에서의 좌표값으로 변환한다.
단계(S3202)에서, 대상물 선택 처리 유닛(2407)은 터치 UI(1904)에 표시되는 현재 페이지의 모든 대상물 중에서 첫 번째 대상물에 대한 정보를 판독한다.
단계(S3203)에서, 대상물 선택 처리 유닛(2407)은 단계(S3201)에서 취득한 페이지에서의 좌표값이 판독된 대상물의 영역 정보에 포함되는지의 여부를 판정한다. 페이지에서의 좌표값이 판독된 대상물의 영역 정보에 포함되는 경우(단계(S3203)에서 '예'), 처리는 단계(S3204)로 진행한다. 그렇지 않으면(단계(S3203)에서 '아니오'), 처리는 단계(S3206)로 진행한다.
단계(S3204)에서, 대상물 선택 처리 유닛(2407)은 PDA(107)의 표시 모드를 페이지 표시 모드에서 부분 영역 표시 모드로 전환한다. 이와 동시에, 대상물 선택 처리 유닛(2407)은 반투명 마스크(2600)를 표시하여 더블-탭핑된 대상물 이외의 영역에 반투명 마스크가 중첩되도록 하며, 처리는 단계(S2506)로 진행한다.
단계(S2506)에서, 대상물 선택 처리 유닛(2407)은 단계(S3202 또는 S3206)에서 판독한 대상물(더블-탭핑된 대상물)에 대해 부분 영역 표시 범위 결정 처리를 수행한다. 부분 영역 표시 범위 결정 처리는 전술한 바와 같으므로, 이에 대해 불필요한 설명은 생략한다.
단계(S3205)에서, 표시 변경 이벤트 처리 유닛(2400)은 부분 영역 표시 범위 결정 처리에서 결정된 페이지의 표시 배율과 시점에 기초하여 터치 UI(1904)의 화면 표시를 갱신한다.
단계(S3206)에서, 대상물 선택 처리 유닛(2407)은 현재 페이지의 모든 대상물 중에서 현재 판독되고 있는 대상물 다음에 있는 대상물에 대한 정보를 판독한다.
단계(S3207)에서, 대상물 선택 처리 유닛(2407)은 단계(S3206)에서 다음 대상물이 판독되었는지의 여부를 판정한다. 다음 대상물이 판독된 것으로 판정되는 경우(단계(S3207)에서 '아니오'), 처리는 단계(S3203)로 진행한다. 한편, 다음 대상물이 판독되지 않은 것으로 판정되는 경우(단계(S3207)에서 '예'), 처리는 흐름도에서 종료된다.
본 예시적 실시예에서는, 대상물 선택 처리 유닛(2407)이 터치 UI(1904)에 현재 표시되는 페이지의 모든 대상물의 영역 정보에 페이지 내의 좌표값이 포함되는지의 여부를 판정하고 있지만, 처리가 이에 한정되는 것은 아니다. 예를 들어, 상기 이전 선택 처리 및 상기 다음 선택 처리와 마찬가지로, 묘화 요소가 없는 대상물을 무시하고 묘화 요소를 가진 대상물만을 선택할 수도 있다. 또한, 예를 들어, (문자 속성을 가진 대상물과 같이) 특정 속성을 가진 대상물만을 선택하고 특정 속성을 가진 대상물만을 배제하는 것도 가능하다.
이하, 도 26a, 도 26b, 도 33a, 도 33b, 도 34a 및 도 34b를 참조하여, 본 예시적 실시예에 따른 부분 영역 표시 모드에서의 표시 처리를 설명한다. 도 33a, 도 33b, 도 34a 및 도 34b는 본 예시적 실시예에 따른 PDA(107)의 터치 UI(1904)의 화면 표시의 일 예를 도시하고 있다.
도 26a 및 도 26b를 참조하면, 대상물(2601)은 횡서용 문자 속성을 가진 대상물이다. 대상물(2601)은 도 26a에 도시된 바와 같이 점선으로 둘러싸인 영역 정보를 갖는다. 대상물(2601)이 문자 속성을 갖기 때문에, 대상물(2601)이 판독된 직후, 전술한 부분 영역 표시 범위 결정 처리에서 해당 대상물의 폭이 터치 UI(1904)의 화면 폭에 들어가는 배율로 페이지의 표시 배율이 설정된다. 설정된 페이지 표시 배율에 의하여, 대상물(2601)의 높이가 터치 UI(1904)의 화면 높이보다 작기 때문에, 해당 대상물의 중심이 터치 UI(1904)의 중심과 정렬되도록 페이지의 시점이 설정되고, 도 26b에 도시된 바와 같이 페이지가 표시된다.
도 33a 및 도 33b를 참조하면, 대상물(3300)은 종서용 문자 속성을 가진 대상물이다. 대상물(3300)은 도 33a에 도시된 바와 같이 점선으로 둘러싸인 영역 정보를 갖는다. 대상물(3300)이 문자 속성을 갖기 때문에, 대상물(3300)이 판독된 직후, 전술한 부분 영역 표시 범위 결정 처리에서 해당 대상물의 높이가 터치 UI(1904)의 화면 높이에 들어가는 배율로 페이지의 표시 배율이 설정된다. 설정된 페이지 표시 배율에 의하여, 대상물(3300)의 폭이 터치 UI(1904)의 화면 폭보다 크기 때문에, 해당 대상물의 우상단 모서리가 터치 UI(1904)의 우상단 모서리와 정렬되도록 페이지의 시점이 설정되고, 도 33b에 도시된 바와 같이 페이지가 표시된다.
도 34a 및 도 34b를 참조하면, 대상물(3400)은 그래픽 속성을 가진 대상물이다. 대상물(3400)은 도 34a에 도시된 바와 같이 점선으로 둘러싸인 영역 정보를 갖는다. 대상물(3400)이 그래픽 속성을 갖기 때문에, 대상물(3400)이 판독된 직후, 전술한 부분 영역 표시 범위 결정 처리에서 해당 대상물의 폭과 높이가 터치 UI(1904)의 화면 폭과 높이에 각각 들어가는 배율로 페이지의 표시 배율이 설정된다. 또한, 도 34b에 도시된 바와 같이, 해당 대상물의 중심이 터치 UI(1904)의 중심과 정렬되도록 페이지의 시점이 설정된다.
이하, 도 34a, 도 34b, 도 35a, 도 35b, 도 35c, 도 36a, 도 36b 및 도 36c를 참조하여, 본 예시적 실시예에 따른 전술한 이동 범위 제한 처리에서의 제한의 예를 설명한다. 도 35a, 도 35b, 도 35c, 도 36a, 도 36b 및 도 36c는 본 예시적 실시예에 따른 PDA(107)의 터치 UI(1904)의 화면 표시의 일 예를 도시하고 있다.
도 35a는 대상물(3400)이 터치 UI(1904)에 표시된 화면 표시의 일 예를 도시하고 있다. 도 35a를 참조하면, 대상물(3400)이 터치 UI(1904)의 화면 속에 들어가도록, 대상물(3400)의 폭과 높이가 터치 UI(1904)의 화면 폭과 높이보다 작다. 도 35b는 사용자의 손가락이 위치(3500)로부터 위치(3501)까지의 범위에서(즉, 좌측에서 우측으로) 스와이프 조작을 실시할 때의 화면 표시의 일 예를 도시하고 있다. 스와이프 이벤트를 수신할 때마다, 스와이프 이벤트 처리 유닛(2401)은 이동 거리만큼 페이지의 시점을 이동시키고, 터치 UI(1904)의 화면 표시를 갱신한다. 도 35b를 참조하면, 사용자의 스와이프 조작에 의해 대상물(3400)의 좌측 단부가 터치 UI(1904)의 화면 밖으로 이동하였다. 도 35c는 (도 35b에 도시된 바와 같이 스와이프 이벤트 처리 유닛(2401)에 의해 좌측 단부가 화면 밖으로 이동한) 대상물(3400)을 전술한 이동 범위 제한 처리에 의해 화면 속으로 다시 이동시키기 위해 페이지의 시점이 보정된 이후의 터치 UI(1904)의 화면 표시의 일 예를 도시하고 있다. 구체적으로, 대상물(3400)의 폭과 높이가 터치 UI(1904)의 화면 폭과 높이보다 각각 작기 때문에, 대상물(3400)이 화면 밖으로 이동한 경우, 전체 대상물(3400)이 화면 내에 표시되도록 이동 범위 제한 처리를 통해 페이지의 시점이 보정된다.
도 36a는 대상물(3400)을 핀치-아웃 조작으로 확대한 후 터치 UI(1904)의 화면 표시의 일 예를 도시하고 있다. 도 36a를 참조하면, 표시된 대상물(3400)의 폭이 터치 UI(1904)의 화면 폭보다 크기 때문에, 대상물(3400)의 좌측 단부와 우측 단부가 터치 UI(1904)의 화면 밖에 표시되고, 상하단이 화면 내에 표시되어 있다. 도 36b는 사용자의 손가락이 위치(3600)로부터 위치(3601)까지의 범위에서(즉, 우측에서 좌측으로) 스와이프 조작을 실시할 때의 화면 표시의 일 예를 도시하고 있다. 스와이프 이벤트를 수신할 때마다, 스와이프 이벤트 처리 유닛(2401)은 이동 거리만큼 페이지의 시점을 이동시키고, 터치 UI(1904)의 화면 표시를 갱신한다. 도 36b를 참조하면, 사용자의 스와이프 조작에 의해 대상물(3400)의 우측 단부가 터치 UI(1904)의 화면 속으로 이동하였다. 도 36c는 전술한 이동 범위 제한 처리에 의해 대상물(3400)의 우측 단부가 터치 UI(1904)의 화면의 우측 단부와 거의 정렬되도록 (도 36b에 도시된 바와 같이 스와이프 이벤트 처리 유닛(2401)에 의해 우측 단부가 화면 속으로 이동한) 대상물(3400)을 이동시키기 위해 페이지의 시점이 보정된 이후의 터치 UI(1904)의 화면 표시의 일 예를 도시하고 있다. 구체적으로, 대상물(3400)의 폭이 터치 UI(1904)의 화면 폭보다 크기 때문에, 대상물(3400)의 좌측 단부 또는 우측 단부가 화면 속으로 이동한 경우, 해당 대상물의 좌측 단부 또는 우측 단부가 화면의 좌측 단부 또는 우측 단부와 각각 정렬되어 해당 대상물이 최대한 표시되도록 이동 범위 제한 처리를 통해 페이지의 시점이 보정된다.
본 예시적 실시예에서, MFP(100)는 PDA(107)에 표시될 어플리케이션 화상 데이터를 송부하고, PDA(107)는 그 어플리케이션 화상 데이터를 수신한다. 그러나, 어플리케이션 화상 데이터가 내부에 저장된 PDA(107)에 의해 실행될 수 있는 어플리케이션을 생성하고, 그 어플리케이션을 PDA(107)에 배포할 수 있음은 당연하다. PDA(107)에 의해 실행될 수 있는 어플리케이션은 어플리케이션 화상 데이터를 제어하는 제스처 이벤트 처리 유닛(2002)(본 예시적 실시예에서 설명한 소프트웨어 모듈)을 포함한다.
또한, MFP(100)는 생성된 어플리케이션 화상 데이터를 문서 관리 서버(106)에 전송하고, PDA(107)에 어플리케이션 화상 데이터의 위치를 나타내는 어드레스를 전송할 수 있다. 이 경우, PDA(107)는 어플리케이션 화상 데이터의 엔티티(entity)를 갖지 않는 대신, 문서 관리 서버(106)의 데이터를 저장하고 있는 데이터베이스(105)로부터 필요에 따라 페이지나 대상물의 정보를 취득하고, 그 정보를 표시한다.
전술한 바와 같이, 본 예시적 실시예에 따르면, 스와이프 및 핀치 조작을 통해 자유롭게 대상물을 스크롤링, 확대 및 축소함으로써 페이지를 브라우징할 수 있으며, 부분 영역 표시 모드에서는 원하는 대상물만 그 내용에 따라 보기 쉬운 형태로 표시할 수 있다. 또한, 본 예시적 실시예에 따르면, "다음" 버튼과 "이전" 버튼을 조작하는 것만으로 적절한 순서로 페이지의 적당한 범위를 연속적으로 표시할 수 있으므로, 사용자는 정교한 조정을 행하지 않고도 페이지의 정보를 쉽게 판독할 수 있다. 또한, 본 예시적 실시예에 따르면, 부분 영역 표시 모드에서 스와이프 조작으로 대상물을 이동시킬 때, 해당 대상물의 단부 위치에 기초하여 해당 대상물의 이동 범위를 제한하기 때문에, 사용자는 해당 대상물의 범위를 쉽게 인식할 수 있다. 따라서, 사용자는 해당 대상물을 그 외의 대상물과 명확하게 구별할 수 있다.
본 발명의 제 2 예시적 실시예에서는, 이동 범위 제한 유닛(2404)이 대상물의 이동 범위를 제한할 때, 이동 범위를 한번 제한한 다음, 이동 범위의 제한을 해제한다. 따라서, 사용자가 범위 밖으로 해당 대상물의 이동을 다시 지시하는 경우, 대상물의 이동이 가능하다.
제 2 예시적 실시예는 도 30에 도시된 이동 범위 제한 처리의 일부만 전술 한 제 1 예시적 실시예와 상이하다. 따라서, 유사한 부분에 대해서는 동일한 참조 번호를 부여하고, 상이한 부분에 대해서만 후술한다.
도 37a 및 도 37b로 이루어진 도 37은 제 2 예시적 실시예에 따른 이동 범위 제한 유닛(2404)에 의해 실행되는 이동 범위 제한 처리를 도시하고 있는 흐름도이며, 수평 제한 해제 플래그와 수직 제한 해제 플래그를 사용하고 있다는 점에서, 제 1 예시적 실시예에 따른 이동 범위 제한 처리(도 30)와 상이하다. 페이지와 대상물이 판독될 때, 수평 제한 해제 플래그와 수직 제한 해제 플래그는 반드시 FALSE로 초기화된다.
해당 대상물의 폭이 화면의 폭보다 큰 것으로 판단되거나(단계(S3001)에서, '예'), 해당 대상물의 좌측 단부 또는 우측 단부가 터치 UI(1904)의 화면 속으로 이동된 것으로 판단되는 경우(단계(S3002)에서 '예'), 처리는 단계(S3700)로 진행한다. 단계(S3700)에서, 이동 범위 제한 유닛(2404)은 수평 제한 해제 플래그의 상태를 확인한다. 단계(S3700)에서 수평 제한 해제 플래그가 TRUE인 것으로 판정되는 경우, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 제한하지 않고, 처리는 단계(S3006)로 진행한다. 한편, 단계(S3700)에서 수평 제한 해제 플래그가 FALSE인 것으로 판정되는 경우, 단계(S3003)에서, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 한번 제한한 다음, 단계(S3701)에서, 이동 범위 제한 유닛(2404)은 수평 제한 해제 플래그를 TRUE로 설정하며, 처리는 단계(S3006)로 진행한다. 해당 대상물의 좌측 단부 또는 우측 단부가 터치 UI(1904)의 화면 속으로 이동하지 않은 것으로 판단되는 경우(단계(S3002)에서 '아니오'), 단계(S3702)에서, 이동 범위 제한 유닛(2404)은 수평 제한 해제 플래그를 FALSE로 설정하며, 처리는 단계(S3006)로 진행한다.
해당 대상물의 폭이 화면의 폭보다 크지 않은 것으로 판단되거나(단계(S3001)에서, '아니오'), 해당 대상물의 좌측 단부 또는 우측 단부가 터치 UI(1904)의 화면 밖으로 이동된 것으로 판단되는 경우(단계(S3004)에서 '예'), 처리는 단계(S3703)로 진행한다. 단계(S3703)에서, 이동 범위 제한 유닛(2404)은 수직 제한 해제 플래그의 상태를 확인한다. 단계(S3703)에서 수직 제한 해제 플래그가 TRUE인 것으로 판정되는 경우, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 제한하지 않고, 처리는 단계(S3006)로 진행한다. 한편, 단계(S3703)에서 수직 제한 해제 플래그가 FALSE인 것으로 판정되는 경우, 단계(S3005)에서, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 한번 제한한 다음, 단계(S3704)에서, 이동 범위 제한 유닛(2404)은 수평 제한 해제 플래그를 TRUE로 설정하며, 처리는 단계(S3006)로 진행한다. 대상물의 좌측 단부 또는 우측 단부가 터치 UI(1904)의 화면 밖으로 이동하지 않은 것으로 판단되는 경우(단계(S3004)에서 '아니오'), 단계(S3705)에서, 이동 범위 제한 유닛(2404)은 수평 제한 해제 플래그를 FALSE로 설정하며, 처리는 단계(S3006)로 진행한다.
해당 대상물의 높이가 화면의 높이보다 큰 것으로 판단되거나(단계(S3006)에서, '예'), 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 속으로 이동된 것으로 판단되는 경우(단계(S3007)에서 '예'), 처리는 단계(S3706)로 진행한다. 단계(S3706)에서, 이동 범위 제한 유닛(2404)은 수직 제한 해제 플래그의 상태를 확인한다. 단계(S3706)에서 수직 제한 해제 플래그가 TRUE인 것으로 판정되는 경우, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 제한하지 않고, 처리는 단계(S3011)로 진행한다. 한편, 단계(S3706)에서 수직 제한 해제 플래그가 FALSE인 것으로 판정되는 경우, 단계(S3008)에서, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 한번 제한한 다음, 단계(S3707)에서, 이동 범위 제한 유닛(2404)은 수직 제한 해제 플래그를 TRUE로 설정하며, 처리는 단계(S3011)로 진행한다. 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 속으로 이동하지 않은 것으로 판단되는 경우(단계(S3007)에서 '아니오'), 단계(S3708)에서, 이동 범위 제한 유닛(2404)은 수직 제한 해제 플래그를 FALSE로 설정하며, 처리는 단계(S3011)로 진행한다.
해당 대상물의 높이가 화면의 높이보다 크지 않은 것으로 판단되거나(단계(S3006)에서, '아니오'), 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 밖으로 이동된 것으로 판단되는 경우(단계(S3009)에서 '예'), 처리는 단계(S3709)로 진행한다. 단계(S3709)에서, 이동 범위 제한 유닛(2404)은 수직 제한 해제 플래그의 상태를 확인한다. 단계(S3709)에서 수직 제한 해제 플래그가 TRUE인 것으로 판정되는 경우, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 제한하지 않고, 처리는 단계(S3011)로 진행한다. 한편, 단계(S3709)에서 수직 제한 해제 플래그가 FALSE인 것으로 판정되는 경우, 단계(S3010)에서, 이동 범위 제한 유닛(2404)은 해당 대상물의 이동 범위를 한번 제한한 다음, 단계(S3710)에서, 이동 범위 제한 유닛(2404)은 수직 제한 해제 플래그를 TRUE로 설정하며, 처리는 단계(S3011)로 진행한다. 대상물의 상단 또는 하단이 터치 UI(1904)의 화면 밖으로 이동하지 않은 것으로 판단되는 경우(단계(S3009)에서 '아니오'), 단계(S3711)에서, 이동 범위 제한 유닛(2404)은 수직 제한 해제 플래그를 FALSE로 설정하며, 처리는 단계(S3011)로 진행한다.
전술한 바와 같이, 본 예시적 실시예에 따르면, 스와이프 및 핀치-인/아웃 조작을 통해 자유롭게 대상물을 스크롤링, 확대 및 축소함으로써 페이지를 브라우징할 수 있으며, 부분 영역 표시 모드에서는 원하는 대상물만 그 내용에 따라 보기 쉬운 형태로 표시할 수 있다. 또한, 본 예시적 실시예에 따르면, "다음" 버튼과 "이전" 버튼을 조작하는 것만으로 적절한 순서로 페이지의 적당한 범위를 연속적으로 표시할 수 있으므로, 사용자는 정교한 조정을 행하지 않고도 페이지의 정보를 쉽게 판독할 수 있다. 또한, 본 예시적 실시예에 따르면, 부분 영역 표시 모드에서 스와이프 조작으로 대상물을 이동시킬 때, 해당 대상물의 단부 위치에 기초하여 해당 대상물의 이동 범위를 제한하기 때문에, 사용자는 해당 대상물의 범위를 쉽게 인식할 수 있다. 또한, 사용자가 대상물의 이동 범위를 한번 제한한 후 해당 대상물의 이동을 다시 지시하는 경우, 대상물의 이동이 가능하다.
본 발명의 실시예들은, 본 발명의 전술한 실시예(들) 중 하나 이상의 기능을 실시하기 위해 저장 매체(예를 들면, 비일시적 컴퓨터-판독가능한 저장 매체) 상에 기록된 컴퓨터 실행가능한 명령들을 판독하여 실행하는 시스템 또는 장치의 컴퓨터에 의해 실현될 수 있으며, 예컨대, 전술한 실시예(들) 중 하나 이상의 기능을 실시하기 위해 저장 매체로부터 컴퓨터 실행가능한 명령들을 판독하여 실행함으로써 상기 시스템 또는 장치의 컴퓨터에 의해 실시되는 방법에 의해 실현될 수 있다. 컴퓨터는 중앙처리장치(CPU), 마이크로 처리장치(MPU) 또는 다른 회로 중 하나 이상을 포함할 수 있으며, 분리된 컴퓨터들 또는 분리된 컴퓨터 프로세스들의 네트워크를 포함할 수 있다. 컴퓨터 실행가능한 지령들은, 예컨대, 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예컨대, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 분산된 연산 시스템들의 스토리지, (콤팩트 디스크(CD), 디지털 다용도 디스크(DVD) 또는 블루-레이 디스크(BD)TM과 같은) 광학 디스크, 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
예시적 실시예를 참조하여 본 발명을 설명하였으나, 본 발명이 개시된 예시적 실시예들에 한정되지 않음을 이해하여야 한다. 이하의 특허청구범위는 모든 변형, 등가의 구성 및 기능을 포함하도록 최광의로 해석되어야 한다.

Claims (15)

  1. 복수의 대상물(object)을 포함한 화상을 표시하기 위한 화상 표시 장치로서,
    상기 화상에 포함된 각 대상물을 표시하는 제 1 표시 모드가 지정된 경우, 표시 목표 대상물의 속성에 따라 표시 배율과 표시 위치를 설정하도록 구성된 설정 유닛과,
    상기 설정 유닛에 의해 설정된 표시 배율과 표시 위치에 기초하여 상기 표시 목표 대상물을 포함한 화상을 화면에 표시하기 위한 제어를 실시하도록 구성된 표시 제어 유닛을 포함하는,
    화상 표시 장치.
  2. 제 1 항에 있어서,
    상기 표시 목표 대상물이 문자 속성을 가진 경우, 상기 설정 유닛은 상기 표시 목표 대상물이 항목별로 구분된 형태인지의 여부와 상기 표시 목표 대상물이 종서 또는 횡서(horizontal writing)인지의 여부에 따라 표시 배율과 표시 위치를 설정하는,
    화상 표시 장치.
  3. 제 1 항에 있어서,
    상기 표시 목표 대상물이 표 속성을 가진 경우, 상기 설정 유닛은 상기 표의 헤더를 검출하고, 상기 헤더의 위치에 기초하여 표시 배율과 표시 위치를 설정하는,
    화상 표시 장치.
  4. 제 1 항에 있어서,
    상기 표시 목표 대상물이 문자 속성과 표 속성 이외의 속성을 가진 경우, 상기 설정 유닛은 전체 표시 목표 대상물이 표시되도록 표시 배율과 표시 위치를 설정하는,
    화상 표시 장치.
  5. 제 1 항에 있어서,
    상기 표시 제어 유닛은 사용자에 의한 핀치-아웃 조작과 핀치-인 조작에 따라 상기 표시 목표 대상물을 포함하고 있는 상기 화상을 확대 또는 축소하기 위한 제어를 실시하는,
    화상 표시 장치.
  6. 제 1 항에 있어서,
    상기 제 1 표시 모드가 지정되었을 때, 상기 표시 목표 대상물을 포함한 상기 화상의 표시 위치를 이동시키기 위한 스와이프(swipe) 조작을 사용자가 실시할 경우, 상기 표시 목표 대상물이 표시되도록 상기 표시 목표 대상물의 표시 위치의 이동을 제한하도록 구성된 이동 범위 제한 유닛을 더 포함하는,
    화상 표시 장치.
  7. 제 6 항에 있어서,
    상기 표시 목표 대상물을 포함한 상기 화상의 표시 위치를 이동시키기 위한 스와이프 조작을 사용자가 실시할 때, 상기 표시 목표 대상물의 표시 크기가 상기 화면보다 클 경우, 상기 표시 목표 대상물의 단부가 상기 화면의 대응 단부와 정렬되도록 상기 이동 범위 제한 유닛이 상기 표시 목표 대상물의 표시 위치의 이동을 제한하고,
    사용자가 상기 스와이프 조작을 실시할 때, 상기 표시 목표 대상물의 표시 크기가 상기 화면보다 크지 않을 경우, 전체 표시 목표 대상물이 표시되도록 상기 이동 범위 제한 유닛은 상기 표시 목표 대상물의 표시 위치의 이동을 제한하는,
    화상 표시 장치.
  8. 제 6 항에 있어서,
    상기 제 1 표시 모드가 지정되었을 때, 상기 표시 목표 대상물을 포함한 상기 화상의 표시 위치를 이동시키기 위한 제 1 스와이프 조작을 사용자가 실시할 경우, 상기 표시 목표 대상물이 표시되도록 상기 이동 범위 제한 유닛이 상기 표시 목표 대상물의 표시 위치의 이동을 한번 제한한 다음, 제 2 스와이프 조작을 위해 상기 이동의 제한을 해제하는,
    화상 표시 장치.
  9. 제 1 항에 있어서,
    상기 제 1 표시 모드가 지정되었을 때, 상기 설정 유닛에 의해 설정된 표시 배율과 표시 위치에 기초하여 상기 표시 목표 대상물을 포함한 상기 화상을 상기 화면 상에 표시할 경우, 상기 표시 제어 유닛이 상기 표시 목표 대상물을 강조 표시하기 위한 제어를 실시하는,
    화상 표시 장치.
  10. 제 1 항에 있어서,
    다음 대상물을 표시하기 위한 제 1 버튼과 이전 대상물을 표시하기 위한 제 2 버튼 중 하나가 지정된 경우, 상기 설정 유닛은 지정된 버튼에 따라 상기 다음 대상물 또는 상기 이전 대상물을 표시하도록 상기 표시 목표 대상물의 속성에 따라 표시 배율과 표시 위치를 설정하며, 상기 표시 제어 유닛은 설정된 표시 배율과 표시 위치에 기초하여 상기 표시 목표 대상물을 포함한 상기 화상을 상기 화면 상에 표시하기 위한 제어를 실시하는,
    화상 표시 장치.
  11. 제 1 항에 있어서,
    전체 화상을 표시하기 위한 제 2 표시 모드가 지정될 경우, 상기 표시 제어 유닛은 상기 전체 화상을 표시하기 위한 제어를 실시하는,
    화상 표시 장치.
  12. 제 11 항에 있어서,
    상기 제 1 표시 모드가 지정되었을 때, 상기 표시 목표 대상물을 상기 화면의 크기보다 작은 크기로 더 축소하기 위한 핀치-인 조작을 사용자가 실시할 경우, 상기 전체 화상이 표시되도록 상기 표시 제어 유닛이 상기 제 2 표시 모드를 선택하기 위한 제어를 실시하는,
    화상 표시 장치.
  13. 제 11 항에 있어서,
    상기 제 2 표시 모드가 지정되었을 때, 표시된 화상 내의 대상물에 대해 더블-탭 조작을 사용자가 실시할 경우, 상기 표시 제어 유닛은 상기 제 1 표시 모드를 선택하고, 상기 더블-탭 조작이 실시된 대상물을 표시하도록 상기 표시 목표 대상물을 포함한 상기 화상을 상기 화면 상에 표시하기 위한 제어를 실시하는,
    화상 표시 장치.
  14. 제 1 항에 따른 화상 표시 장치 내에 포함된 각각의 유닛으로서 컴퓨터가 기능하게 하는 컴퓨터 프로그램을 저장하는 컴퓨터-판독가능한 저장 매체.
  15. 복수의 대상물을 포함한 화상을 표시하기 위한 화상 표시 방법으로서,
    상기 화상에 포함된 각 대상물을 표시하는 제 1 표시 모드가 지정된 경우, 표시 목표 대상물의 속성에 따라 표시 배율과 표시 위치를 설정하는 단계와,
    설정된 표시 배율과 표시 위치에 기초하여 상기 표시 목표 대상물을 포함한 화상을 화면에 표시하기 위한 제어를 실시하는 단계를 포함하는,
    화상 표시 방법.
KR1020130025512A 2012-03-12 2013-03-11 화상 표시 장치 및 화상 표시 방법 KR101455520B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2012-055003 2012-03-12
JP2012055003A JP5984439B2 (ja) 2012-03-12 2012-03-12 画像表示装置、画像表示方法

Publications (2)

Publication Number Publication Date
KR20130105410A true KR20130105410A (ko) 2013-09-25
KR101455520B1 KR101455520B1 (ko) 2014-10-27

Family

ID=49113725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130025512A KR101455520B1 (ko) 2012-03-12 2013-03-11 화상 표시 장치 및 화상 표시 방법

Country Status (4)

Country Link
US (2) US9508170B2 (ko)
JP (1) JP5984439B2 (ko)
KR (1) KR101455520B1 (ko)
CN (2) CN103312930B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170104341A (ko) * 2016-03-07 2017-09-15 엘에스산전 주식회사 데이터 표시 장치의 제어 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6399744B2 (ja) * 2013-12-04 2018-10-03 キヤノン株式会社 表示装置、表示方法
JP2015118585A (ja) * 2013-12-19 2015-06-25 カシオ計算機株式会社 表示装置、データ処理装置及びプログラム
CN106062874B (zh) * 2014-03-04 2018-07-10 大众汽车有限公司 用于控制用于重现的媒体文件的选择的方法和装置
JP6218696B2 (ja) * 2014-07-31 2017-10-25 キヤノン株式会社 画像表示装置、画像表示方法、およびプログラム
JP6452409B2 (ja) 2014-11-28 2019-01-16 キヤノン株式会社 画像表示装置、画像表示方法
JP2016126657A (ja) * 2015-01-07 2016-07-11 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6579905B2 (ja) 2015-01-29 2019-09-25 キヤノン株式会社 情報処理装置、情報処理装置の表示制御方法、及びプログラム
US9830508B1 (en) * 2015-01-30 2017-11-28 Quest Consultants LLC Systems and methods of extracting text from a digital image
CN104615764B (zh) * 2015-02-13 2019-05-03 北京搜狗科技发展有限公司 一种显示方法及电子设备
US10049476B1 (en) 2015-05-15 2018-08-14 Turbopatent,Corp. System and method of creating an editable text and images from a captured image of a hand-drawn and/or static two-dimensional diagram
JP6573375B2 (ja) 2015-06-24 2019-09-11 キヤノン株式会社 画像処理装置、画像処理装置の制御方法およびプログラム
US20170131872A1 (en) * 2015-11-06 2017-05-11 Google Inc. Mobile User Interface
JP2017135613A (ja) * 2016-01-28 2017-08-03 ブラザー工業株式会社 画像処理装置およびコンピュータプログラム
US20170223227A1 (en) * 2016-01-29 2017-08-03 Kabushiki Kaisha Toshiba Dynamic font size management system and method for multifunction devices
JP6105179B1 (ja) * 2016-06-30 2017-03-29 楽天株式会社 画像処理装置、画像処理方法、および、画像処理プログラム
JP6797636B2 (ja) 2016-10-28 2020-12-09 キヤノン株式会社 サーバ装置、情報処理方法、及びプログラム
JP6777507B2 (ja) * 2016-11-15 2020-10-28 Kddi株式会社 画像処理装置および画像処理方法
US20180260376A1 (en) * 2017-03-08 2018-09-13 Platinum Intelligent Data Solutions, LLC System and method to create searchable electronic documents
JP6729486B2 (ja) * 2017-05-15 2020-07-22 京セラドキュメントソリューションズ株式会社 情報処理装置、情報処理プログラム及び情報処理方法
EP3817359A1 (en) * 2018-06-29 2021-05-05 SZ DJI Technology Co., Ltd. Image display method and device, pan/tilt, and storage medium
CN109343779B (zh) * 2018-10-19 2021-11-23 北京小米移动软件有限公司 显示应用程序信息的方法及装置
CN110941375B (zh) * 2019-11-26 2023-09-05 腾讯科技(深圳)有限公司 对图像进行局部放大的方法、装置及存储介质
US11367296B2 (en) * 2020-07-13 2022-06-21 NextVPU (Shanghai) Co., Ltd. Layout analysis
CN114546199B (zh) * 2022-02-17 2023-09-26 北京百度网讯科技有限公司 一种图像处理方法、装置、电子设备和存储介质
CN116189202B (zh) * 2023-04-28 2023-08-01 江西智和教育科技有限公司 互联网在线教育方法、系统及计算机可读存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS595277A (ja) * 1982-07-02 1984-01-12 株式会社日立製作所 マルチウインドウ画面によるデイスプレイ表示方式
JP3226113B2 (ja) * 1992-01-24 2001-11-05 ソニー株式会社 画像の部分拡大表示方法および装置
JPH1186014A (ja) * 1997-09-08 1999-03-30 Fujitsu Ltd 文書画像表示方法および表示装置
JP2003271281A (ja) * 2002-03-14 2003-09-26 Sanyo Electric Co Ltd 電子装置
NZ536775A (en) * 2002-05-20 2007-11-30 Tata Infotech Ltd Document structure identifier
JP4462819B2 (ja) * 2002-09-26 2010-05-12 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP2004139399A (ja) * 2002-10-18 2004-05-13 Sony Corp 電子情報表示装置,電子情報表示方法,記録媒体,プログラム
JP4175900B2 (ja) * 2003-01-06 2008-11-05 オリンパス株式会社 画像処理装置、画像処理プログラム、記録媒体、および画像処理方法
WO2004109552A2 (en) * 2003-06-03 2004-12-16 Access Co., Ltd. Method for browsing contents using page storing file
JP4094512B2 (ja) 2003-09-18 2008-06-04 株式会社リコー 画面スクロール制御装置
WO2005029308A2 (en) * 2003-09-24 2005-03-31 Nokia Corporation Improved presentation of large objects on small displays
EP2487644A3 (en) * 2004-04-30 2012-10-31 Access Co., Ltd. Method for dynamic image enlarging/reducing display in browsing, terminal device, and program
JP4208791B2 (ja) * 2004-08-11 2009-01-14 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
JP2006350867A (ja) * 2005-06-17 2006-12-28 Ricoh Co Ltd 文書処理装置、文書処理方法、プログラム及び情報記録媒体
JP4574467B2 (ja) * 2005-06-30 2010-11-04 キヤノン株式会社 データ処理装置、データ処理方法およびコンピュータプログラム
JP2007025862A (ja) * 2005-07-13 2007-02-01 Sony Computer Entertainment Inc 画像処理装置
SG10201402464XA (en) * 2005-12-07 2014-10-30 3Dlabs Inc Ltd Methods for manipulating web pages
US8150155B2 (en) * 2006-02-07 2012-04-03 Qualcomm Incorporated Multi-mode region-of-interest video object segmentation
JP4825561B2 (ja) * 2006-03-29 2011-11-30 株式会社東芝 画像表示装置
JP2007265320A (ja) 2006-03-30 2007-10-11 Bunkeidou:Kk プレビュー表示システム、及びプレビュー表示プログラム
US8106856B2 (en) * 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
US9128596B2 (en) * 2006-09-22 2015-09-08 Opera Software Asa Method and device for selecting and displaying a region of interest in an electronic document
JP5361159B2 (ja) * 2007-09-06 2013-12-04 キヤノン株式会社 画像表示制御装置、その制御方法、プログラム、および記録媒体
JP2010009046A (ja) * 2008-06-26 2010-01-14 Toshiba Corp 画像表示装置及び画像表示方法
JP5111268B2 (ja) * 2008-07-09 2013-01-09 キヤノン株式会社 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体
JP5265306B2 (ja) * 2008-10-30 2013-08-14 株式会社ソニー・コンピュータエンタテインメント 画像処理装置
JP2011095797A (ja) * 2009-10-27 2011-05-12 Sony Corp 画像処理装置、画像処理方法及びプログラム
JP5340895B2 (ja) * 2009-11-24 2013-11-13 株式会社ソニー・コンピュータエンタテインメント 画像データ作成支援装置および画像データ作成支援方法
CN101739210B (zh) * 2009-12-21 2012-08-08 无锡中星微电子有限公司 一种图像浏览的提示方法和设备
JP5237980B2 (ja) * 2010-03-04 2013-07-17 レノボ・シンガポール・プライベート・リミテッド 座標入力装置、座標入力方法、およびコンピュータが実行可能なプログラム
KR101701839B1 (ko) * 2010-07-13 2017-02-02 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US8884980B2 (en) * 2010-09-24 2014-11-11 Taaz, Inc. System and method for changing hair color in digital images
US20120092381A1 (en) * 2010-10-19 2012-04-19 Microsoft Corporation Snapping User Interface Elements Based On Touch Input

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170104341A (ko) * 2016-03-07 2017-09-15 엘에스산전 주식회사 데이터 표시 장치의 제어 방법

Also Published As

Publication number Publication date
CN103312930A (zh) 2013-09-18
JP2013190870A (ja) 2013-09-26
KR101455520B1 (ko) 2014-10-27
US20170032493A1 (en) 2017-02-02
US9922400B2 (en) 2018-03-20
CN106056038A (zh) 2016-10-26
US20130235087A1 (en) 2013-09-12
JP5984439B2 (ja) 2016-09-06
CN106056038B (zh) 2019-09-06
US9508170B2 (en) 2016-11-29
CN103312930B (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
KR101455520B1 (ko) 화상 표시 장치 및 화상 표시 방법
JP6188490B2 (ja) 画像表示装置、制御方法およびコンピュータプログラム
JP6099961B2 (ja) 画像表示装置、画像表示装置の制御方法およびコンピュータプログラム
JP6261237B2 (ja) 画像表示装置、画像表示装置の制御方法およびコンピュータプログラム
JP6399744B2 (ja) 表示装置、表示方法
JP4546291B2 (ja) 画像処理装置およびその制御方法
JP4502385B2 (ja) 画像処理装置およびその制御方法
JP4738857B2 (ja) 画像処理装置およびその方法
US9753548B2 (en) Image display apparatus, control method of image display apparatus, and program
JP2016200860A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2013020477A (ja) 画像処理装置およびプログラム
JP2015225509A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法およびコンピュータプログラム
JP6223077B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2015046041A (ja) 画像表示装置、画像表示装置の制御方法およびコンピュータプログラム
JP4323856B2 (ja) 画像処理方法
JP2015106289A (ja) 表示装置、表示方法、コンピュータプログラム
JP2015103086A (ja) 画像変換装置、画像変換方法、コンピュータプログラム
JP2016143135A (ja) 情報処理装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191010

Year of fee payment: 6