KR20220008224A - 레이아웃 분석 방법, 판독 보조 장치, 회로, 및 매체 - Google Patents

레이아웃 분석 방법, 판독 보조 장치, 회로, 및 매체 Download PDF

Info

Publication number
KR20220008224A
KR20220008224A KR1020210087974A KR20210087974A KR20220008224A KR 20220008224 A KR20220008224 A KR 20220008224A KR 1020210087974 A KR1020210087974 A KR 1020210087974A KR 20210087974 A KR20210087974 A KR 20210087974A KR 20220008224 A KR20220008224 A KR 20220008224A
Authority
KR
South Korea
Prior art keywords
layout
regions
text
division
vertical
Prior art date
Application number
KR1020210087974A
Other languages
English (en)
Other versions
KR102399508B1 (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 KR20220008224A publication Critical patent/KR20220008224A/ko
Application granted granted Critical
Publication of KR102399508B1 publication Critical patent/KR102399508B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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/418Document matching, e.g. of document images

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Character Input (AREA)

Abstract

레이아웃 분석 방법, 칩 회로, 읽기 보조 장치, 전자 장치, 및 컴퓨터 판독 가능한 저장 매체가 제공된다. 레이아웃 분석 방법은: 이미지에서 복수의 텍스트 라인의 좌표 정보를 획득하는 단계; 좌표 정보에 따라 이미지의 레이아웃 모델을 생성하는 단계; 레이아웃 모델에 기반하여 텍스트 라인의 레이아웃 구조를 분석하는 단계; 및 레이아웃 구조에 기반하여 서로에 대한 텍스트 라인의 순서를 결정하는 단계를 포함한다.

Description

레이아웃 분석 방법, 판독 보조 장치, 회로, 및 매체{LAYOUT ANALYSIS METHOD, READING ASSISTING DEVICE, CIRCUIT AND MEDIUM}
본 발명은 데이터 처리 분야에 관한 것으로, 특히 레이아웃 분석 방법, 칩 회로, 판독 보조 장치, 전자 장치, 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다.
관련 기술에는 이미지의 레이아웃 분석 기술이 있다. 기술은 이미지 처리, 인공 지능 및 기타 기술을 사용하여 인쇄물의 이미지 파일에서 텍스트 필드를 분류하고 인식하여, 전자 책의 생성과 오디오 북의 생성과 같은, 후속 적용을 용이하게 한다. 알려진 기술은 일반적으로 인쇄물의 원본 이미지를 기반으로 레이아웃 분석을 수행하는 데 사용되므로 처리 속도가 느려진다.
이 섹션에서 설명하는 방법은 반드시 이전에 고안되었거나 사용된 방법은 아니다. 달리 명시되지 않는 한, 방법은 이러한 섹션에 포함되기 때문에, 이 섹션에 설명된 방법 중 어느 것도 단지 선행 기술로 간주되어서는 안된다. 유사하게, 이 섹션에서 언급된 문제는 달리 명시되지 않는 한 어떠한 선행 기술에서도 보편적으로 인식되는 것으로 간주되어서는 안된다.
본 발명의 일부 실시예에 따르면, 레이아웃 분석 방법이 제공되며, 방법은: 이미지 내에서 복수의 텍스트 라인의 좌표 정보를 획득하는 단계; 좌표 정보에 따라 이미지의 레이아웃 모델을 생성하는 단계; 레이아웃 모델에 기반하여 텍스트 라인의 레이아웃 구조를 분석하는 단계; 및 레이아웃 구조를 기반으로 서로에 대한 텍스트 라인의 순서를 결정하는 단계를 포함한다.
본 발명의 일부 실시예에 따르면, 칩 회로가 제공되고, 칩 회로는: 본 발명의 실시예들에 따른 방법을 수행하도록 구성된 회로 유닛을 포함한다.
본 발명의 일부 실시예에 따르면, 읽기 보조 장치가 제공되고, 읽기 보조 장치는: 전술한 칩 회로; 및 이미지를 획득하기 위한 이미지 센서를 포함한다.
본 발명의 일부 실시예에 따르면, 전자 장치가 제공되고, 전자 장치는: 프로세서; 및 프로그램을 저장하는 메모리를 포함하고, 프로그램은 프로세서에 의해 실행될 때 프로세서가 본 발명에 따른 방법을 수행하게 하는 명령을 포함한다.
본 발명의 일부 실시예에 따르면, 프로그램을 저장하는 컴퓨터 판독 가능한 저장 매체가 제공되고, 프로그램은 전자 장치의 프로세서에 의해 실행될 때 전자 장치가 본 발명에 따른 방법을 수행하게 하는 명령을 포함한다.
본 발명의 이들 및 다른 측면은 후술되는 실시예로부터 명확할 것이고, 아래에서 설명되는 실시예를 참조하여 명확해질 것이다.
도면은 실시예를 예시적으로 도시하고 명세서의 일부를 구성하며, 명세서의 서면 설명과 함께 실시예의 예시적인 구현을 설명하기 위해 사용된다. 도시된 실시 예는 단지 예시를 위한 것이며 청구항의 범위를 제한하지 않는다. 도면 전체에 걸쳐 동일한 참조 부호는 유사하지만 반드시 동일한 요소는 아니다.
도 1은 예시적인 실시예에 따라 본원에서 설명된 다양한 방법이 적용될 수 있는 예시적인 적용 시나리오를 도시하는 개략도이다.
도 2는 이미지 내의 텍스트를 인식하고 인식된 텍스트의 음성 브로드캐스팅을 수행하기 위해 도 1의 애플리케이션 시나리오에서 사용될 수 있는 예시적인 방법을 도시하는 흐름도이다.
도 3은 일 실시예에 따른 레이아웃 분석 방법을 나타낸 순서도이다.
도 4는 일 실시예에 따른 텍스트 영역을 포함하는 이미지를 나타내는 개략도이다.
도 5는 예시적인 실시예에 따라 도 4에 도시된 이미지에 대해 생성된 레이아웃 모델을 나타내는 개략도이다.
도 6은 일 실시예에 따른 텍스트 라인의 레이아웃 구조 분석 방법을 나타내는 순서도이다.
도 7은 일 실시예에 따라 복수의 연결된 영역을 형성하기 위해 도 5에서 직사각형 블록의 폭을 조정한 레이아웃 모델을 나타내는 개략도이다.
도 8은 도 6의 방법에서 복수의 연결된 영역의 공간적 레이아웃을 분석하는 예시적인 프로세스를 나타내는 흐름도이다.
도 9는 도 8의 방법에서 복수의 연결된 영역의 방향을 선택적으로 보정하는 예시적인 프로세스를 보여주는 흐름도이다.
도 10은 일 실시예에 따라 도 7에 도시된 레이아웃 모델에 대해 각도 보정을 수행한 레이아웃 모델을 나타내는 개략도이다.
도 11은 도 8의 방법에서 레이아웃 모델의 양면 중 어느 하나에 바로 인접한 연결된 영역을 선택적으로 제거하는 예시적인 프로세스를 나타내는 흐름도이다.
도 12는 예시적인 실시예에 따라 도 10에 도시된 레이아웃 모델에 수직 투영을 수행하는 것을 나타내는 개략도이다.
도 13은 도 12의 투영 결과에 따라 도 10에 도시된 레이아웃 모델에서 불완전한 페이지를 나타내는 연결된 영역을 제거한 후 얻은 레이아웃 모델을 나타내는 개략도이다.
도 14 내지 17은 각각 일 실시예에 따라 도 13에 도시된 레이아웃 모델에 대해 투영 분할을 수행하는 개략도이다.
도 18은 예시적인 실시예에 따라 최종적으로 획득된 세그먼트화된 영역 세트를 포함하는 레이아웃 모델을 나타내는 개략도이다.
도 19는 모델이 원래의 경사 상태로 조정되고 분할된 구역이 판독 순서에 따라 배열된 후, 도 18에 도시된 레이아웃 모델을 나타내는 개략도이다.
도 20은 예시적인 실시예에 따라 복수의 연결된 영역 및 분할된 영역이 매칭되고 배열된 후에 도시된 개략도이다.
도 21은 일 실시예에 따른 레이아웃 분석 결과를 기반으로 도 4의 이미지에서 텍스트 라인을 배열하는 개략도이다.
도 22는 일 실시예에 따른 텍스트 라인의 메인 레이아웃 타입을 결정하는 예시적인 과정을 나타내는 흐름도이다.
도 23은 본 발명의 일 실시예에 따라 서브 레이아웃 타입의 텍스트를 선택적으로 폐기하는 과정을 나타낸 흐름도이다.
도 24는 본 발명의 일 실시예에 따른 읽기 보조 장치를 나타내는 구조 블록도이다.
도 25는 예시적인 실시예에 적용될 수 있는 예시적인 컴퓨팅 장치를 나타내는 구조적 블록도이다.
본 발명에서, 달리 명시되지 않는 한, 다양한 요소를 설명하는 데 사용되는 "제1," "제2" 등의 용어는 이러한 요소의 위치, 시간 또는 중요도 관계를 제한하려는 것이 아니라, 하나의 구성요소를 다른 구성요소와 구별하기 위한 것이다. 일부 예에서, 제1 요소 및 제2 요소는 요소의 동일한 인스턴스를 참조할 수 있고, 일부 경우에 문맥 설명에 기반하여 제1 요소 및 제2 요소는 또한 다른 인스턴스를 참조 할 수 있다.
본 발명에서 다양한 예의 설명에 사용된 용어는 단지 특정 예를 설명하기 위한 것이며 제한하려는 의도가 아니다. 요소 수가 구체적으로 정의되지 않은 경우, 문맥에서 달리 명시하지 않는 한 하나 이상일 수 있다. 용어 "기반"은 "적어도 부분적으로 기반"을 의미한다. 또한, 본 발명에서 사용되는 용어 "및/또는"은 나열된 항목의 임의의 및 모든 가능한 조합을 포함한다.
본 발명에서, 공간 관련 용어 "수평" 및 "수직"은 레이아웃 모델과 함께 사용된다. 이러한 맥락에서, "수평 방향"은 레이아웃 모델의 라인 방향을, "수직 방향"은 레이아웃 모델의 열(column) 방향을 나타낸다. 또한, 공간적 관련 용어 "상," "하," "좌" 및 "우"도 레이아웃 모델과 함께 사용된다. "상," "하," "좌" 및 "우"는 판독 자료(예: 책 또는 잡지)가 판독기에 대해 판독되기 위한 올바른 배향인 경우 이미지 센서(예: 독자가 착용하거나 잡고 있음)의 화각에서 관찰된 판독 자료 이미지(또는 동등하게 이미지의 레이아웃 모델)의 배향을 나타낸다. 따라서, "상하 방향"은 실질적으로 레이아웃 모델의 열 방향에 대응하고, "좌우 방향"은 실질적으로 레이아웃 모델의 라인 방향에 대응한다.
본 발명의 다음 설명은 주로 텍스트 라인이 판독기에 대해 실질적으로 좌우 방향으로 연장되는 경우(즉, 수평 레이아웃 판독 문제)를 기반으로 하나, 본 발명의 기술적 해결책은 이에 제한되지 않는다. 본 발명의 기술적 해결책은 텍스트 라인이 판독기에 대해 실질적으로 상하 방향으로 연장되는 경우(즉, 수직 레이아웃 판독 문제)에도 적용 가능하다. 즉, 본 발명의 방법은 수직 레이아웃 판독 문제에도 적용 가능하다. 수직 레이아웃의 경우, 텍스트 라인은 실질적으로 상하 방향 (수직 방향)으로 연장되는 텍스트 시퀀스인 반면에, 수평의 레이아웃의 경우, 텍스트 라인은 실질적으로 좌측에서 우측 방향(수평 방향)으로 연장되는 텍스트 시퀀스이다.
책, 잡지, 또는 기타 읽기 자료를 읽을 때, 정상 시력을 가진 사람은 시야를 통해 시야 내의 이미지를 캡처하고 뇌를 통해 이미지의 텍스트 영역을 인식하고 텍스트 영역의 텍스트를 읽는 순서대로 읽는다. 그러나, 시각 장애인의 경우, 읽기 자료의 텍스트를 인식하고 브로드캐스팅하기 위해 읽기 보조 장치에 의존해야 할 수도 있다. 이러한 경우, 읽기 보조 장치는, 올바른 읽기 순서로 읽기 문제의 텍스트를 "읽을" 수 있도록, 이미지의 텍스트를 인식해야 할 뿐만 아니라 특정 알고리즘을 사용하여 텍스트 영역에서 텍스트 행의 순서를 결정해야 한다.
도 1은, 예시적인 실시예에 따른, 본원에 설명된 다양한 방법이 적용될 수있는 예시적인 애플리케이션 시나리오(100)를 도시하는 개략도이다. 도 1에 도시된 바와 같이, 예시적인 시나리오(100)는 시각 장애인을 위한 읽기 보조 및 지능형 음성 읽기와 같은 애플리케이션을 포함할 수 있지만 이에 제한되지 않는다. 스마트 글래스(110)와 같은 읽기 보조 장치에는 텍스트 인식 장치가 제공되고, 하나 이상의 텍스트 라인(114)을 포함하는 읽기 자료(116)의 텍스트 영역이 텍스트 인식 장치에 의해 촬영된다. 텍스트 인식 장치는 내장된 칩과 알고리즘을 통해 촬영 범위(112) 내의 텍스트를 인식하여 브로드캐스팅한다.
도 2는 이미지 내의 텍스트를 인식하고 인식된 텍스트의 음성 브로드캐스팅을 수행하기 위해 애플리케이션 시나리오(100)에서 사용될 수 있는 예시적인 방법(200)을 도시하는 흐름도이다. 도 2에 도시된 바와 같이, 방법(200)은: 이미지를 수집하고 이미지에서 텍스트 라인 영역을 검출하는 단계(단계 210); 이미지의 텍스트 라인에 대한 레이아웃 분석을 수행하는 단계(단계 220); 및 텍스트 라인의 텍스트를 인식하고, 레이아웃 분석 결과에 따라 인식된 텍스트를 음성 브로드캐스팅하는 단계(230)를 포함한다. 텍스트 영역의 감지(단계 210) 및 텍스트 인식(단계 230)은, 예를 들어, 기존 이미지 처리 알고리즘(예: MSER) 및/또는 딥 러닝(deep learning) 방법을 포함하는, 다양한 방법을 사용하여 구현될 수 있다.
본 발명의 주제를 더욱 명확히 하기 위해, 다음은 이미지의 텍스트 라인에 대한 레이아웃 분석을 수행하는 방법을 자세히 설명한다(단계 220). 도 1 및 도 2와 관련하여 전술한 애플리케이션 시나리오(100) 및 방법(200)은 예시일 뿐이며, 이는 본 발명의 실시예에 따른 레이아웃 분석 방법이 전술한 애플리케이션에 제한되지 않음을 의미한다.
도 3은 본 발명의 일 실시예에 따른 레이아웃 분석 방법(300)을 나타내는 순서도이다. 레이아웃 분석 방법(300)은 도 2의 단계(220)를 구현하기 위해 사용될 수 있다. 도 3에 도시된 바와 같이, 레이아웃 분석 방법(300)은: 이미지 내에서 복수의 텍스트 라인의 좌표 정보를 획득하는 단계(단계 310), 좌표 정보에 따라 이미지의 레이아웃 모델을 생성하는 단계(단계 320), 레이아웃 모델에 기반하여 텍스트 라인의 레이아웃 구조를 분석하는 단계(단계 330), 및 레이아웃 구조를 기반으로 서로에 대한 텍스트 라인의 순서를 결정하는 단계(단계 340)를 포함한다.
이하의 설명에서 보다 명확하게 알 수 있듯이, 레이아웃 분석 방법(300)은 원본 이미지를 기반으로 동작하지 않고 의미 분석이 필요하지 않다. 대신에, 방법은 텍스트가 포함된 이미지 영역을 이미지의 텍스트 분포를 시뮬레이션하지만 더 단순한 구조를 갖는 레이아웃 모델로 변환하고 레이아웃 모델의 데이터에 대한 공간 레이아웃 분석을 수행하는 데 사용된다.
단계 310에서, 이미지 내에서 복수의 텍스트 라인의 좌표 정보가 획득된다.
본 발명의 예시적인 방법은 텍스트의 원본 이미지 자체가 아닌 텍스트의 좌표 정보를 중심으로 레이아웃 분석을 수행하는 데 사용되므로, 이러한 단계에서, 이미지 내의 복수의 텍스트 라인의 좌표 정보가 후속 처리를 위해 획득된다. 이미지는 이미지 센서에 의해 획득된 전자 이미지 데이터일 수 있다. 일부 실시예에 따르면, 이미지 센서는 예를 들어, 도 1에 도시된 애플리케이션 시나리오(100)에서 사용자의 웨어러블 디바이스, 안경, 또는 기타 아이템에 배치될 수 있다.
도 4는 일 실시예에 따른 텍스트 영역을 포함하는 이미지(400)를 나타내는 개략도이다. 도 4에 도시된 바와 같이, 이미지(400)는 텍스트(다양한 국가 및 지역의 텍스트, 숫자, 문자, 구두점 등을 포함할 수 있음), 그림 등을 포함 할 수 있으며, 텍스트를 포함하는 텍스트 라인(410)이 표시된다. 일부 실시예에 따르면, 이미지(400)는 전처리된 이미지일 수 있으며, 전처리는 색 보정, 블러 제거 등을 포함 할 수 있으나 이에 제한되지 않는다.
전술한 바와 같이, 텍스트 영역은 이미지 처리 알고리즘(예: MSER) 또는 딥 러닝 방법과 같은 다양한 방법을 사용하여 감지될 수 있다. 이미지(400)의 텍스트 영역의 감지를 통해, 이미지(400)의 각각의 텍스트 라인의 좌표 정보가 획득될 수있다. 텍스트 라인의 좌표 정보는, 예를 들어, 다른 머신(예: 원격 서버 또는 클라우드 컴퓨팅 장치)로부터 획득될 수 있거나, 또는 로컬 탐지 알고리즘을 통해 획득될 수 있다. 일부 실시예에 따르면, 획득된 텍스트 라인의 좌표 정보는 후속 사용을 위해 로컬 저장 장치 또는 저장 매체에 저장될 수 있다. 본원에 사용된 바와 같이, 텍스트 라인이라는 용어는, 예를 들어 인접한 텍스트 간격이 좌우 방향의 임계 간격보다 작은 텍스트 시퀀스일 수 있거나 또는 상하 방향으로 임계 간격보다 작은 인접한 텍스트 간격을 갖는 텍스트 시퀀스일 수 있는, 연속적인 라인 또는 텍스트를 의미한다.
일부 실시예에 따르면, 하나의 텍스트 라인의 좌표 정보는 텍스트 라인을 포함하는 직사각형(예를들어, 텍스트 라인을 포함하는 최소 외접 직사각형, 또는 텍스트 라인을 포함하는 최소 외접 직사각형을 특정 배수만큼 상부 및/또는 하부 및/또는 좌측 및/또는 우측으로 확장하여 얻은 직사각형)의 좌표 정보일 수 있다. 텍스트 라인의 좌표 정보는, 예를 들어, 사각형의 네 정점의 좌표 정보를 포함할 수 있거나, 또는 직사각형의 정점 좌표 정보와 직사각형의 높이 정보 및 길이 정보를 포함할 수 있다. 그러나, 텍스트 라인의 좌표 정보의 정의는 텍스트 라인이 차지하는 공간의 위치와 크기를 나타낼 수 있는 한 이에 제한되지 않는다.
다시 도 3을 참조하면, 단계 320에서, 좌표 정보에 따라 이미지의 레이아웃 모델이 생성된다. 본원에 사용된 바와 같이, "레이아웃 모델"이라는 용어는 텍스트를 포함하는 이미지의 변환을 통해 얻어지고 이미지의 텍스트 분포를 시뮬레이션하지만 더 단순한 구조를 갖는 데이터 구조를 의미한다.
일부 실시예에 따르면, 레이아웃 모델은 데이터 구조에서 얻어진 좌표 정보에 대응하는 데이터 요소를 데이터 값으로 채워서 얻어진다. 데이터 구조는 복수의 데이터 요소를 포함할 수 있고, 데이터 값으로 채워진 데이터 요소는 복수의 직사각형 블록을 형성하며, 복수의 직사각형 블록은 복수의 텍스트 라인에서 각각의 텍스트 라인에 대응한다.
일부 실시예에 따르면, 데이터 구조는 메모리의 파일(예: 내부 메모리 및 캐시), 픽셀로 표현된 이미지, 테이블, 또는 데이터 어레이일 수 있다. 데이터 구조는 데이터가 이미지의 텍스트 라인을 시뮬레이션할 수 있는 한 특정 데이터 구조에 제한되지 않는다. 데이터 구조는 이미지와 크기가 같거나 이미지 크기에 비례하여 크기가 조정될 수 있다. 예를 들어, 이미지의 픽셀 크기가 3840 × 2160 인 경우, 데이터 구조(및 대응하는 레이아웃 모델)는 이미지와 동일한 크기를 가질 수 있다(즉, 3840 × 2160 행렬 요소가 있다). 대안적으로, 데이터 구조는 수평 방향으로만 스케일링될 수 있거나(예: 1920 × 2160 행렬 요소 사용), 또는 수직 방향으로만 스케일링될 수 있거나(예: 3840 × 1080 행렬 요소 사용), 또는 수평 방향과 수직 방향 모두 등으로 스케일링될 수 있다(예: 1920 × 1080 행렬 요소 또는 1280 × 1080 행렬 요소 사용). 이미지의 크기와 동일한 크기를 갖거나 또는 이미지 크기에 비례하여 비율이 조정된 크기를 갖는 데이터 구조의 경우와 관계 없이, 데이터 구조의 데이터 요소와 이미지의 픽셀간에 대응 또는 매핑 관계가 설정될 수 있다.
도 5는, 예시적인 실시예에 따른, 도 4에 도시된 이미지(400)에 대해 생성된 레이아웃 모델(500)을 보여주는 개략도이다. 도 5에 도시된 바와 같이, 데이터 구조는, 데이터 값으로 채워진 데이터 요소가 도 4의 텍스트 라인(410)에 대응하는 직사각형 블록(510)을 형성하도록, 대응하는 데이터 값으로 채워진다. 이러한 예에서, 레이아웃 모델(500)의 크기는 이미지(400)의 크기와 동일하다.
데이터 값으로 채워진 데이터 요소에 의해 형성된 직사각형 블록은 직사각형 블록의 대응하는 이미지 영역에 텍스트가 있음을 나타내며, 텍스트의 의미나 내용과는 무관하다. 일부 실시예에 따르면, 데이터 구조는 2차원 행렬, 예를 들어, 2차원 블랭크 행렬을 포함할 수 있다. 2차원 블랭크 행렬은 기본적으로 데이터 값이 모두 "0"인 행렬 요소를 갖는 2차원 행렬를 나타낸다. 이미지(400)의 레이아웃 모델(500)이 생성되면, 이미지(400)에서 텍스트 라인의 좌표 정보에 대응하는 2차원 행렬의 행렬 요소는 데이터 값 "1"로 채워질 수 있다. 그러나. 데이터 값은 영역에 텍스트 또는 텍스트 라인이 있는지 여부를 구별할 수 있는 한 이에 제한되지 않는다. 예를 들어, 8비트 데이터 요소를 사용하는 데이터 구조의 경우, 이미지(400) 내에서 텍스트 라인의 좌표 정보에 대응하는 데이터 요소는 데이터 값 "255"로 채워질 수 있다.
도 3을 참조하면, 단계 330에서, 텍스트 라인의 레이아웃 구조는 레이아웃 모델에 기반하여 분석된다. 원본 이미지에 대한 작업을 수행하지 않고, 레이아웃 모델에 기반하여 텍스트 라인의 레이아웃 구조가 분석된다. 따라서, 텍스트 라인의 레이아웃 구조를 빠르게 분석할 수 있으며 레이아웃 분석의 효율성이 향상된다.
도 6은 예시적인 실시예에 따른 단계 330을 구현하기 위한 프로세스를 도시하는 흐름도이다. 도 6에 도시된 바와 같이, 프로세스는: 복수의 직사각형 블록의 폭을 선택적으로 조정하는 단계(단계 610); 및 복수의 연결된 영역의 공간 레이아웃을 분석하는 단계(단계 620)를 포함한다.
도 610에서, 복수의 직사각형 블록의 폭이 선택적으로 조정되며, 따라서 복수의 직사각형 블록은 서로 독립적인 복수의 연결된 영역으로 병합된다.
도 7은, 예시적인 실시예에 따른, 복수의 연결된 영역(710)을 형성하기 위해, 도 5의 직사각형 블록(510)의 폭을 조정함으로써 획득된 레이아웃 모델(700)을 도시하는 개략도이다. 획득된 복수의 연결된 영역(710)은 텍스트 라인의 복수의 단락에 대응한다. 따라서, 단계 610의 동작을 단락 분할이라고 할 수 있다.
일부 실시예에 따르면, 복수의 직사각형 블록의 폭은 선택적으로 조정된다. 각각의 직사각형 블록의 폭이 복수의 직사각형 블록의 대표적인 폭보다 작거나 같으면, 직사각형 블록의 폭이 제1 양만큼 증가한다. 직사각형 블록의 폭이 대표적인 폭보다 크고 대표적인 폭의 제1 배수 보다 작거나 제1 배수와 같은 경우, 직사각형 블록의 폭이 제2 양만큼 증가한다. 직사각형 블록의 폭이 대표적인 폭의 제1 배수보다 크고 대표적인 폭의 제2 배수보다 작거나 제2 배수와 같은 경우, 직사각형 블록의 폭이 조정되지 않는다. 직사각형 블록의 폭이 대표적인 폭의 제2 배수보다 크면, 직사각형 블록의 폭이 제3 양만큼 감소한다.
일부 실시예에 따르면, 복수의 직사각형 블록의 폭을 선택적으로 조정하는 단계에서, 대표적인 폭은 복수의 직사각형 블록의 서브세트의 평균 폭일 수 있으며, 복수의 직사각형 블록의 서브세트는 임계 폭 백분위 보다 큰 폭을 갖는 것 이외의 복수의 직사각형 블록 내의 직사각형 블록으로 구성된다. 이러한 실시예에서, 레이아웃 모델의 복수의 직사각형 블록 중에서, 폭이 더 큰 직사각형 블록(예: 헤더 라인 내에서 대응하는 텍스트 라인의 폰트가 더 크다)이 먼저 필터링되고, 이어서 나머지 직사각형 블록의 평균 폭이 대표 폭로 계산된다. 임계 폭 백분위 보다 큰 폭을 갖는 직사각형 블록은 제거되는 대신 평균 폭 계산에 관여하지 않는다. 예를 들어, 임계 폭 백분위는 90%, 95% 등으로 설정될 수 있고, 특정 값은 실제 적용에 따라 임계 폭 백분위에 대해 구체적으로 설정될 수 있으며, 여기에 제한되지 않는다. 이는 폭이 너무 큰 직사각형 블록이 단락 분할의 정확성에 영향을 미치는 것을 방지할 수 있게 한다(예: 두 단락으로 분할되어야 하는 단락을 단일 단락으로 병합).
이러한 맥락에서, 텍스트 라인이 판독기에 대해 실질적으로 좌측에서 우측 방향으로 연장되는 경우(즉, 수평 레이아웃 판독 자료에서), 텍스트 라인에 대응하는 직사각형 블록의 길이 방향은 실질적으로 좌측에서 우측으로 확장되는 방향이며, 직사각형 블록의 폭 방향은 실질적으로 좌측에서 우측으로 연장되는 방향에 실질적으로 수직인 방향(즉, 실질적으로 상하 연장 방향)이고, 텍스트 라인이 리더에 대해 실질적으로 상하 방향으로 연장되는 경우(즉, 수직 레이아웃 판독 자료에서), 텍스트 라인에 대응하는 직사각형 블록의 길이 방향은 실질적으로 상하로 연장되는 방향이며, 직사각형 블록의 폭 방향은 실질적으로 상하 연장 방향에 실질적으로 수직인 방향(즉, 실질적으로 좌측에서 우측으로 연장되는 방향)인 것에 주의해야 한다. 따라서, 텍스트 라인이 판독기에 대해 실질적으로 좌측에서 우측으로 연장되는 경우(즉, 수평 레이아웃 판독 문제), 대표적인 폭는 폰트의 상하 방향 높이(예: 라인 높이)이며, 텍스트 라인이 판독기에 대해 실질적으로 상하 방향(즉, 수직 레이아웃 판독 자료)으로 연장되는 경우, 대표적인 폭는 폰트의 좌우 방향 높이(즉, 열의 폭)이다.
일부 실시예에 따라, 대표적인 폭은 대안적으로 전술한 복수의 직사각형 블록의 평균 폭일 수 있다. 이는 단락 분할의 계산량을 단순화할 수 있으며 일부 경우(예: 헤더 텍스트 라인의 크기가 본문 텍스트 라인의 크기에 가까운 경우)에 따라 적용될 수 있다.
일부 실시예에 따르면, 제1 양은 0.5배를 포함할 수 있다. 직사각형 블록의 폭은 폭 방향 양쪽 단부에서 직사각형 블록 폭의 0.5배 만큼 증가한다. 일부 실시예에서, 직사각형 블록의 네 정점의 좌표는 직사각형 블록 폭 방향의 0.5배 값만큼 각각 증가 또는 감소한다. 제1 양의 특정 값은 실제 적용에 따라 설정될 수 있으며, 여기에 제한되지 않음을 이해해야 한다.
일부 실시예에 따르면, 제1 배수는 1.5배를 포함할 수 있다. 직사각형 블록의 폭을 제2 양만큼 증가시키는 데에는 직사각형 블록의 폭을 폭 방향 양쪽 단부에서 대표적인 폭의 0.5배 만큼 증가시키는 단계가 포함된다. 제1 배수 및 제2 양의 구체적인 값은 실제 적용에 따라 설정될 수 있으며, 본원에 제한되지 않음을 이해해야 한다.
일부 실시예에 따르면, 제2 배수는 2배를 포함할 수 있다. 직사각형 블록의 폭을 제3 양으로 줄이는 데에는 직사각형 블록의 폭을 폭 방향 양쪽 단부에서 대표적인 폭의 0.5배 만큼 감소시키는 단계가 포함된다. 제2 배수 및 제3 양의 구체적인 값은 실제 적용에 따라 설정될 수 있으며, 본원에 제한되지 않는다.
도 6으로 되돌아가면, 단계 620에서, 복수의 연결된 영역의 공간 레이아웃이 분석된다.
도 8은 단계 620을 구현하기 위한 예시적인 프로세스를 보여주는 흐름도이다. 일부 실시예에 따르면, 복수의 연결된 영역의 공간적 레이아웃을 분석하는 것은: 레이아웃 모델에서 복수의 연결된 영역의 방향을 선택적으로 보정하거나 보정하지 않는 단계(단계 810); 선택된 각각의 연결된 영역을 획득하기 위해, 라인 방향으로 레이아웃 모델의 양면 중 어느 하나에 바로 인접한 레이아웃 모델에서 연결된 영역을 선택적으로 제거하거나 제거하지 않는 단계(단계 820); 및 서로에 대해 분할된 영역의 세트 및 분할된 영역의 순서를 얻기 위해 각각의 선택된 연결된 영역에 대해 투영 분할을 수행하는 단계(단계 830)를 포함할 수 있다.
단계 810에서, 레이아웃 모델에서 복수의 연결된 영역의 배향은 선택적으로 보정되거나 또는 보정되지 않는다.
일부 실시예에 따르면, 레이아웃 모델에서 복수의 연결된 영역의 배향을 선택적으로 보정하거나 보정하지 않는 것은: 레이아웃 모델의 라인 방향 및 열 방향 중 어느 하나에 대해 복수의 연결된 영역이 기울어진 상태인지 여부를 판단하는 단계; 및 복수의 연결된 영역이 기울어진 상태로 판단되면, 복수의 연결된 영역이 기울어진 상태에 있지 않도록, 보정 각도만큼 복수의 연결된 영역을 회전시키는 단계를 포함할 수 있다. 기울어진 상태를 보정하는 동작은 도 1에 도시된 애플리케이션 시나리오(100)와 같은 애플리케이션에 특히 유리하다. 이러한 애플리케이션에서, 독자는 일반적으로 책이나 기타 독서 자료를 잡고 있으며, 이미지 센서에 의해 획득 된 이미지의 텍스트 영역은 종종 기울어진다. 복수의 연결된 영역이 기울어진 상태가되지 않도록 보정 각도로 복수의 연결된 영역을 회전시키는 것은 레이아웃 분석의 정확성을 크게 향상시킬 수 있다. 이는 기존의 레이아웃 분석 기술에 비해 장점을 제공한다. 기존 레이아웃 분석 기법에서는, 분석 대상은 일반적으로 스캐너로 스캔하여 얻은 평평한 이미지로서, 텍스트 영역이 기울어지지 않는다. 따라서, 그러한 종래의 기술은 읽기 보조 시나리오에 적용되지 않을 수 있다.
일부 실시예에 따르면, 복수의 연결된 영역이 레이아웃 모델의 라인 방향 및 열 방향 중 어느 하나에 대해 기울어진 상태인지 여부를 판단하는 것은 다음과 같은 과정을 통해 구현될 수 있다. 최초로, 복수의 연결된 영역에서 특정한 연결된 영역이 검색되고, 특정 연결된 영역의 최소 외접 직사각형은 복수의 연결된 영역 중 최소 외접 직사각형 중 가장 큰 면적을 갖는다. 이어서, 특정 연결된 영역의 최소 외접 직사각형의 하나의 에지가 라인 방향과 열 방향 중 어느 하나에 평행한지 여부가 결정된다. 특정 연결된 영역의 최소 외접 직사각형의 에지가 라인 방향 및 열 방향 중 어느 하나와 평행하지 않다고 결정되면, 복수의 연결된 영역이 기울어진 상태로 결정된다. 특정 연결된 영역의 최소 외접 직사각형의 에지가 라인 방향 및 열 방향 중 어느 하나에 평행하다고 결정되면, 복수의 연결된 영역이 기울어진 상태가 아닌 것으로 결정된다.
도 9는 도 8의 방법에서 복수의 연결된 영역의 방향을 선택적으로 보정하는 예시적인 프로세스를 보여주는 흐름도이다. 도 9에 도시된 바와 같이, 단계 910에서, 가장 큰 면적을 가진 최소 외접 직사각형이 있는 특정한 연결된 영역이 복수의 직사각형 블록의 폭이 선택적으로 조정된 후에 획득된 복수의 연결된 영역으로부터 결정된다. 특정 연결된 영역의 최소 외접 직사각형의 하나의 에지가 라인 방향 및 열 방향 중 어느 하나와 평행하지 않은 경우(단계 920, "아니오"), 복수의 연결된 영역은 특정 연결된 영역의 최소 외접 직사각형의 하나의 에지가 라인 방향 또는 열 방향과 평행하도록 보정 각도에 의해 회전한다(단계 930); 평행한 경우(단계 920, "예"), 보정 프로세스가 수행되지 않는다.
도 10은 도 7에 도시된 레이아웃 모델(700)에 대해 각도 보정을 수행한 레이아웃 모델을 나타내는 개략도이다. 일부 실시예에 따르면, 복수의 연결된 영역이 기울어진 상태가 아닐 경우, 특정한 연결된 영역의 최소 외접 직사각형의 하나의 에지가 라인 방향 또는 열 방향과 평행하도록, 복수의 연결된 영역의 최소 외접 직사각형은 모두 질량 중심(즉, 중심 지점)을 중심으로 동일한 각도 및 동일한 방향으로 회전한다.
일부 실시예에 따르면, 예를 들어, 특정한 연결된 영역의 경사각을 구하기 위해, 특정한 연결된 영역의 최소 외접 직사각형에 Hough 변환 방법을 적용하여 경사각이 감지될 수 있고, 또한 경사각이 미리 설정된 제1 경사각 임계 값(예: 5˚) 이상인 경우, 복수의 연결된 영역에서 경사 보정이 수행되며, 보정 프로세스에서 복수의 연결된 영역의 회전 방향 및 각도가 기록된다.
전술한 경사 보정 방법은 예시일 뿐이며, 다른 실시예에서는 임의의 다른 적절한 보정 방법이 사용될 수 있음을 이해할 것이다.
도 8로 돌아가면, 단계 820에서, 각각의 선택된 연결된 영역을 얻기 위해, 라인 방향으로 레이아웃 모델의 양쪽 측면 중 어느 하나에 직접 인접한 레이아웃 모델에서 연결된 영역은 선택적으로 제거되거나 제거되지 않는다.
일부 경우에서, 후속 프로세스에서 불완전한 페이지의 텍스트 행에서 텍스트 인식 및 브로드캐스팅을 수행하지 않기 위해, 또한 완전히 접히거나 사진이 찍히지 않은 잡지나 책과 같은 불완전한 판독 자료 페이지가 필터링되어야 한다. 이러한 상황을 고려하여, 일부 실시예에 따르면, 복수의 연결된 영역이 기울어진 상태가 아닌 경우, 레이아웃 모델에 수직 투영 분할이 수행된다. 이어서, 수직 투영 분할의 결과에 따라, 선택된 연결된 영역을 얻기 위해, 라인 방향으로 레이아웃 모델의 양쪽 측면 중 어느 하나에 바로 인접한 연결된 영역은 복수의 연결된 영역에서 선택적으로 제거되거나 제거되지 않는다. 본원에 사용된 바와 같이, "연결된 영역이 레이아웃 모델의 한쪽 측면에 직접 인접한다"는 표현은 연결된 영역과 레이아웃 모델의 측면 사이에 다른 연결된 영역이 없음을 의미한다.
도 11은 도 8의 방법에서 레이아웃 모델의 양쪽 측면 중 어느 하나에 바로 인접한 연결된 영역을 선택적으로 제거하는 예시적인 프로세스를 나타내는 흐름도이다. 도 11에 도시된 프로세스를 통해, 불완전한 페이지에서 단락을 나타내는 연결된 영역은 레이아웃 모델에서 필터링된다. 도 11에 도시된 바와 같이, 최초로, 수직 투영 분할이 레이아웃 모델에서 수행된다(단계 1110). 수직 투영 분할(단계 1120)을 통해 레이아웃 모델로부터 적어도 2개의 구역이 획득되었는지 여부가 결정되며, 적어도 2개의 구역은 복수의 연결된 영역을 포함한다. 분할을 통해 레이아웃 모델에서 적어도 2개의 구역이 획득되지 않은 것으로 결정되면(단계 1120, "아니오"), 제거가 수행되지 않는다(단계 1180). 분할을 통해 레이아웃 모델에서 2개 이상의 구역이 획득되었다고 결정되면(단계 1120, "예"), 라인 방향에서 적어도 2개의 구역의 대응하는 유효 크기가 결정되고(단계 1130), 다음 작업은 라인 방향으로 레이아웃 모델의 두 측면 중 하나에 직접 인접한 두 개 이상의 구역의 각각의 측면 구역에서 수행된다: 분할을 통해 레이아웃 모델에서 2개의 구역이 얻어진 경우(단계 1140, "예"), 그리고 라인 방향 측면 구역의 유효 크기가 대응하는 유효 크기에서 가장 큰 크기의 제1 임계 값 백분율보다 작은 경우와 라인 방향으로 두 구역 중 다른 구역의 유효 크기에 대한 제2 임계 값 백분율 보다 작은 경우(단계 1150 "예"), 측면 구의 연결된 영역이 제거되고(단계 1170), 그렇지 않으면, 측면 구역의 연결된 영역이 제거되지 않는다(단계 1180); 분할을 통해 레이아웃 모델에서 두 개 보다 많은 구역이 얻어진 경우(단계 1140, "아니요"), 그리고 라인 방향에서 측면 구역의 유효 크기가 대응하는 유효 크기에서 가장 큰 크기의 제3 임계 값 백분율 보다 작으며 라인 방향으로 측면 구역에 직접 인접한 구역의 구역 유효 크기의 제4 임계 값 백분율 보다 작은 경우(단계 1160, "예"), 측면 구역의 연결된 영역이 제거되고(단계 1170), 그렇지 않으면, 측면 구역의 연결된 영역이 제거되지 않는다 (단계 1180).
본원에서 사용된 바와 같이, "레이아웃 모델의 하나의 측에 직접 인접한 영역"이라는 문구는 영역과 레이아웃 모델의 측면과 구역 사이에 다른 구역이 없음을 의미한다.
본원에서 사용된 바와 같이, 라인 방향 구역의 유효 크기는, 라인 방향으로 연결된 영역의 최소 외접 직사각형 크기와 같은, 라인 방향 구역에서 연결된 영역의 크기를 나타낸다. 일부 실시예에서, 라인 방향 구역의 유효 크기는 라인 방향 구역의 모든 연결된 영역 크기의 평균일 수 있다.
위의 단계를 통해, 후속 프로세스에서 불완전한 페이지의 텍스트 라인의 텍스트 인식 및 브로드 캐스트를 수행하여 내용을 읽는 데 혼란을 일으키는 것을 방지하기 위해, 접히거나 완전히 촬영되지 않은 잡지 및 책과 같은 불완전한 읽기 자료의 페이지를 필터링할 수 있다. 이는 레이아웃 분석의 정확성을 크게 향상시켜 사용자 경험을 향상시킬 수 있다.
일부 실시예에 따르면, 제1 임계 값 백분율은 제2 임계 값 백분율보다 작고, 제3 임계 값 백분율은 제4 임계 값 백분율과 같다.
일부 실시예에 따르면, 예를 들어, 제1 임계 값 백분율은 60%이고 제2 임계값 백분율은 70%이다; 제3 임계 값 백분율은 70%이고 제4 임계 값 백분율은 70%이다. 제1 임계 값 백분율, 제2 임계 값 백분율, 제3 임계 값 백분율, 및 제4 임계 값 백분율의 특정 값은 실제 적용에 따라 설정될 수 있으며, 본원에 제한되지 않음을 이해해야 한다.
"수평 투영 분할" 및 "수직 투영 분할" 자체가 알려진 텍스트 분할 기술이라는 것을 이해해야 한다. 수평 투영 분할은 수평 분할선으로 미리 결정된 조건을 충족하는 픽셀 라인에 대한 2차원 이미지 검색을 포함한다. 이진화된 이미지의 경우, 이러한 픽셀 라인은 픽셀 값의 합이 0인 픽셀 라인일 수 있다. 수직 투영 분할은 수직 분할선으로 미리 결정된 조건을 충족하는 픽셀 열에 대한 2차원 이미지 검색을 포함한다. 이진화된 이미지의 경우, 이러한 픽셀 열은 픽셀 값의 합이 0인 픽셀 열일 수 있다. 본 발명의 일부 실시예에서, 레이아웃 모델의 데이터 구조는 2차원 행렬 형태일 수 있고, 픽셀 값은 2차원 행렬의 행렬 요소의 데이터 값이다. 도 12는, 예시적인 실시예에 따른, 도 10에 도시된 레이아웃 모델에 대해 수직 투영을 수행하는 것을 나타내는 개략도이다. 직관적 인 이해를 용이하게 하기 위해, 도 12는 각각의 데이터 열의 데이터 요소의 데이터 값의 합을 나타내는 파형(1210), 파형(1210)의 피크와 트로프(trough) 사이의 연결을 나타내는 연결선(1220), 및 수직 분할선(1230)을 도시한다. 도 12에 도시된 바와 같이, 수직 분할선(1230)에 대응하는 데이터 열의 데이터 요소의 데이터 값의 합이 최소값(예: 0)이고, 따라서, 데이터 열은 수직 분할선으로 선택될 수 있다. 유사하게, 수직 분할선(1230)의 우측에있는 여러 데이터 열의 각각의 데이터 요소의 데이터 값의 합도 최소값이며, 따라서, 이러한 데이터 열 중 하나가 수직 분할선으로 선택될 수도 있다.
도 13은, 도 12의 투영 결과에 따라, 도 10에 도시된 레이아웃 모델에서 불완전한 페이지를 나타내는 연결된 영역을 제거한 후 얻어진 레이아웃 모델을 나타내는 개략도이다. 도 13에 도시된 바와 같이, 도 12의 가장 우측에 있는 불완전한 페이지에서 단락을 나타내는 연결된 영역이 제거되었다.
일부 실시예에 따르면, 레이아웃 모델에서 수직 투영 분할이 수행되기 전에, 불완전한 페이지 제거의 정확성을 향상시키기 위해, 텍스트 라인의 크기가 좌우 방향으로 적절하게 조정될 수 있다. 수평 레이아웃 형태로 결정된 텍스트 라인에 대응하는 각각의 직사각형 블록의 길이는 길이 방향의 양쪽 단부에서 여러 데이터 요소에 의해 증가될 수 있다. 수직 레이아웃 형태로 결정된 텍스트 라인에 대응하는 각각의 직사각형 블록의 폭은 폭 방향의 양쪽 단부에서 여러 데이터 요소에 의해 증가될 수 있다. 예를 들어, 위의 여러 데이터 요소는 대표적인 폭의 0.5배이다. 직사각형 블록의 길이는 일반적으로 그 폭보다 크다는 것을 알 수 있을 것이다. 일부 예에서, 레이아웃 타입은 기본 타입일 수 있다(예: 기본 타입은 수평 레이아웃). 다른 예에서, 사용자는 레이아웃 타입을 설정하기 위해 수동으로 전환할 수도 있다. 예를 들어, 사용자는 기본 레이아웃 타입을 수직 레이아웃으로 변경할 수 있다. 불완전한 페이지를 제거하기 위해 수직 투영 분할을 수행하기 전에, 좌측에서 우측 방향으로 텍스트 라인의 크기를 적절하게 조정하면 불완전한 페이지를 제거하는 정확도를 높일 수 있다. 이는 좌우 방향의 크기 조정으로 인해 동일한 페이지에있는 단락을 나타내는 연결된 영역이 수직 투영 분할을 통해 레이아웃 모델에서 분할되기 어렵기 때문이며, 따라서 실수로 제거될 가능성이 감소한다.
도 8로 돌아가면, 단계 830에서, 프로젝션 분할은 각각의 선택된 연결된 영역에 대해 수행되어 분할된 구역의 세트와 서로에 대한 분할된 구역의 순서가 얻어진다.
일부 실시예에 따르면, 레이아웃 모델의 불완전한 페이지가 필터링된 후, 레이아웃 모델에서 분할을 통해 분할된 구역의 세트를 얻기 위해, 수평 투영 분할 및 수직 투영 분할은 레이아웃 모델의 각각의 선택된 연결된 영역에서 반복적으로 그리고 교대로 수행되며, 서로에 대한 세그먼트화된 구역의 세트에서 각각의 세그먼트화된 구역의 순서는 판독 순서 규칙에 기반하여 결정된다.
일부 실시예에 따르면, 각각의 선택된 연결된 영역에 대해 반복적으로 그리고 교대로 수평 투영 분할 및 수직 투영 분할을 수행하는 것은 다음의 동작을 주기적으로 수행하는 것을 포함할 수 있다: 수평 투영 분할을 통해 얻어진 각각의 수평 분할 구역에 대해 수직 투영 분할을 수행; 및 각각의 분할 구역이 수평 투영 분할 및 수직 투영 분할을 통해 분할될 수 없을 때까지, 수직 투영 분할을 통해 얻어진 각각의 수직 분할 구역에 대해 수평 투영 분할을 수행한다. 수평 투영 분할 및 수직 투영 분할을 통해 분할될 수 없는 분할 구역은 분할 구역 세트를 형성한다.
수평 투영 분할 및 수직 투영 분할의 순서는 역전될 수 있음을 이해할 것이다. 즉, 위의 순환 연산에서, 제1 투영 분할은 수평 투영 분할일 수 있거나, 또는 수직 투영 분할일 수 있다. 본 발명은 이러한 관점에 제한되지 않는다. 반복은 크고 복잡한 문제를 원래의 문제와 유사한 작은 문제로 변환하는 전략을 의미함을 알 수 있을 것이다. 컴퓨터 프로그래밍의 맥락에서, 반복 전략은 문제를 해결하는 과정에서 필요한 복수의 반복 계산을 설명하기 위해 적은 수의 프로그램만 필요하므로 프로그램의 코드 양을 크게 줄일 수 있다.
일부 실시예에 따르면, 수평 투영 분할을 통해 획득된 각각의 수평 분할 영역에 대해 수직 투영 분할을 수행하는 것은 데이터 열 세트에 대해 수평 분할 영역을 검색하는 단계를 포함하고, 데이터 열의 세트에 있는 각각의 데이터 열의 데이터 요소 데이터 값의 합계는 0부터 제1 임계 값까지의 범위에 있다. 제1 임계 값은 0 보다 크고, 예를 들어, 대표 폭의 1배이다. 데이터 세트의 열이 발견되면, 수평 분할 구역을 분할하기 위한 수직 분할선이 데이터 열의 세트에서 선택되며, 수평 분할 구역은 선택된 수직 분할선을 사용하여 분할되어 수직 분할 구역이 얻어진다. 여기서, 수직 분할선을 나타내는 데이터 열의 데이터 값의 합이, 0과 동일하지 않고, 0 내지 제1 임계 값 범위에 있도록 선택된다. 이는 같은 페이지에서 단락 사이의 수평 간격이 작기 때문이며, 수직 분할선을 나타내는 데이터 열의 데이터 값의 더 큰 합계를 선택하면 수직 투영 분할의 올바른 실행을 용이하게 할 수 있다.
일부 실시예에 따르면, 수직 투영 분할을 통해 획득된 각각의 수직 분할 구역에 대해 수평 투영 분할을 수행하는 것은 데이터 라인 세트에 대해 수직 분할 구역을 검색하는 것을 포함하며, 데이터 라인 세트에서 각각의 데이터 라인의 행렬 요소의 데이터 값의 합은 0 내지 제2 임계 값 범위에 있다. 제2 임계 값은 0보다 크고, 예를 들어, 대표적인 폭의 1배이다. 데이터 라인 세트가 발견되면, 데이터 라인 세트에서 수직 분할 구역을 분할하기 위한 수평 분할선이 선택되며, 수직 분할 구역은 선택된 수평 분할선을 사용하여 분할되어 수평 분할 구역이 얻어진다. 여기서, 수평 분할선을 나타내는 데이터 열의 데이터 값의 합은, 0이 아닌, 0에서 제2 임계 값 범위에 있도록 선택된다. 이는 같은 페이지에서 단락들 간의 수직 간격이 작기 때문이며, 수평 분할선을 나타내는 데이터 열의 데이터 값의 더 큰 합계를 선택하면 수평 투영 분할의 정확한 실행을 용이하게 할 수 있다.
일부 실시예에 따르면, 분할된 구역의 세트는 레이아웃 모델을 분할하기 위한 전술한 수평 분할선과 수직 분할선에 기반한 분할을 통해 레이아웃 모델에서 얻어진다. 도 14 내지 17은 각각, 예시적인 실시예에 따른, 도 13에 도시된 레이아웃 모델에 대해 분할을 수행하는 것을 보여주는 개략도이다. 이러한 예에서, 도 14에 도시된 바와 같이, 수평 투영 분할이 한 번 수행되며, 대응하는 구역은 이러한 투영에서 분할을 통해 얻어지지 않는다. 이어서, 도 15에 도시된 바와 같이, 수직 투영 분할이 수행된다. 이러한 분할 프로세스는 레이아웃 모델의 가장 우측 구역을 레이아웃 모델의 다른 부분과 분리한다. 수평 투영 분할이 계속 수행된다. 수평 투영 분할은 분할을 통해 획득된 구역과 도 15의 나머지 연결된 영역에 대해 별도로 수행되나, 이전 단계에서 분할을 통해 얻어진 구역은 더 이상 분할될 수 없다. 도 16에 도시된 바와 같이, 도 15의 나머지 연결된 영역은 이러한 수평 투영 분할 프로세스에서 좌측 상단에 복수의 분할된 구역을 얻기 위해 분할된다. 도 17에 도시된 바와 같이, 각각의 분할된 구역이 수평 투영 분할 및 수직 투영 분할을 통해 분할될 수 없을 때까지, 수직 분할은 이전 단계에서 분할을 통해 얻어진 구역에서 계속 수행된다. 마지막으로, 분할을 통해 획득된 모든 분할 구역의 세트는 도 18에 도시 된 레이아웃 모델을 형성한다.
일부 실시예에 따르면, 서로에 대해 분할된 구역 세트에서 각각의 분할된 구역의 순서를 결정하는 것은: 동작을 주기적으로 수행할 때, 수평 분할 구역들 간, 수직 분할 구역들 간, 및 수평 분할 구역과 수직 분할 구역 간의 계층적 관계를 계층 트리 데이터 구조로 기록하는 단계를 포함하고, 계층 트리 데이터 구조의 리프 노드(leaf nodes)는 분할된 구역의 세트를 나타내며, 판독 순서 규칙에 따라 리프 노드를 가로지르고, 리프 노드를 가로지르는 순서는 서로에 대해 분할된 구역의 세트에서 각각의 분할된 구역의 순서를 나타낸다.
일부 예에서, 리프 노드는, 구역들 간 분할선의 좌표 정보 또는 분할선에 의해 형성된 직사각형의 좌표 정보와 같은, 대응하는 구역의 좌표 정보를 기록할 수 있다. 리프 노드를 가로지르는 과정에서, 서로 다른 구역들 간의 순서가 판독 순서 규칙에 따라 결정될 수 있도록, 좌표 정보는 서로 다른 구역들 간의 위치 관계를 반영한다. 판독 순서 규칙은 이후에 설명된다.
일부 예에서, 작업을 주기적으로 수행할 때, 매번 분할을 통해 얻어진 분할 구역은 판독 순서에 따라 계층 구조 트리 데이터 구조에 표시된다. 수평 투영 분할 또는 수직 투영 분할을 통해 다시 분할될 수 있는 분할 구역이 다음에 분할된 후, 각각의 분할된 영역이 수평 투영 분할 및 수직 투영 분할을 통해 분할될 수 없을 때까지, 분할된 구역으로부터 분할을 통해 얻어진 분할된 구역은 계층 트리 데이터 구조에 분할된 구역의 서브 노드로 표시되며, 이 때 전체 계층 트리 데이터 구조가 표시된다.
일부 실시예에 따르면, 판독 순서 규칙은: 복수의 텍스트 라인이 수평 레이아웃 타입인 것으로 결정되면, 수직 분할 구역들 간의 위치 관계에 따라 수직 분할된 구역을 좌측에서 우측으로 배열하며 수평 분할 구역들 간의 위치 관계에 따라 수평 분할 구역을 상부에서 하부로 배열하는 단계; 복수의 텍스트 라인이 수직 레이아웃 타입이라고 결정되면, 수직 분할 구역들 간의 위치 관계에 따라 수직 분할된 구역을 우측에서 좌측으로 배열하며, 수평 분할 구역들 간의 위치 관계에 따라 수평 분할 영역을 상부에서 하부로 배열하는 단계를 포함한다.
트리 구조는 분할된 영역들 간의 계층적 관계를 저장하는 데 사용되며, 리프 노드의 순서는 판독 순서 규칙을 통해 결정되며, 따라서 본 발명의 실시예에 따른 레이아웃 분석 방법은 수평 레이아웃과 수직 레이아웃에 적용될 수 있어 레이아웃 분석 방법의 보편성이 향상될 수 있다.
일부 실시예에 따르면, 복수의 연결된 영역의 공간적 레이아웃을 분석하는 단계는, 선택된 각각의 연결된 영역에서 투영 분할을 수행한 후에: 선택된 연결된 영역 각각이 보정 각도만큼 회전되었는지 여부를 결정하는 단계; 및 선택된 각각의 연결된 영역이 보정 각도만큼 회전되었다고 결정되면, 보정 각도로 분할된 구역의 세트를 반대로 회전시키는 단계를 더 포함할 수 있다. 도 19는 모델이 원래의 경사 상태로 조정되고 분할된 구역이 판독 순서에 따라 배열된 후 도 18에 도시된 레이아웃 모델을 나타내는 개략도이며, 0에서 8까지의 숫자는 분할된 구역의 숫자와 판독 순서를 나타낸다. 레이아웃 모델은 원래 기울어진 상태로 조정되어, 후속 처리에서 원본 이미지의 텍스트 라인을 레이아웃 모델의 직사각형 블록과 일치시키는 것이 편리하여 처리 속도가 향상된다.
도 3으로 돌아가면, 단계 340에서, 서로에 대한 텍스트 라인의 순서는 레이아웃 구조에 따라 결정된다.
일부 실시예에 따르면, 레이아웃 구조에 기반하여 서로에 대한 텍스트 라인의 순서를 결정하는 단계는: 분할된 구역의 세트 내의 각각의 분할된 구역에 대한 선택된 연결된 영역 각각의 상대적 위치에 따라, 선택된 연결된 영역 각각과 각각의 분할된 구역 간의 대응을 결정하는 단계-여기서 각각의 세그먼트 구역에는 선택된 연결된 영역의 대응하는 세트가 포함됨-; 선택한 연결된 영역의 대응하는 세트에서 선택된 연결된 영역들 간의 위치 관계에 따라, 선택된 연결된 영역의 대응하는 세트 내에서 선택된 연결된 영역을 배열하는 단계; 선택된 연결된 영역에서 직사각형 블록들 간의 위치 관계에 따라 선택된 각각의 연결된 영역에 직사각형 블록을 배열하는 단계; 및 복수의 텍스트 라인과 복수의 직사각형 블록 간의 대응 관계에 따라, 복수의 텍스트 라인을 각각의 선택된 연결된 영역에서 직사각형 블록과 매칭시키는 단계를 포함할 수 있다.
일부 실시예에서, 각각의 선택된 연결된 영역이 각각 위치하는 분할된 구역을 결정하기 위해, 분할된 구역 세트에서 각각의 분할된 구역에 대한 각각의 선택된 연결된 영역의 중심 또는 질량 중심의 상대적인 위치가 결정될 수 있다. 예를 들어, 선택한 특정 연결된 영역의 중심 또는 질량 중심이 특정 세그먼트 구역에 속하는 경우, 선택된 특정한 연결된 영역이 특정한 분할된 구역 내에 있는 것으로 판단될 수 있다. 이러한 예에서, 분할된 구역에서 선택된 각각의 연결된 영역의 중심 또는 질량 중심의 위치를 기반으로, 분할된 구역에서 선택된 연결된 영역이 배렬 될 수 있다.
일부 실시예에 따르면, 선택된 연결된 영역의 대응하는 세트에서 선택된 연결된 영역을 배열하는 단계는: 복수의 텍스트 라인이 수평 레이아웃 타입이라고 판단되는 경우, 선택된 연결된 영역의 대응하는 세트에서 선택된 연결된 영역을 상부에서 하부로 배열하는 단계; 및 복수의 텍스트 라인이 수직 레이아웃 타입이라고 판단되는 경우, 선택된 연결된 영역의 대응하는 세트에서 선택된 연결된 영역을 우측에서 좌측으로 배열하는 단계를 포함할 수 있다.
도 20은 예시적인 실시예에 따라 복수의 연결된 영역 및 분할된 구역이 매칭되고 배열된 후에 도시된 개략도이다. 도 20에 도시된 바와 같이, 연결된 영역 0 내지 5는 각각 도 19에 도시된 대응하는 분할된 구역 0 내지 5와 일치한다; 연결된 영역 6 내지 8은 도 19에 도시된 분할된 구역 6과 일치한다; 연결된 영역 9는 도 19에 도시된 분할된 구역 7과 일치한다; 연결된 영역 10 및 11은 도 19에 도시된 분할된 구역 8과 일치한다.
연결된 영역이 배치된 후, 각각의 연결된 영역에 직사각형 블록이 배열될 수 있다.
일부 실시예에 따르면, 각각의 선택된 연결된 영역 내에 직사각형 블록을 배열하는 단계는: 복수의 텍스트 라인이 수평 레이아웃 타입이라고 결정되는 경우, 각각의 선택된 연결된 영역의 직사각형 블록을 상부에서 하부로 배열하는 단계; 및 복수의 텍스트 라인이 수직 레이아웃 형태라고 결정되는 경우, 각각의 선택된 연결된 영역에 직사각형 블록을 우측에서 좌측으로 배열하는 단계를 포함한다.
레이아웃 모델의 크기가 이미지의 크기와 같을 경우, 이미지의 텍스트 라인의 좌표 정보는 레이아웃 모델의 직사각형 블록의 좌표 정보와 일치한다. 이미지의 크기와 비교하여 레이아웃 모델의 크기를 조정하면, 이미지에 있는 텍스트 라인의 좌표 정보도 레이아웃 모델에 있는 직사각형 블록의 좌표 정보에 대해 반비례한다. 따라서, 이미지의 복수의 텍스트 라인과 레이아웃 모델의 복수의 직사각형 블록 간의 대응에 따라, 이미지의 텍스트 라인을 정렬하기 위해, 이미지의 복수의 텍스트 라인은 각각의 선택된 연결된 영역의 직사각형 블록과 매칭될 수 있다.
도 21은 일 실시예에 따른 레이아웃 분석 결과에 따라 이미지(400) 내에 텍스트 라인을 배열하는 개략도이다. 도 21에 도시된 바와 같이, 텍스트 라인 0 내지 5는 각각 도 20에 도시된 대응하는 연결된 영역 0 내지 5에 있다; 텍스트 라인 6 내지 26은 도 20에 도시된 연결된 영역 6에 있다; 텍스트 라인 27 내지 35는 도 20에 도시된 연결된 영역 7에 있다; 텍스트 라인 36은 도 20에 도시된 연결된 영역 8에 있다; 텍스트 라인 37 내지 66은 도 20에 도시된 연결된 영역 9에 있다; 텍스트 라인 67 내지 92는 도 20에 도시된 연결된 영역 10에 있다; 텍스트 라인 93 내지 105는 도 20에 도시된 연결된 영역 11에 있다.
일부 실시예에 따르면, 도 6에서 복수의 연결된 영역의 공간적 레이아웃을 분석하는 단계(620)는, 각각의 선택된 연결된 영역에 대해 반복적이고 교대로 수평 투영 분할 및 수직 투영 분할을 수행하기 전에, 다음과 같은 동작을 더 포함할 수 있다: 복수의 텍스트 라인이 수평 레이아웃 타입인 것으로 결정되면, 길이 방향의 양쪽 단부에서 여러 데이터 요소에 의해 각각의 선택된 연결된 영역에서 각각의 직사각형 블록의 길이를 감소시키는 동작; 및 복수의 텍스트 라인이 수직 레이아웃 타입인 것으로 결정되면, 폭 방향의 양쪽 단부에서 여러 데이터 요소에 의해 각각의 선택된 연결된 영역에서 각각의 직사각형 블록의 폭을 감소시키는 동작을 포함할 수 있다.
수평 투영 분할 및 수직 투영 분할이 각각의 선택된 연결된 영역에서 반복적으로 교대로 수행되기 전에, 좌우 방향의 각각의 텍스트 라인에 대응하는 직사각형 블록의 크기를 조정하면 단락들 간의 이미지 배경색 등의 간섭이 제거될 수 있어, 분할의 정확도가 향상된다.
레이아웃 분석 과정에서 텍스트 라인의 레이아웃 타입이 기본적으로 수평 레이아웃 또는 수직 레이아웃(수동 전환 가능)으로 결정되는 실시예는 위에서 설명되었다. 이하, 본 발명의 일부 추가적인 실시예를 설명하며, 텍스트 라인의 레이아웃 타입이 자동으로 인식된다. 레이아웃 타입의 자동 인식은 몇 가지 이점을 제공할 수 있다. 예를 들어, 사용자의 수동 전환 없이 자동으로 인식되는 레이아웃 타입에 따라 서로에 대한 텍스트 라인의 순서가 정확하게 결정될 수 있다. 이미지에 쥬요 레이아웃 타입(예: 수평 레이아웃)의 텍스트 라인과 서브 레이아웃 타입(예: 수직 레이아웃)의 텍스트 라인이 모두 포함된 경우, 이를 통해 유용한 기능이 구현될 수 있다. 예를 들어, 레이아웃 분석이 최초로 주요 레이아웃 타입의 텍스트 라인에서 수행될 수 있고, 이어서 레이아웃 분석이 서브 레이아웃 타입의 텍스트 라인에서 수행될 수 있다. 따라서, 주요 레이아웃 타입의 텍스트 라인이 먼저 인식되고 음성으로 브로드캐스팅될 수 있다. 이를 통해, 주요 레이아웃 타입의 텍스트 라인은 일반적으로 사용자가 먼저 알고 싶어하는 콘텐츠이기 때문에, 사용자의 읽기 보조 장치 사용 경험을 개선할 수 있다.
일부 실시예에 따르면, 레이아웃 모델에 기반하여 텍스트 라인의 레이아웃 구조를 분석하기 전에, 복수의 텍스트 라인의 주요 레이아웃 타입이 인식된다. 주요 레이아웃 타입은 수평 레이아웃 타입과 수직 레이아웃 타입으로 구성된 그룹에서 선택된 하나를 포함한다. 일부 실시예에 따르면, 복수의 텍스트 라인의 주요 레이아웃 타입을 인식하는 단계는: 이미지 내의 복수의 텍스트 라인의 좌표 정보에 따라 복수의 직사각형 블록의 각각의 기하학적 파라미터를 결정하는 단계; 및 복수의 직사각형 블록의 각각의 기하학적 파라미터에 기반하여 복수의 텍스트 라인의 주요 레이아웃 타입을 결정하는 단계를 포함할 수 있다.
일부 예에서, 도 4 및 5로 돌아가면, 레이아웃 모델(500)에서 각각의 직사각형 블록(510)의 기하학적 파라미터는 이미지(400) 내에서 복수의 텍스트 라인(410)의 좌표 정보에 따라 및 레이아웃 모델(500)에서 복수의 텍스트 라인(410)과 복수의 직사각형 블록(510) 간의 대응에 따라 결정될 수 있다. 예를 들어, 레이아웃 모델(500)의 크기가 이미지(400)의 크기와 같을 때, 레이아웃 모델(500) 내에서 직사각형 블록(510)의 좌표는 이미지(400) 내에서 대응하는 텍스트 라인(410)의 좌표와 동일하며, 직사각형 블록(510)의 기하학적 파라미터는 대응하는 텍스트 라인(410)의 좌표(예를 들어, 4개의 정점의 좌표)로부터 직접 결정될 수 있다.
일부 실시예에 따르면, 기하학적 파라미터는 복수의 직사각형 블록(510) 각각의 길이 방향, 길이, 폭 방향, 및 폭 중 적어도 하나를 포함한다. 텍스트 라인이 판독기에 대해 실질적으로 좌측에서 우측 방향으로 연장되는 경우(즉, 수평 레이아웃 읽기 자료에서), 길이 방향은 실질적으로 좌측에서 우측으로 연장되는 방향이고, 폭 방향은 실질적으로 좌우 연장 방향에 실질적으로 수직인 방향이다(즉, 실질적으로 상하 연장 방향). 또한, 텍스트 라인이 판독기에 대해 실질적으로 상하 방향으로 연장되는 경우(즉, 수직 레이아웃 일기 자료에서), 길이 방향은 실질적으로 상하 연장 방향이고, 폭 방향은 실질적으로 상하 연장 방향에 실질적으로 수직인 방향이다(즉, 실질적으로 좌우 연장 방향).
일부 실시예에 따르면, 텍스트 라인(410)의 레이아웃 타입이 수평 레이아웃인지 수직 레이아웃인지 결정하기 위해, 직사각형 블록(510)에 대응하는 텍스트 라인(410)의 텍스트 배열 방향은 직사각형 블록(510)의 각각의 기하학적 파라미터에 따라 결정된다. 일부 실시예에서, 텍스트 라인(410)의 레이아웃 타입은 텍스트 라인(410)에 대응하는 직사각형 블록(510)의 길이 방향을 결정함으로써 획득될 수 있다. 예를 들어, 직사각형 블록(510)이 좌우 방향으로 연장되면, 대응하는 텍스트 라인(410)은 수평 레이아웃을 가지고, 직사각형 블록(510)이 상하 방향으로 연장되면, 대응하는 텍스트 라인(410)은 수직 레이아웃을 갖는다. 전체 이미지(400)의 텍스트 영역에서, 특정 레이아웃 타입(수평 레이아웃 또는 수직 레이아웃)의 텍스트 라인(410)의 비율이 미리 결정된 임계값을 초과하면, 특정 레이아웃 타입이 주요 레이아웃 타입이 된다.
도 22는 복수의 직사각형 블록의 각각의 기하학적 파라미터에 기반하여 복수의 텍스트 라인의 주요 레이아웃 타입을 결정하는 예시적인 프로세스를 도시하는 흐름도이다. 이러한 예에서, 주요 레이아웃 타입을 결정하는 규칙은, 모든 직사각형 블록의 전체 면적에 대한 수직 레이아웃의 텍스트 라인에 대응하는 직사각형 블록의 전체 면적의 비율이 미리 결정된 임계값 이상인 경우, 주요 레이아웃 타입은 수직 레이아웃이고, 그렇지 않으면, 주요 레이아웃 타입은 수평 레이아웃이라는 것이다.
단계 2210에서, 복수의 직사각형 블록의 서브세트가 결정되고, 복수의 직사각형 블록의 서브세트는 직사각형 블록으로 구성되며, 복수의 직사각형 블록에서, 다음의 조건을 충족시킨다: 각각의 직사각형 블록의 길이 방향과 레이아웃 모델의 열 방향 간의 사이각이 임계 각도보다 작다. 일부 실시예에 따르면, 임계 각도는, 예를 들어, 10˚, 20˚, 30˚일 수 있으나, 이에 제한되지 않고 실제 적용에 따라 설정될 수 있다. 본원에서 사용된 바와 같이, 복수의 요소의 서브세트는 복수의 요소의 일부 또는 전부를 포함할 수 있다. 즉, 서브세트는 "유니버설 세트," "적절한 서브세트" 또는 "비어있는 세트"일 수 있다. "유니버설 세트"인 경우, 복수의 직사각형 블록의 모든 직사각형 블록은 위의 조건을 충족한다. "적절한 서브세트"의 경우, 복수의 직사각형 블록 중 일부 직사각형 블록이 위의 조건을 충족한다. "비어있는 세트"의 경우, 복수의 직사각형 블록 중 어떠한 직사각형 블록도 위의 조건을 충족하지 않는다.
단계 2220에서, 복수의 직사각형 블록의 서브세트의 전체 면적 및 복수의 직사각형 블록의 전체 면적이 결정되고, 단계 2230에서, 복수의 직사각형 블록의 전체 면적에 대한 복수의 직사각형 블록의 서브세트의 전체 면적의 비율이 제1 임계 비율보다 작은지 여부가 결정된다. 복수의 직사각형 블록의 전체 면적에 대한 복수의 직사각형 블록의 서브세트의 전체 면적의 비율이 제1 임계 비율보다 작은 경우(단계 2230, "예"), 메인 레이아웃 타입이 수평 레이아웃 타입인 것으로 결정되고(단계 2240), 그렇지 않으면(단계 2230, "아니오"), 메인 레이아웃 타입이 수직 레이아웃 타입인 것으로 결정된다(단계 2250). 일부 실시예에 따르면, 제1 임계 비율은 80%일 수 있으나 이에 제한되지 않고 실제 적용에 따라 설정될 수 있다.
메인 페이지 타입을 결정하기 위한 위의 규칙은 예시일 뿐이며, 다른 실시 예에서 다른 결정 규칙이 사용될 수 있음을 이해할 것이다.
일부 실시예에 따르면, 레이아웃 모델에 기반하여 텍스트 라인의 레이아웃 구조를 분석하는 것은 또한 주요 레이아웃 타입의 텍스트 라인의 레이아웃 구조를 분석하는 것을 포함할 수 있다. 일부 실시예에 따르면, 레이아웃 모델에 기반하여 텍스트 라인의 레이아웃 구조를 분석하기 전에, 이미지에서 중요하지 않은 텍스트에 대응하는 직사각형 블록은 선택적으로 폐기될 수 있다.
일부 실시예에 따르면, 기본 레이아웃 타입의 텍스트 라인 레이아웃 구조를 분석하기 전에, 서브 레이아웃 타입의 직사각형 블록은 복수의 직사각형 블록에서 선택적으로 제거되거나 제거되지 않으며, 서브 레이아웃 타입에는 수평 레이아웃 타입과 수직 레이아웃 타입으로 구성된 그룹에서 선택된 다른 타입이 포함된다.
일부 예에서, 면적 비율이 작은 서브 레이아웃 타입의 텍스트 라인은 중요하지 않은 텍스트로 간주될 수 있다. 그러한 실시예에서, 주요 레이아웃 타입의 텍스트 라인 레이아웃 구조를 분석하기 전에, 복수의 텍스트 라인의 서브 레이아웃 타입은 복수의 직사각형 블록의 각각의 기하학적 파라미터에 기반하여 결정될 수 있다. 위에서 설명된 바와 같이, 주요 레이아웃 타입은 수평 레이아웃 타입과 수직 레이아웃 타입(예: 수평 레이아웃 유형) 중 하나일 수 있고, 서브 레이아웃 타입은 수평 레이아웃 타입 및 수직 레이아웃 타입(예: 수직 레이아웃 타입) 중 다른 하나 일 수 있다. 이어서, 서브 레이아웃 타입의 직사각형 블록은 선택된 직사각형 블록을 얻기 위해 복수의 직사각형 블록에서 선택적으로 제거되거나 제거되지 않는다. 본원에서 사용된 바와 같이, 용어 "제거"는 레이아웃 모델의 데이터 요소의 데이터 값을 기본값(예: 0)으로 보정하는 것을 의미할 수 있다. 중요하지 않은 일부 텍스트를 삭제하면, 텍스트 인식 및 브로드캐스팅 중에 주요 레이아웃의 텍스트 판독 순서가 최대한 중단되는 것을 방지하고, 사용자 경험이 향상될 수 있다.
도 23은 이미지에서 중요하지 않은 텍스트에 대응하는 직사각형 블록을 선택적으로 폐기하는 예시적인 프로세스를 나타내는 흐름도이다. 도 23에 도시된 바와 같이, 복수의 직사각형 블록의 전체 면적에 대한 서브 레이아웃 타입의 직사각형 블록의 비율을 계산함으로써, 서브 레이아웃 타입의 직사각형 블록을 제거할지 여부가 결정될 수 있다. 최초로, 단계 2310에서, 서브 레이아웃 타입의 직사각형 블록의 전체 면적 및 복수의 직사각형 블록의 전체 면적이 결정된다. 즉, 서브 레이아웃 타입의 직사각형 블록의 전체 면적과 레이아웃 모델에 있는 모든 직사각형 블록의 전체 면적이 결정된다. 이어서, 단계 2320에서, 복수의 직사각형 블록의 전체 면적에 대한 하위 레이아웃 타입의 직사각형 블록의 전체 면적의 비율이 제2 임계 비율보다 작은지 여부가 결정된다. 복수의 직사각형 블록의 전체 면적에 대한 서브 레이아웃 타입의 직사각형 블록의 전체 면적의 비율이 제2 임계 비율보다 작다고 결정되면(단계 2320, "예"), 복수의 직사각형 블록에서 서브 레이아웃 타입의 직사각형 블록이 제거된다(단계 2330). 복수의 직사각형 블록의 전체 면적에 대한 서브 레이아웃 타입의 직사각형 블록의 전체 면적의 비율이 제2 임계 비율 이상인 것으로 결정되면(단계 2320, "아니오"), 서브 레이아웃 타입의 직사각형 블록은 복수의 직사각형 블록에서 제거되지 않는다(단계 2340). 일부 실시예에 따르면, 제2 임계 비율은 실제 애플리케이션에 따라 설정될 수 있다(예: 3%, 5%, 또는 7%). 본 발명은 이러한 점에 제한되지 않는다.
이 작업이 수행된 후, 주요 레이아웃 타입의 텍스트 라인의 레이아웃 구조를 분석하는 단계가 수행된다. 주요 레이아웃 타입의 텍스트 라인의 레이아웃 구조에 대한 분석 방법은 도 6 내지 도 21에 대해 위에서 설명한 분석 방법과 유사하며, 간결함을 위해 여기에서 반복하지 않는다.
일부 실시예에 따르면, 주요 레이아웃 타입의 텍스트 라인 레이아웃 구조를 분석한 후, 복수의 직사각형 블록에서 서브 레이아웃 타입의 직사각형 블록이 제거되지 않은 경우, 서브 레이아웃 타입의 텍스트 라인 레이아웃 구조가 계속 분석될 수 있다. 서브 레이아웃 타입의 텍스트 라인의 레이아웃 구조에 대한 분석 방법은도 6 내지 도 21에 대해 위에서 설명한 분석 방법과 유사하며, 여기서는 간결함을 위해 반복하지 않는다.
이상, 본 발명에 따른 레이아웃 분석의 예시적인 방법이 첨부된 도면을 참조하여 설명되었다. 레이아웃 분석 후, 후속 처리도 수행될 수 있다. 예를 들어, 텍스트 라인 단위로 인식된 텍스트 데이터는 텍스트 인식 결과와 조합된 텍스트 라인 배열 결과에 따라 음성 데이터로 변환될 수 있고, 이는, 예를 들어, 오디오 북 및 시각 장애인 지원 애플리케이션과 관련된 애플리케이션에 사용될 수 있다. 이미지의 텍스트 라인에 수평 레이아웃과 수직 레이아웃이 모두 포함되어 있고 레이아웃 분석시 서브 레이아웃 타입의 텍스트 라인이 제거되지 않은 경우, 텍스트 브로드캐스팅을 위한 문자 인식 결과를 결합하기 위한 후속 처리가 수행되면, 주요 레이아웃 타입의 텍스트 라인에 있는 텍스트가 먼저 인식되어 브로드캐스팅될 수 있으며, 주요 레이아웃 타입의 텍스트 라인에 있는 텍스트가 브로드캐스팅된 후 서브 레이아웃 타입의 텍스트 라인에 있는 텍스트가 인식되어 브로드캐스팅된다.
도 24는 본 발명의 일 실시예에 따른 읽기 지원 장치의 구조 블록도이다. 도 24에 도시된 바와 같이, 읽기 보조 장치(2400)는: 전술한 이미지(예를 들어, 이미지는 정적 이미지 또는 비디오 이미지일 수 있고 이미지는 텍스트를 포함할 수 있다)를 획득하도록 구성된 이미지 센서(2410)(예를 들어, 웹캠 또는 카메라로 구현 될 수 있다); 및 전술한 방법 중 어느 하나에 따라 단계를 수행하는 회로 유닛으로 구성된 칩 회로(2420)를 포함한다.
본원에서 사용된 바와 같이, "회로"라는 용어는 다음과 같은 회로의 일부이거나 이들을 포함할 수 있다: 애플리케이션 특정 집적 회로(ASIC, application-specific integrated circuit), 전자 회로, 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 프로세서(공유, 전용 또는 그룹) 및/또는 메모리(공유, 전용 또는 그룹), 기능 및/또는 기타 적절한 하드웨어 구성 요소를 제공하는 조합 논리 회로의 일부이거나 이들을 포함할 수 있다. 일부 실시예에서, 회로와 관련된 회로 또는 기능은 하나 이상의 소프트웨어 또는 펌웨어 모듈에 의해 구현될 수 있다. 일부 실시예에서, 회로는 하드웨어에서 적어도 부분적으로 동작 가능한 로직을 포함 할 수 있다. 본원에 설명된 실시예는 임의의 적절하게 구성된 하드웨어 및/또는 소프트웨어를 사용하는 시스템으로서 구현될 수 있다.
일부 실시예에 따르면, 칩은 텍스트 데이터를 얻기 위해 이미지에 대한 텍스트 인식을 수행하도록 구성된 회로 유닛, 및 텍스트 라인 배치 결과에 따라 각각의 텍스트 라인의 텍스트 데이터를 사운드 데이터로 변환하는 회로 유닛을 더 포함할 수 있다. 텍스트 데이터를 얻기 위해 이미지에 대한 텍스트 인식을 수행하도록 구성된 회로 유닛은, 예를 들어, 임의의 텍스트 인식(예를 들어, 광학 문자 인식(OCR, Optical Character Recognition)) 소프트웨어 또는 회로를 사용할 수 있다. 텍스트 라인 배치의 결과에 따라 각각의 텍스트 라인의 텍스트 데이터를 사운드 데이터로 변환하도록 구성된 회로 유닛은, 예를 들어, 임의의 텍스트 음성 변환 소프트웨어 또는 회로를 사용할 수 있다. 회로 유닛은, 예를 들어, ASIC 칩 또는 FPGA 칩으로 구현될 수 있다. 읽기 지원 장치(2400)는 음성 데이터(즉, 음성 데이터)를 출력하도록 구성된 음성 출력 장치(2430)(예: 스피커, 헤드폰)를 더 포함할 수 있다.
본 발명의 측면은 전자 장치를 포함할 수 있다. 전자 장치는 프로세서; 및 프로그램을 저장하는 메모리를 포함하고, 프로그램은 프로세서에 의해 실행될 때 프로세서가 전술한 방법 중 하나를 수행하게하는 명령을 포함한다. 일부 실시예에 따르면, 프로그램은 프로세서에 의해 명령이 실행될 때, 텍스트 라인 배열의 결과에 따라 각각의 텍스트 라인의 텍스트 데이터를 사운드 데이터로 변환하는 명령을 더 포함할 수 있다. 일부 실시예에 따르면, 전자 장치는, 예를 들어, 읽기 보조 장치일 수 있다. 일부 실시예에 따르면, 전자 장치는 읽기 보조 장치와 통신하는 다른 장치(예를 들어, 휴대폰, 컴퓨터, 및 서버)일 수 있다. 전자 장치가 읽기 보조 장치와 통신하는 다른 장치인 경우, 읽기 보조 장치는 다른 장치에 의한 전술한 방법 중 임의의 것을 실행하기 위해 촬영된 이미지를 다른 장치로 전송할 수 있고, 이어서 처리 결과(예: 레이아웃 분석 결과, 텍스트 인식 결과 및/또는 텍스트 데이터에서 변환된 사운드 데이터)를 읽기 지원 장치에 의한 후속 처리 실행(예: 사용자에게 사운드 데이터를 재생)을 위한 방법의 처리 결과를 읽기 지원 장치로 반환한다.
일부 실시예에 따르면, 읽기 보조 장치는 웨어러블 장치(예를 들어, 안경 형태로 착용하는 장치, 헤드 마운트 장치(예: 헬멧 또는 모자), 귀에 착용할 수 있는 장치, 안경에 부착된 액세서리(예: 안경테 및 안경 다리), 모자에 부착된 액세서리 등)로 구현될 수 있다.
읽기 보조 장치에 의해, 시각 장애가 있는 사용자는 일반 시력을 가진 독자와 유사한 읽기 자세로 기존의 읽기 자료(예: 책 및 잡지)를 "읽을" 수 있다. "읽기" 과정에서, 읽기 보조 장치는 전술한 실시예의 방법에 따라 캡쳐된 레이아웃 이미지에 대한 레이아웃 분석을 자동으로 수행하여 텍스트 라인을 배열하고, 텍스트 라인의 텍스트를 텍스트 라인의 순서대로 음성으로 순차적으로 변환하며, 사용자가들을 수 있도록 스피커 또는 헤드폰과 같은 출력 장치를 통해 음성을 출력한다.
본 발명의 양상은 프로그램을 저장하는 컴퓨터 판독 가능한 저장 매체를 포함할 수 있으며, 프로그램은 전자 장치의 프로세서에 의해 실행될 때 전자 장치가 전술한 방법 중 하나를 수행하게 하는 명령을 포함한다. 도 25를 참조하면, 이제 본 발명의 다양한 양상들에 적용될 수 있는 하드웨어 장치의 예인 컴퓨팅 장치(2500)가 설명된다. 컴퓨팅 장치(2500)는 프로세싱 및/또는 컴퓨팅을 수행하도록 구성된 임의의 머신일 수 있고, 임의의 머신은 워크 스테이션, 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 개인용 정보 단말기, 스마트폰, 온보드 컴퓨터, 웨어러블 장치, 또는 이들의 조합일 수 있지만 이에 제한되지 않는다. 일부 실시예에 따르면, 읽기 보조 장치 또는 전자 장치는 또한 컴퓨팅 장치(2500) 또는 유사한 장치 또는 시스템에 의해 전체적으로 또는 적어도 부분적으로 구현될 수 있다.
컴퓨팅 장치(2500)는 (가능하면 하나 이상의 인터페이스를 통해) 버스(2502)와 연결되거나 버스(2502)와 통신하는 요소를 포함할 수 있다. 예를 들어, 컴퓨팅 장치(2500)는 (전술한 읽기 보조 장치에 포함된 프로세서 또는 칩 회로를 구현하도록 구성될 수 있는) 버스(2502), 하나 이상의 프로세서(2504), 하나 이상의 입력 장치(2506), 및 하나 이상의 출력 장치(2508)를 포함할 수 있다. 하나 이상의 프로세서(2504)는 임의의 타입의 프로세서일 수 있으며, 하나 이상의 범용 프로세서 및/또는 하나 이상의 전용 프로세서(예: 특수 처리 칩)를 포함할 수 있지만 이에 제한되지 않는다. 입력 장치(2506)는 컴퓨팅 장치(2500)에 정보를 입력할 수 있는 임의의 타입의 장치일 수 있고, 센서(예를 들어, 전술한 바와 같이 이미지를 획득하기 위한 센서), 마우스, 키보드, 터치 스크린, 마이크, 및/또는 원격 컨트롤러를 포함할 수 있지만 이에 제한되지 않는다. 출력 장치(2508)는 정보를 제공할 수 있는 임의의 타입의 장치일 수 있고, 디스플레이, 스피커(예를 들어, 전술한 바와 같이 음성 데이터를 출력하도록 구성될 수 있는 출력 장치), 비디오/오디오 출력 단말기, 진동기, 및/또는 프린터를 포함할 수 있지만 이에 제한되지 않는다. 컴퓨팅 장치(2500)는 또한 저장 장치(2510)를 포함하거나 저장 장치(2510)에 연결될 수 있다. 저장 장치(예를 들어, 전술한 컴퓨터 판독 가능 저장 매체를 구현하도록 구성 될 수 있음)는 비일시적일 수 있고 데이터 저장을 구현할 수 있는 임의의 저장 장치일 수 있으며, 디스크 드라이브, 광학 저장 장치, 솔리드 스테이트 메모리, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프 또는 기타 자기 매체, 광학 디스크 또는 기타 광학 매체, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 캐시 메모리 및/또는 기타 메모리 칩 또는 카트리지, 및/또는 컴퓨터가 데이터, 지침 및/또는 코드를 판독할 수 있는 기타 매체를 포함하나 이들에 제한되지 않는다. 저장 장치(2510)는 인터페이스로부터 제거될 수 있다. 저장 장치(2510)는 전술한 방법 및 단계를 구현하기 위한 데이터/프로그램(명령 포함)/코드를 가질 수 있다. 컴퓨팅 장치(2500)는 통신 장치(2512)를 더 포함할 수 있다. 통신 장치(2512)는 외부 장치 및/또는 네트워크와의 통신을 가능하게 하는 임의의 타입의 장치 또는 시스템일 수 있고, 모뎀, 네트워크 인터페이스 카드, 적외선 통신 장치, 무선 통신 장치 및/또는 칩셋(예를 들어, 블루투스 장치, 1302.11 장치, Wi-Fi 장치, WiMax 장치, 셀룰러 통신 장치)을 포함하나 이들에 제한되지 않는다.
컴퓨팅 장치(2500)는 또한 워킹 메모리(2514)를 포함할 수 있고(이는 전술 한 읽기 지원 장치에 포함된 메모리를 구현하는 데 사용될 수 있음), 이는 프로세서(2504)의 동작에 유용한 프로그램(명령을 포함) 및/또는 데이터를 저장할 수 있는 임의의 타입의 워킹 메모리일 수 있으며, 랜덤 액세스 메모리 및/또는 판독 전용 메모리를 포함할 수 있지만 이에 제한되지 않는다.
소프트웨어 요소(프로그램)는 워킹 메모리(2514) 내에 위치할 수 있고, 운영 체제(2516), 하나 이상의 애플리케이션(즉, 애플리케이션 프로그램)(2518), 드라이버 및/또는 기타 데이터 및 코드를 포함할 수 있지만 이에 제한되지 않는다. 방법 및 단계를 실행하기 위한 명령은 하나 이상의 애플리케이션(2518)에 포함될 수 있다. 소프트웨어 요소(프로그램)의 명령어의 실행 코드 또는 소스 코드는 비일시적 컴퓨터 판독 가능 저장 매체(예를 들어, 저장 장치(2510))에 저장될 수 있고, 실행될 때 워킹 메모리(2514) 내에 저장될 수 있다(컴파일 및/또는 설치될 수 있음). 소프트웨어 요소(프로그램) 명령의 실행 코드 또는 소스 코드는 원격 위치에서 다운로드될 수도 있다.
도 25에 도시된 컴퓨팅 장치(2500)가 본 발명의 구현에 적용될 때, 워킹 메모리(2514)는 본 발명의 흐름도를 실행하기 위한 프로그램 코드 및/또는 텍스트 콘텐츠를 포함하는 인식될 이미지를 저장할 수 있다. 애플리케이션(2518)은, 제3자에 의해 제공되는, 광학 문자 인식 애플리케이션(예: Adobe), 음성 변환 애플리케이션, 편집 가능한 텍스트 처리 애플리케이션 등을 포함할 수 있다. 입력 장치(2506)는 텍스트 콘텐츠를 포함하는 이미지를 획득하기 위한 센서일 수 있다. 텍스트 컨텐츠를 포함하는 저장된 이미지 또는 획득된 이미지는 OCR 애플리케이션에 의해 텍스트를 포함하는 출력 결과로 처리될 수 있다. 출력 장치(2508)는, 예를 들어, 음성 방송용 스피커 또는 헤드폰이다. 프로세서(2504)는 워킹 메모리(2514)의 프로그램 코드에 따라 본 발명의 다양한 측면에 따른 방법의 단계를 실행하도록 구성된다.
특정 요구 사항에 따라 다양한 변형이 이루어질 수 있음을 더 이해해야 한다. 예를 들어, 맞춤형 하드웨어가 또한 사용될 수 있고/있거나 특정 요소(즉, 칩 회로)는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로 코드, 하드웨어 설명 언어 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 개시된 방법 및 장치의 일부 또는 전부(예: 전술한 칩 회로의 회로 유닛)는, 본 발명의 로직 및 알고리즘을 사용하여, 하드웨어 프로그래밍(예: 필드 프로그램 가능한 게이트 어레이(FPGA, field programmable gate array) 및/또는 프로그램 가능한 로직 어레이(PLA, programmable logic array)를 포함하는 프로그래밍 가능 논리 회로)에 의해 (VERILOG, VHDL, C++과 같은) 어셈블리 언어 또는 하드웨어 프로그래밍 언어로 구현될 수 있다.
컴퓨팅 장치(2500)의 구성 요소는 네트워크를 통해 분산될 수 있다는 것을 더 이해해야 한다. 예를 들어, 일부 처리는 하나의 프로세서에 의해 실행될 수있는 반면 다른 처리는 하나의 프로세서에서 떨어진 다른 프로세서에 의해 실행될 수 있다. 컴퓨팅 장치(2500)의 다른 구성 요소도 유사하게 분산될 수 있다. 따라서, 컴퓨팅 장치(2500)는 복수의 위치에서 처리를 수행하는 분산 컴퓨팅 시스템으 해석 될 수 있다.
본 발명의 실시예 또는 예가 도면을 참조하여 설명되었지만, 위에서 설명된 방법, 시스템 및 장치는 단지 예시적인 실시예 또는 예일뿐이며, 본 발명의 범위는 이에 의해 제한되지 않음을 이해해야 하며, 실시예 또는 예, 그러나 허용된 청구 범위 및 그와 동등한 범위에 의해서만 정의된다. 실시예 또는 예시의 다양한 요소는 생략되거나 그와 동등한 요소로 대체될 수 있다. 또한, 단계는 본 발명에서 설명된 것과 다른 순서로 수행될 수 있다. 또한, 실시예 또는 예의 다양한 요소는 다양한 방식으로 결합될 수 있다. 기술이 발전함에 따라 본원에 설명된 많은 요소들이 본 발명 이후 나타나는 동등한 요소들로 대체될 수 있다는 것이 중요하다.

Claims (20)

  1. 레이아웃 분석 방법으로서, 상기 방법은:
    이미지 내의 복수의 텍스트 라인의 좌표 정보를 획득하는 단계;
    상기 좌표 정보에 따라 상기 이미지의 레이아웃 모델을 생성하는 단계;
    상기 레이아웃 모델에 기반하여 상기 텍스트 라인의 레이아웃 구조를 분석하는 단계; 및
    상기 레이아웃 구조를 기반으로 상기 텍스트 라인의 서로에 대한 순서를 결정하는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  2. 제1항에 있어서, 상기 좌표 정보에 따라 상기 이미지의 레이아웃 모델을 생성하는 단계는:
    상기 레이아웃 모델을 획득하기 위해 데이터 구조 내의 상기 좌표 정보에 대응하는 데이터 요소를 데이터 값으로 채우는 단계;
    를 포함하고,
    상기 데이터 값으로 채워진 상기 데이터 요소는 복수의 직사각형 블록을 형성하며, 상기 복수의 직사각형 블록은 상기 복수의 텍스트 라인 내에서 각각의 텍스트 라인에 대응하는 것을 특징으로 하는 레이아웃 분석 방법.
  3. 제2항에 있어서, 상기 레이아웃 모델에 기반하여 상기 텍스트 라인의 레이아웃 구조를 분석하는 단계는:
    상기 복수의 직사각형 블록이 서로 독립적인 복수의 연결된 영역으로 병합되도록, 상기 복수의 직사각형 블록의 폭을 선택적으로 조정하는 단계; 및
    상기 텍스트 라인의 레이아웃 구조를 획득하기 위해, 상기 복수의 연결된 영역의 공간적 레이아웃을 분석하는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  4. 제3항에 있어서, 상기 복수의 직사각형 블록의 폭을 선택적으로 조정하는 단계는:
    각각의 직사각형 블록에 대해:
    상기 복수의 직사각형 블록의 대표적인 폭 이하인 상기 직사각형 블록의 폭에 응답하여, 상기 직사각형 블록의 폭을 제1 양만큼 증가시키는 단계;
    상기 대표적인 폭보다 크며 또한 상기 대표적인 폭의 제1 배수 이하인 상기 직사각형 블록의 상기 폭에 응답하여, 상기 직사각형 블록의 폭을 제2 양만큼 증가시키는 단계;
    상기 대표적인 폭의 상기 제1 배수보다 크며 또한 상기 대표적인 폭의 제2 배수 이하인 상기 직사각형 블록의 상기 폭에 응답하여, 상기 직사각형 블록의 상기 폭을 조정하지 않는 단계; 및
    상기 대표적인 폭의 상기 제2 배수보다 큰 상기 직사각형 블록의 상기 폭에 응답하여, 상기 직사각형 블록의 상기 폭을 제3 양만큼 감소시키는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  5. 제3항에 있어서, 상기 복수의 연결된 영역의 공간적 레이아웃을 분석하는 단계는:
    상기 레이아웃 모델 내의 상기 복수의 연결된 영역의 배향을 선택적으로 보정하거나 보정하지 않는 단계;
    각각의 선택적으로 연결된 영역을 획득하기 위해, 라인 방향으로 상기 레이아웃 모델의 양쪽 측면 중 어느 하나에 직접적으로 인접한 상기 레이아웃 모델에서 연결된 영역을 선택적으로 제거하거나 제거하지 않는 단계; 및
    분할된 구역의 세트 및 상기 분할된 구역의 서로에 대한 순서를 얻기 위해, 상기 각각의 선택적으로 연결된 영역에 대해 투영 분할을 수행하는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  6. 제5항에 있어서, 상기 레이아웃 모델 내의 상기 복수의 연결된 영역의 배향을 선택적으로 보정하거나 보정하지 않는 단계는:
    상기 레이아웃 모델의 라인 방향 및 열(column) 방향 중 어느 하나에 대해 상기 복수의 연결된 영역이 기울어진 상태인지 여부를 결정하는 단계; 및
    상기 복수의 연결된 영역이 기울어진 상태에 있지 않도록, 상기 복수의 연결된 영역이 상기 기울어진 상태라는 결정에 응답하여, 상기 복수의 연결된 영역을 보정 각도만큼 회전시키는 단계;
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  7. 제6항에 있어서, 상기 라인 방향으로 상기 레이아웃 모델의 양쪽 측면 중 어느 하나에 직접적으로 인접한 상기 레이아웃 모델에서 연결된 영역을 선택적으로 제거하거나 제거하지 않는 단계는:
    상기 경사진 상태가 아닌 상기 복수의 연결된 영역에 응답하여, 상기 레이아웃 모델에 대해 수직 투영 분할을 수행하는 단계; 및
    상기 수직 투영 분할의 결과에 따라, 상기 라인 방향으로 상기 레이아웃 모델의 양쪽 측면 중 어느 하나에 직접적으로 인접한 연결된 영역을 상기 복수의 연결된 영역으로부터 선택적으로 제거하거나 제거하지 않는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  8. 제7항에 있어서, 상기 라인 방향으로 상기 레이아웃 모델의 양쪽 측면 중 어느 하나에 직접적으로 인접한 연결된 영역을 상기 복수의 연결된 영역으로부터 선택적으로 제거하거나 제거하지 않는 단계는:
    상기 수직 투영 분할을 통해 상기 레이아웃 모델로부터 적어도 2개의 구역이 획득되지 않았다는 결정에 응답하여 상기 제거를 수행하지 않는 단계; 및
    상기 수직 투영 분할을 통해 상기 레이아웃 모델로부터 적어도 2개의 구역이 획득되었다는 결정에 응답하여, 상기 라인 방향으로 상기 적어도 2개의 구역의 대응하는 유효 크기를 결정하며, 상기 라인 방향으로 상기 레이아웃 모델의 2개의 측면 중 어느 하나에 직접적으로 인접한 상기 적어도 2개의 구역의 각각의 측면 구역에 대해 아래의 동작을 수행하는 단계
    를 포함하고.
    상기 아래의 동작은:
    분할을 통해 상기 레이아웃 모델로부터 획득된 2개의 구역 및 상기 대응하는 유효 크기에서 가장 큰 크기의 제1 임계 값 백분율보다 작으며 또한 상기 라인 방향의 상기 2개의 구역 중 다른 하나의 유효 크기에 대하여 제2 임계 값 백분율 보다 작은 상기 라인 방향의 상기 측면 구역의 유효 크기에 응답하여, 상기 측면 구역 내의 연결된 영역을 제거하는 동작; 및
    분할을 통해 상기 레이아웃 모델로부터 획득된 2개 보다 많은 구역 및 상기 대응하는 유효 크기에서 상기 가장 큰 크기의 제3 임계 값 백분율 보다 작으며 또한 상기 라인 방향의 상기 측면 구역에 직접 인접한 구역 내의 구역의 유효 크기의 제4 임계 값 백분율 보다 작은 상기 라인 방향의 상기 측면 구역의 상기 유효 크기에 응답하여, 상기 측면 구역 내의 연결된 영역을 제거하는 동작
    인 것을 특징으로 하는 레이아웃 분석 방법.
  9. 제5항에 있어서, 상기 각각의 선택적으로 연결된 영역에 대해 투영 분할을 수행하는 단계는:
    분할을 통해 상기 레이아웃 모델로부터 분할된 구역의 세트를 획득하기 위해, 상기 각각의 선택된 연결된 영역에 대해 반복적으로 그리고 교대로 수평 투영 분할 및 수직 투영 분할을 수행하는 단계; 및
    판독 순서 규칙에 기반하여 상기 분할된 구역의 세트 내의 각각의 분할된 구역의 서로에 대한 순서를 결정하는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  10. 제9항에 있어서, 상기 각각의 선택된 연결된 영역에 대해 반복적으로 그리고 교대로 수평 투영 분할 및 수직 투영 분할을 수행하는 단계는:
    주기적으로 동작을 수행하는 단계를 포함하되,
    상기 동작은:
    각각의 분할된 구역이 수평 투영 분할 및 수직 투영 분할을 통해 분할될 수 없을 때까지, 수평 투영 분할을 통해 획득된 각각의 수평 분할 구역에 대해 수직 투영 분할을 수행하는 단계; 및
    수직 투영 분할을 통해 획득된 각각의 수직 분할 구역에 대해 수평 투영 분할을 수행하는 단계
    를 포함하고,
    상기 수평 투영 분할 및 수직 투영 분할을 통해 분할될 수 없는 상기 분할 구역은 상기 분할 구역의 세트를 형성하는 것을 특징으로 하는 레이아웃 분석 방법.
  11. 제10항에 있어서, 상기 수평 투영 분할을 통해 획득된 각각의 수평 분할 구역에 대해 수직 투영 분할을 수행하는 단계는:
    데이터 열 세트-여기서 상기 데이터 열 세트 내의 각각의 데이터 열의 데이터 값의 합계는 0 내지 제1 임계 값의 범위에 있고, 상기 제1 임계 값은 0보다 큼-에 대해 상기 수평 분할 구역을 검색하는 단계;
    상기 데이터 열 세트의 발견에 응답하여 상기 데이터 열 세트로부터 상기 수평 분할 구역을 분할하기 위한 수직 분할선을 선택하는 단계; 및
    수직 분할 구역을 획득하기 위해, 상기 선택된 수직 분할선을 사용하여 상기 수평 분할 구역을 분할하는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  12. 제10항에 있어서, 상기 수직 투영 분할을 통해 획득된 각각의 수직 분할 구역에 대해 수평 투영 분할을 수행하는 단계는:
    데이터 라인의 세트-상기 데이터 라인의 세트 내의 각각의 데이터 라인의 데이터 값 합계는 0 내지 제2 임계 값 범위이고, 상기 제2 임계 값은 0 보다 큼-에 대해 상기 수직 분할 구역을 검색하는 단계;
    상기 데이터 라인의 세트의 발견에 응답하여 상기 수직 분할 구역을 분할하기 위한 수평 분할 선을 상기 데이터 라인의 세트로부터 선택하는 단계; 및
    수평 분할 구역을 획득하기 위해, 상기 선택된 수평 분할선을 사용하여 상기 수직 분할 구역을 분할하는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  13. 제10항에 있어서, 상기 분할된 구역의 세트 내의 각각의 분할된 구역의 서로에 대한 순서를 결정하는 단계는:
    상기 작업을 주기적으로 수행할 때, 수평 분할 구역들 간, 수직 분할 구역들 간, 및 상기 수평 분할 구역들과 상기 수직 분할 구역들 간의 계층적 관계를 계층 트리 데이터 구조-상기 계층 트리 데이터 구조의 리프 노드(leaf nodes)는 상기 분할된 구역의 세트를 나타냄-로 기록하는 단계; 및
    상기 판독 순서 규칙에 따라 상기 리프 노드를 가로지르는 단계
    를 포함하고,
    상기 리프 노드를 가로지르는 순서는 상기 분할된 구역의 세트 내의 각각의 분할된 구역의 서로에 대한 순서를 나타내는 것을 특징으로 하는 레이아웃 분석 방법.
  14. 제6항에 있어서, 상기 복수의 연결된 영역의 상기 공간적 레이아웃을 분석하는 단계는, 상기 각각의 선택적으로 연결된 영역에 대해 투영 분할을 수행하는 단계 이후에:
    상기 각각의 선택된 연결된 영역이 상기 보정 각도만큼 회전되었는지 여부를 결정하는 단계; 및
    상기 각각의 선택된 연결된 영역이 상기 보정 각도만큼 회전되었다는 결정에 응답하여, 상기 분할된 구역의 세트를 상기 보정 각도 만큼 역으로 회전시키는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  15. 제14항에 있어서, 상기 레이아웃 구조에 기반하여 상기 텍스트 라인의 서로에 대한 순서를 결정하는 단계는:
    상기 분할된 구역의 세트 내의 각각의 분할된 구역에 대한 상기 각각의 선택된 연결된 영역의 상대적 위치에 따라, 상기 각각의 선택된 연결된 영역과 상기 각각의 분할된 구역-여기서 상기 각각의 분할된 구역은 선택된 연결된 영역의 대응하는 세트를 포함함- 간의 대응을 결정하는 단계;
    상기 선택된 연결된 영역의 대응하는 세트 내의 상기 선택된 연결된 영역들 간의 위치 관계에 따라, 상기 선택된 연결된 영역의 대응하는 세트 내의 선택된 연결된 영역을 배열하는 단계;
    상기 선택된 연결된 영역 내의 상기 직사각형 블록들 간의 위치 관계에 따라 각각의 선택된 연결된 영역 내에 직사각형 블록을 배열하는 단계; 및
    상기 복수의 텍스트 라인과 상기 복수의 직사각형 블록 간의 대응 관계에 따라, 상기 복수의 텍스트 라인을 상기 각각의 선택된 연결된 영역 내의 직사각형 블록과 매칭시키는 단계
    를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  16. 제2항에 있어서, 상기 레이아웃 모델에 기반하여 상기 텍스트 라인의 레이아웃 구조를 분석하는 단계 이전에:
    상기 복수의 텍스트 라인의 주요 레이아웃 타입을 인식하는 단계를 더 포함하고,
    상기 주요 레이아웃 타입은 수평 레이아웃 타입과 수직 레이아웃 타입으로 구성된 그룹에서 선택된 하나로 구성되며,
    상기 레이아웃 모델에 기반하여 상기 텍스트 라인의 레이아웃 구조를 분석하는 단계는 상기 주요 레이아웃 타입의 상기 텍스트 라인의 레이아웃 구조를 분석하는 단계를 포함하는 것을 특징으로 하는 레이아웃 분석 방법.
  17. 칩 회로로서, 상기 칩 회로는 제1항 내지 제16항 중 어느 한 항에 따른 방법을 수행하도록 구성된 회로 유닛을 포함하는 것을 특징으로 하는 칩 회로.
  18. 읽기 보조 장치로서, 상기 읽기 보조 장치는:
    제17항에 따른 칩 회로; 및
    이미지를 획득하도록 구성되는 이미지 센서
    를 포함하는 것을 특징으로 하는 읽기 보조 장치.
  19. 전자 장치로서, 상기 전자 장치는:
    프로세서; 및
    프로그램을 저장하는 메모리를 포함하고, 상기 프로그램은, 상기 프로세서에 의해 실행될 때, 상기 프로세서가 제1 항 내지 제16 항 중 어느 한 항에 따른 방법을 수행하게 하는 명령을 포함하는 것을 특징으로 하는 전자 장치.
  20. 프로그램을 저장하는 컴퓨터 판독 가능한 저장 매체로서, 상기 프로그램은, 전자 장치의 프로세서에 의해 실행될 때, 상기 전자 장치가 제1 항 내지 제16 항 중 어느 한 항에 따른 방법을 수행하게 하는 명령을 포함하는 것을 특징으로 하는 컴퓨터 판독 가능한 저장 매체.
KR1020210087974A 2020-07-13 2021-07-05 레이아웃 분석 방법, 판독 보조 장치, 회로, 및 매체 KR102399508B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010667074.6 2020-07-13
CN202010667074.6A CN111832476A (zh) 2020-07-13 2020-07-13 版面分析方法、阅读辅助设备、电路和介质

Publications (2)

Publication Number Publication Date
KR20220008224A true KR20220008224A (ko) 2022-01-20
KR102399508B1 KR102399508B1 (ko) 2022-05-19

Family

ID=72900564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210087974A KR102399508B1 (ko) 2020-07-13 2021-07-05 레이아웃 분석 방법, 판독 보조 장치, 회로, 및 매체

Country Status (5)

Country Link
EP (1) EP3940589B1 (ko)
JP (1) JP7132654B2 (ko)
KR (1) KR102399508B1 (ko)
CN (1) CN111832476A (ko)
WO (1) WO2022012121A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832476A (zh) * 2020-07-13 2020-10-27 上海肇观电子科技有限公司 版面分析方法、阅读辅助设备、电路和介质
US11367296B2 (en) 2020-07-13 2022-06-21 NextVPU (Shanghai) Co., Ltd. Layout analysis
CN113033338B (zh) * 2021-03-09 2024-03-29 太极计算机股份有限公司 电子报头版头条新闻位置识别方法及装置
CN114494711B (zh) * 2022-02-25 2023-10-31 南京星环智能科技有限公司 一种图像特征的提取方法、装置、设备及存储介质
CN114757144B (zh) * 2022-06-14 2022-09-06 成都数之联科技股份有限公司 图像文档的重建方法、装置、电子设备和存储介质
CN114998885A (zh) * 2022-06-23 2022-09-02 小米汽车科技有限公司 页面数据处理方法、装置、车辆及存储介质
CN116167143B (zh) * 2023-04-20 2023-08-15 江西少科智能建造科技有限公司 一种工位布置方法、系统、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081179A1 (en) * 2005-10-07 2007-04-12 Hirobumi Nishida Image processing device, image processing method, and computer program product
US20110222771A1 (en) * 2010-03-11 2011-09-15 Microsoft Corporation Page layout determination of an image undergoing optical character recognition
US20140257789A1 (en) * 2013-03-11 2014-09-11 Microsoft Corporation Detection and Reconstruction of East Asian Layout Features in a Fixed Format Document

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06215184A (ja) * 1992-09-17 1994-08-05 Fuji Facom Corp 抽出領域のラベリング装置
JP3683923B2 (ja) * 1994-11-17 2005-08-17 キヤノン株式会社 文字領域の順序付け方法
JP3940491B2 (ja) * 1998-02-27 2007-07-04 株式会社東芝 文書処理装置および文書処理方法
JP2004240643A (ja) 2003-02-05 2004-08-26 Toshiba Corp 文字認識システム、文字認識方法およびプログラム
JP2004272822A (ja) 2003-03-12 2004-09-30 Seiko Epson Corp 文字認識装置および文字認識方法並びにコンピュータプログラム
CN102479173B (zh) * 2010-11-25 2013-11-06 北京大学 识别版面阅读顺序的方法及装置
US20150212654A1 (en) * 2014-01-28 2015-07-30 Comikka, Inc. Architecture for providing dynamically sized image sequences
CN110969056B (zh) * 2018-09-29 2023-08-08 杭州海康威视数字技术股份有限公司 文档图像的文档版面分析方法、装置及存储介质
CN109934210B (zh) * 2019-05-17 2019-08-09 上海肇观电子科技有限公司 版面分析方法、阅读辅助设备、电路和介质
CN111340037B (zh) * 2020-03-25 2022-08-19 上海智臻智能网络科技股份有限公司 文本版面分析方法、装置、计算机设备和存储介质
CN111832476A (zh) * 2020-07-13 2020-10-27 上海肇观电子科技有限公司 版面分析方法、阅读辅助设备、电路和介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081179A1 (en) * 2005-10-07 2007-04-12 Hirobumi Nishida Image processing device, image processing method, and computer program product
US20110222771A1 (en) * 2010-03-11 2011-09-15 Microsoft Corporation Page layout determination of an image undergoing optical character recognition
US20140257789A1 (en) * 2013-03-11 2014-09-11 Microsoft Corporation Detection and Reconstruction of East Asian Layout Features in a Fixed Format Document

Also Published As

Publication number Publication date
CN111832476A (zh) 2020-10-27
WO2022012121A1 (zh) 2022-01-20
EP3940589A1 (en) 2022-01-19
JP2022017202A (ja) 2022-01-25
KR102399508B1 (ko) 2022-05-19
JP7132654B2 (ja) 2022-09-07
EP3940589B1 (en) 2023-10-25

Similar Documents

Publication Publication Date Title
KR102399508B1 (ko) 레이아웃 분석 방법, 판독 보조 장치, 회로, 및 매체
US10467466B1 (en) Layout analysis on image
US20210103695A1 (en) Object recognition and tagging based on fusion deep learning models
US20210133437A1 (en) System and method for capturing and interpreting images into triple diagrams
AU2018202767B2 (en) Data structure and algorithm for tag less search and svg retrieval
JPH0750483B2 (ja) 文書画像追加情報の蓄積方法
CN111126394A (zh) 文字识别方法、阅读辅助设备、电路和介质
WO2020248346A1 (zh) 文字的检测
CN111612004A (zh) 一种基于语义内容的图像裁剪方法及装置
US10621428B1 (en) Layout analysis on image
US11367296B2 (en) Layout analysis
CN111027551B (zh) 图像处理方法、设备和介质
CN113850239B (zh) 多文档检测方法、装置、电子设备及存储介质
KR20220027081A (ko) 텍스트 검출 방법, 판독 지원 디바이스 및 매체
CN113850238B (zh) 文档检测方法、装置、电子设备及存储介质
JP5794154B2 (ja) 画像処理プログラム、画像処理方法、及び画像処理装置
JPH08320914A (ja) 表認識方法および装置
KR101651842B1 (ko) 전자문서 레이아웃 생성 방법 및 장치
CN110969161B (zh) 图像处理方法、电路、视障辅助设备、电子设备和介质
CN112183253A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN113850805B (zh) 多文档检测方法、装置、电子设备及存储介质
CN113850268B (zh) 基于人工智能的文本识别排序方法、装置、设备及介质
JPH10222688A (ja) 画像処理方法
CN113392756A (zh) 图本识别方法及装置
CN116546265A (zh) 视频处理方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right