KR100612169B1 - 데이터베이스 주석 처리 및 검색 - Google Patents

데이터베이스 주석 처리 및 검색 Download PDF

Info

Publication number
KR100612169B1
KR100612169B1 KR1020037004522A KR20037004522A KR100612169B1 KR 100612169 B1 KR100612169 B1 KR 100612169B1 KR 1020037004522 A KR1020037004522 A KR 1020037004522A KR 20037004522 A KR20037004522 A KR 20037004522A KR 100612169 B1 KR100612169 B1 KR 100612169B1
Authority
KR
South Korea
Prior art keywords
data
node
block
phoneme
nodes
Prior art date
Application number
KR1020037004522A
Other languages
English (en)
Other versions
KR20030072327A (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 KR20030072327A publication Critical patent/KR20030072327A/ko
Application granted granted Critical
Publication of KR100612169B1 publication Critical patent/KR100612169B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/685Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using automatically derived transcript of audio data, e.g. lyrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7844Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터베이스 내의 데이터 파일을 주석 처리하기 위한 데이터 구조가 제공된다. 주석 데이터는, 원하는 정보를 찾기 위한 사용자의 입력 질의에 대한 응답하여, 데이터베이스 내의 데이터 파일을 신속하고 효율적으로 탐색할 수 있게 하는 음소 및 단어 격자(phoneme and word lattice)를 포함하고 있다. 음소 및 단어 격자는 시간순으로 정렬된(time-ordered) 복수의 노드 및 이 노드 사이에 연장되는 복수의 링크를 포함하고 있다. 각 링크는 그와 관련된 음소나 단어를 갖는다. 노드는 추가 데이터가 격자 내에 용이하게 부가될 수 있도록 시간순으로 정렬된 블록의 시퀀스로 배열된다.
데이터베이스, 데이터 파일, 주석 데이터, 음소, 단어, 음소 및 단어 격자, 노드, 링크

Description

데이터베이스 주석 처리 및 검색{DATABASE ANNOTATION AND RETRIEVAL}
본 발명은 데이터베이스에 저장되는 데이터 파일을 추후에 용이하게 검색하기 위하여 주석 처리하는 것에 관한 것이다. 본 발명은 또한 데이터 파일에 부가되는 주석 데이터를 생성하는 시스템 및 사용자의 입력 질의에 응답하여 데이터베이스 내의 주석 데이터를 탐색하여 원하는 데이터 파일을 검색하는 시스템에 관한 것이다. 본 발명은 또한 정렬되지 않은 노드와 링크의 리스트를 정렬되고 블록화된 노드와 링크의 리스트로 변환하는 시스템에 관한 것이다.
정보 데이터베이스는 잘 알려져 있으며, 데이터베이스로부터 원하는 정보를 신속하고 효율적으로 위치 파악하여 검색할 것인지에 대하여 어려움을 겪고 있다. 기존의 데이터베이스 검색 툴은 사용자가 키워드(keywords)를 타이핑 입력하여 데이터베이스를 검색하도록 하고 한다. 이것이 신속하고 효율적이기는 하지만, 이런 유형의 검색 방법은 비디오 또는 오디오 데이터베이스와 같은 다양한 종류의 데이터베이스에는 적합하지 않다.
본 발명의 일면에 따르면, 본 발명은 사용자의 입력 질의에 응답하여 신속하고 효율적으로 검색을 수행할 수 있도록 하는, 데이터베이스 내의 데이터 파일의 주석 처리를 위한 데이터 구조를 제공하는 것을 목적으로 한다.
본 발명의 다른 일면에 따르면, 본 발명은 데이터베이스 내에 저장되는 데이터 파일을 주석 처리하기 위한 주석 데이터로서 사용하기 위하여 음소 및 단어 격자(phoneme and word lattice)를 정의하는 데이터를 제공한다. 바람직하게는, 이 데이터는 복수의 노드와 이 노드를 연결하는 복수의 링크를 정의하며, 추가 데이터에 의해 복수의 음소를 복수의 링크에 각각 연관시키고, 추가 데이터에 의해 적어도 하나의 단어를 적어도 하나의 상기 링크에 연관시키며, 또한 추가 데이터에 의해 링크가 소정의 최대 수의 블록에 걸쳐서만 연장될 수 있도록 노드에 대한 블록 배열을 정의한다. 이 링크는 후속하는 블록에만 연장되는 것이 바람직하다.
본 발명의 또 다른 일면에 따르면, 본 발명은 데이터 파일을 주석 처리하기 위한 전술한 주석 데이터를 저장하고 있는 데이터베이스를 탐색하는 장치를 제공한다. 바람직하게는, 이 장치는 사용자의 질의나 입력에 응답하여 음소 데이터를 생성하고, 생성된 음소 데이터를 이용하여 데이터베이스를 탐색하도록 구성되어 있다. 또한, 사용자의 입력이나 질의로부터 단어 데이터가 생성되는 것이 바람직하다.
본 발명의 또 다른 일면에 따르면, 본 발명은 수신된 음소 및 단어 데이터에 대응하는 음소 및 단어 격자를 생성하는 장치를 제공하는데, 이 장치는, 복수의 링크 및 이들 링크가 그 사이에 연장되는 복수의 노드를 정의하는 수단, 이들 링크를 음소 또는 단어와 연관시키는 수단, 및 이들 노드를 동일 시퀀스에서 후속하는 소정의 최대 수의 블록까지만 연장되도록 시간순으로 정렬된 블록의 시퀀스로 배열하 는 수단을 구비하고 있다. 바람직하게는, 한 링크에 대하여 허용되는 최대 연장은 다음 블록까지이다. 또한, 이 장치는 격자를 형성해 감에 따라 노드 또는 링크를 증가시켜 부가하고 기존의 노드 블록을 적어도 2개의 노드 블록으로 분할하도록 구성되는 것이 바람직하다.
본 발명의 또 다른 일면에 따르면, 본 발명은 전술한 임의의 유형의 음소 및 단어 격자에 음소 또는 단어를 부가하는 장치를 제공하는데, 이 장치는, 링크가 한 블록으로부터 다른 블록으로 연장되도록 허용되는 정도에 따라서 현재의 음소 및 단어 격자를 정의하고 있는 데이터 중에서 어느 데이터가 수정되어야 하는지를 분석하도록 구성되어 있다. 바람직하게는, 이 분석은 선행하는 블록에서 시작된 링크가 연장을 종료하는 각 블록에서의 최종 노드를 식별하는 포인트와, 후속하는 블록으로 링크가 연장을 시작하는 각 블록에서의 최초 노드를 식별하는 포인트의 격자 내에서의 위치에도 좌우된다.
본 발명의 또 다른 일면에 따르면, 본 발명은 전술한 임의의 유형의 음소 및 단어 격자에 음소 또는 단어를 부가하는 방법을 제공하는데, 이 방법은, 링크가 한 블록으로부터 다른 블록으로 연장되도록 허용되는 정도에 따라서 현재의 음소 및 단어 격자를 정의하고 있는 데이터 중에서 어느 데이터가 수정되어야 하는지를 분석하는 단계를 포함하고 있다. 바람직하게는, 이 분석은 선행하는 블록에서 시작된 링크가 연장을 종료하는 각 블록에서의 최종 노드를 식별하는 각 포인트의 격자 내에서의 위치에도 좌우된다.
본 발명의 또 다른 일면에 따르면, 본 발명은 정렬되지 않은 노드 및 링크의 리스트를 정렬되고 블록화된 노드 및 링크의 리스트로 변환하는 방법 및 장치를 제공한다. 이 블록은 충전(filling) 및 분할(splitting)에 의해 형성된다. 즉, 한 블록이 가득 채워질 때까지 연속한 노드가 삽입되고, 그 다음에 새로운 블록이 시작된다. 이미 충만된 블록에 새로운 노드가 과충전되게 되면, 그 블록은 2개 이상의 블록으로 분할된다. 링크가 어느 블록에 속하게 되는지에 관한 규칙을 이용하여, 블록 분할 처리의 속도를 가속하고, 어느 노드가 기존 블록에 남아 있고 어느 노드가 새로운 블록에 들어가는지를 식별하는데 이용된다.
본 발명의 예시적인 실시예를 다음의 첨부 도면을 참조하여 이하에 설명한다.
도 1은 본 발명의 일 실시예를 구현하도록 프로그래밍된 컴퓨터의 개략도.
도 2는 데이터 파일에 부가되는 음소 및 단어 주석 데이터를 생성하도록 동작할 수 있는 음소 및 단어 주석 처리 유닛을 나타내는 블록도.
도 3은 음소 및 단어 주석 처리 유닛이 입력 비디오 데이터 파일로부터 주석 데이터를 생성하는 한 방법을 나타내는 블록도.
도 4a는 입력 비디오 데이터 파일로부터의 예시적인 오디오 스트링에 대한 음소 격자의 개략도.
도 4b는 입력 비디오 데이터 파일로부터의 예시적인 오디오 스트링에 대하여 본 발명의 일면을 구현하는 단어 및 음소 격자의 개략도.
도 5는 음성 질의에 의해 데이터베이스로부터 정보를 검색하도록 하는 사용 자 단말의 개략 블록도.
도 6은 한 쌍의 단어 및 음소 격자, 예컨대 2개의 화자로부터의 오디오 스트링의 개략도.
도 7은 사용자로부터의 오디오 신호 입력에 의해 생성된 주석 데이터로 데이터 파일을 주석 처리하도록 하는 사용자 단말을 나타내는 개략 블록도.
도 8은 데이터 파일을 주석 처리하기 위하여 사용자에 의한 예시적인 발성 입력에 대하여 생성되는 음소 및 단어 격자 주석 데이터의 개략도.
도 9는 사용자의 타이핑 입력에 의해 생성된 주석 데이터로 데이터 파일을 주석 처리하도록 하는 사용자 단말을 나타내는 개략 블록도.
도 10은 데이터 파일을 주석 처리하기 위하여 사용자의 타이핑 입력에 대하여 생성되는 음소 및 단어 격자 주석 데이터의 개략도.
도 11은 문서 주석 처리 시스템의 구성을 나타내는 개략 블록도.
도 12는 다른 문서 주석 처리 시스템의 개략 블록도.
도 13은 또 다른 문서 주석 처리 시스템의 개략 블록도.
도 14는 비디오 데이터 파일에 포함된 스크립트 데이터로부터 음소 및 단어 격자를 생성하는 방법을 나타내는 개략 블록도.
도 15a는 격자에서의 노드의 상대적인 타이밍을 나타내는 단어 및 음소 격자의 개략도.
도 15b는 블록으로 분할된 단어 및 음소 격자에서의 노드를 나타내는 개략도.
도 16a는 단어 및 음소 격자에서의 한 노드에 대응하는 데이터의 포맷을 나타내는 개략도.
도 16b는 단어 및 음소 격자를 정의하는 데이터 스트림을 나타내는 개략도.
도 17은 본 발명의 일 실시예에 따른 단어 및 음소 격자를 형성하는 과정을 나타내는 흐름도.
도 18a 내지 18h는 단어 및 음소 격자의 구축을 나타내는 개략도.
도 19a 내지 19h는 단어 및 음소 격자를 정의하는 데이터 스트림의 구축을 나타내는 개략도.
도 20a 내지 20c는 긴 링크의 삽입시에 단어 및 음소 격자의 갱신을 나타내는 개략도.
도 21a 내지 21d는 추가 노드의 삽입시에 단어 및 음소 격자의 갱신을 나타내는 개략도.
도 22는 오프셋을 조절하는 절차를 나타내는 흐름도.
도 23a 및 23b는 블록 분할 절차를 단어 및 음소 격자에 적용한 경우를 나타내는 개략도.
도 24는 음소 및 단어 주석 처리 유닛이 입력 비디오 데이터 파일로부터 주석 데이터를 생성하는 한 방법을 나타내는 블록도.
본 발명의 실시예들은 전용 하드웨어 회로를 이용하여 구현될 수 있지만, 후술하는 실시예는 퍼스널 컴퓨터, 워크스테이션, 복사기(photocopier), 팩시밀리, PDA(Personal Digital Assistant) 등과 같은 프로세싱 하드웨어와 함께 동작하는 컴퓨터 소프트웨어나 코드로 구현된다.
도 1은 본 발명의 일 실시예를 작동시키도록 프로그래밍된 퍼스널 컴퓨터(PC)(1)를 나타낸다. 키보드(3), 포인팅 장치(5), 마이크로폰(7) 및 전화선(9)이 인터페이스(11)를 통하여 PC(1)에 연결되어 있다. 키보드(3)와 포인팅 장치(5)는 시스템이 사용자에 의해 제어될 수 있게 한다. 마이크로폰(7)은 사용자로부터의 음향 음성 신호를 등가의 전기 신호로 변환하고 이를 프로세싱을 위하여 PC(1)에 공급한다. PC(1)가, 예컨대 원격지 사용자 또는 원격지 컴퓨터와 통신할 수 있도록, 내부 모뎀 및 음성 수신 회로(도시되지 않음)가 전화선(9)에 연결되어 있다.
본 발명에 따라 PC(1)를 작동시키는 프로그램 명령이, 예컨대 자기 디스크(13)와 같은 기억 장치에 공급되거나, 내부 모뎀 및 전화선(9)을 통하여 인터넷(도시되지 않음)으로부터 그 소프트웨어를 다운로드함으로써 공급되어 기존 PC(1)에서 이용할 수 있다.
데이터 파일 주석 처리
도 2는 본 실시예에서 음소 및 단어 주석 처리 유닛(25)에 의해 입력 데이터 파일(23)을 위한 주석 데이터가 생성되는 방법을 설명하는 블록도이다. 도시된 바와 같이, 생성된 음소 및 단어 주석 데이터(21)는 데이터 조합 유닛(27)에서 데이터 파일(23)과 조합된 다음, 조합된 데이터 파일 출력이 데이터베이스(29)에 입력 되게 된다. 본 실시예에서, 주석 데이터(21)는 사용자가 음성 질의에 의해 데이터베이스로부터 정보를 검색하도록 하는 조합된 음소(또는 음소와 유사한 것) 및 단어 격자를 포함하고 있다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 데이터 파일(23)은 비디오 파일, 오디오 파일, 멀티미디어 파일 등과 같은 임의의 종류의 데이터 파일일 수 있다.
비디오 데이터 파일로부터의 오디오 데이터를 자동 음성 인식 유닛에 통과시킴으로써 오디오 스트림에 대한 N개의 최상의 단어 리스트를 주석 데이터로서 생성하도록 하는 시스템이 제안되어 왔다. 그러나, 그러한 단어 기반 시스템은 많은 문제점을 가지고 있다. 그 문제점으로는, (ⅰ) 현 기술 수준의 음성 인식 시스템은 여전히 인식에 있어서 오류를 내포한다는 점, (ⅱ) 현 기술 수준의 자동 음성 인식 시스템은 약 20,000 내지 100,000 단어의 사전을 이용하며 그 어휘 이외의 단어를 생성할 수 없다는 점, (ⅲ) 생성된 N개의 최상의 리스트가 각 스테이지에서의 가설의 수에 따라 기하급수적으로 증가하여 긴 발성에 대해서는 주석 데이터가 굉장히 많아지는 결과를 초래한다는 것을 들 수 있다.
첫번째 문제점은, 동일한 자동 음성 인식 시스템을 이용하여 주석 데이터를 생성하고 이어서 대응하는 데이터 파일을 검색한다면, 동일한 디코딩 에러가 발생할 수 있기 때문에 그렇게 중요하지 않을 수 있다. 그러나, 자동 음성 인식 시스템이 매년 발전하고 있기 때문에, 장래에 동일한 유형의 에러가 발생하지 않게 된다면, 나중에는 대응하는 데이터 파일을 검색할 수 없게 될 수 있다. 두번째 문제점에 관하여는, 이것은, 사용자가 입력 질의어로서 이름 및 위치(음성 인식 사전에는 없을 수도 있음)를 이용하는 경향이 있기 때문에, 비디오 데이터 애플리케이션에서 특히 중요하다. 자동 음성 인식 시스템은, 이들 이름 대신에 통상적으로 어휘 외의 단어를 어휘 내의 발음이 유사한 단어(들)로 대체할 것이므로, 디코딩시에 오류를 일으키게 된다. 이것은 또한 다음의 요청시에 요구된 데이터 파일을 검색할 수 없는 결과를 초래할 수 있다.
반면에, 제안된 음소 및 단어 격자 주석 데이터를 이용하는 경우에는, 데이터베이스(29) 내의 단어 데이터를 이용하여 빠르고 효율적인 탐색을 수행할 수 있으며, 이것이 요구된 데이터 파일을 제공하지 못한다면, 보다 로버스트(robust)한 음소 데이터를 이용하여 추가 탐색을 수행할 수 있다. 음소 및 단어 격자는 단일 엔트리 포인트(entry point)와 단일 엑시트 포인트(exit point)를 갖는 비순환형의 방향성 그래프(acyclic directed graph)이다. 이것은 데이터 파일 내에서 그 오디오 스트림의 다른 문법적 관계(parses)를 나타낸다. 각각의 단어가 하나의 대체물로 치환될 필요가 없고, 하나의 단어가 2개 이상의 단어 또는 음소를 대신할 수 있으며, 전체 구조가 하나 또는 그 이상의 단어 또는 음소를 대신할 수 있기 때문에, 그것은 단순히 대체물을 갖는 단어의 시퀀스가 아니다. 따라서, 음소 및 단어 격자 내의 데이터 밀도는, 전술한 N개의 최상의 단어 리스트를 생성하는 방법의 경우에서와 같이 기하급수적으로 증가하지 않고, 본질적으로 음성 데이터 전반에 걸쳐서 선형성을 유지한다. 음성 인식 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 음소는 사전과는 독립적이며 시스템이 이름, 위치, 외국어 등의 어휘 외의 단어에 대처할 수 있도록 하기 때문에, 음소 데이터를 이용하는 것 이 보다 로버스트하다. 또한, 음소 데이터를 이용하는 것은 원래의 자동 음성 인식 시스템에서는 단어를 인식할 수 없었던 경우에도, 데이터베이스에 들어있는 데이터 파일을 검색할 수 있도록 하고 있기 때문에, 시스템을 장래에도 유효하게 사용할 수 있다.
이하, 도 3을 참조하여, 비디오 데이터 파일에 대하여 음소 및 단어 격자 주석 데이터를 생성하는 방법을 설명한다. 도시된 바와 같이, 비디오 데이터 파일(31)은, 비디오 시퀀스를 구성하는 이미지의 시퀀스를 정의하는 비디오 데이터(31-1) 및 비디오 시퀀스와 연관된 오디오를 정의하는 오디오 데이터(31-2)를 포함한다. 잘 알려진 바와 같이, 오디오 데이터(31-2)는 비디오 데이터(31-1)와 시간적으로 동기화되어, 사용시에 비디오 및 오디오 데이터 양자가 동시에 사용자에게 제공된다.
도 3에 나타낸 바와 같이, 본 실시예에서, 오디오 데이터(31-2)는 오디오 데이터(31-2)의 스트림에 대응하는 음소 격자를 생성하도록 작동될 수 있는 자동 음성 인식 유닛(33)에 입력된다. 이러한 자동 음성 인식 유닛(33)은 본 기술분야에서 통상적으로 이용 가능하므로 이에 대한 상세한 설명은 생략하기로 한다. 이런 유형의 음성 인식 시스템에 대한 추가적인 정보를 위해서는, 예컨대, Lawrence Rabiner와 Biing-Hwang Juang에 의해 쓰여진 "음성 인식의 기초(Fundamentals of Speech Recognition)"라는 책 중에서 특히 42페이지 내지 50페이지를 참조하기 바란다.
도 4a는 "... NOW IS THE WINTER OF OUR..."라는 구절에 대응하는 입력 오디 오에 대하여 음성 인식 유닛(33)에 의해 출력된 음소 격자 데이터의 형태를 나타낸다. 자동 음성 인식 유닛(33)은 이러한 입력 오디오 발성에 대응하는 많은 다른 가능한 음소 스트링을 식별한다. 예컨대, 음성 인식 시스템은 오디오 스트링 내의 첫번째 음소가 /m/ 또는 /n/이라고 인식한다. 간략히 설명하기 위하여, 첫번째 음소에 대한 대체물만이 나타나 있다. 음성 인식 분야에서 잘 알려진 바와 같이, 이들 다른 가능한 음소 스트링에 대해 음성 인식 유닛(33)은 가중치를 생성하여 부가함으로써, 음성 인식 유닛의 출력의 신뢰도를 나타내도록 할 수 있다. 예컨대, 음소 /n/에는 0.9의 가중치가 부가되고 음소 /m/에는 0.1의 가중치가 부가될 수 있으며, 이는 음성 인식 시스템이 오디오의 대응하는 부분이 음소 /n/을 나타낸다는 것을 상당히 확신하고 있지만 여전히 음소 /m/일 수도 있음을 나타낸다. 그러나, 본 실시예에서는, 이러한 음소의 가중치는 수행되지 않는다.
도 3에 나타낸 바와 같이, 자동 음성 인식 유닛(33)에 의해 출력된 음소 격자 데이터(35)는 음소 격자 데이터(35) 내의 가능 단어를 식별하도록 작동하는 단어 디코더(37)에 입력된다. 본 실시예에서, 단어 디코더(37)에 의해 식별된 단어는 음소 격자 데이터 구조에 결합된다. 예컨대, 도 4a에 나타낸 음소 격자에 대하여, 단어 디코더(37)는 단어 "NOW", "IS", "THE", "WINTER", "OF" 및 "OUR"를 식별한다. 도 4b에 나타낸 바와 같이, 이들 식별된 단어는 음성 인식 유닛(33)에 의해 출력된 음소 격자 데이터 구조에 더해져서, 주석 데이터(31-3)를 구성하는 음소 및 단어 격자 데이터 구조를 생성한다. 다음에, 이 주석 데이터(31-3)는 비디오 데이터 파일(31)과 조합되어 오그멘트된 비디오 데이터 파일(31')을 생성하게 되고 이 는 데이터베이스(29)에 저장되게 된다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 오디오 데이터(31-2)가 비디오 데이터(31-1)와 시간적으로 동기화되는 방식과 유사한 방식으로, 주석 데이터(31-3)도 대응하는 비디오 데이터(31-1) 및 오디오 데이터(31-2)와 시간적으로 동기화되고 연관됨으로써, 주석 데이터(31-3)의 대응 부분을 탐색하여 위치를 알아냄으로써 비디오 및 오디오 데이터의 원하는 부분을 검색할 수 있다.
본 실시예에서, 데이터베이스(29)에 저장된 주석 데이터(31-3)는 다음과 같은 일반 형태를 갖는다.
헤더(Header)
- 개시 시간
- 단어, 음소 및 그 혼합에 대한 플래그
- 메모리 내의 주석 데이터 블록의 위치를 소정의 시점에
연관시키는 시간 인덱스
- 이용되는 단어 세트(즉, 사전)
- 이용되는 음소 세트
- 음소 확률 데이터
- 어휘가 속하는 언어
블록(i) i = 0, 1, 2, .....
노드 Nj j = 0, 1, 2, .....
- 블록의 시작으로부터 노드의 시간 오프셋
- 음소 링크(k) k = 0, 1, 2, .....
노드 Nj와의 오프셋 = Nk - Nj
(Nk는 링크 k가 연장을 종료하는 노드)
또는 Nk가 블록(i+1)에 있는 경우
노드 Nj와의 오프셋 = Nk + Nb - Nj
(Nb는 블록(i) 내의 노드의 갯수)
링크(k)와 연관된 음소
- 단어 링크(l) l = 0, 1, 2, .....
노드 Nj와의 오프셋 = Nl - Nj
(Nj는 링크 l이 연장을 종료하는 노드)
또는 Nk가 블록(i+1)에 있는 경우
노드 Nj와의 오프셋 = Nk + Nb - Nj
(Nb는 블록(i) 내의 노드의 갯수)
링크(l)와 연관된 단어
헤더에서의 데이터의 개시 시간은 데이터의 전송 시간 및 날짜를 식별할 수 있다. 예컨대, 비디오 파일이 뉴스 방송이라면, 개시 시간은 정확한 방송 시간 및 방송된 날짜를 포함할 수 있다.
데이터베이스 내의 모든 데이터 파일이 전술한 조합된 음소 및 단어 격자 주석 데이터를 포함하는 것은 아니기 때문에, 주석 데이터가 단어 주석 데이터인지 음소 주석 데이터인지 아니면 양자가 혼합된 것인지를 식별하는 플래그가 제공되며, 이 경우에 다른 탐색 전략을 사용하여 이 주석 데이터를 탐색한다.
본 실시예에서, 주석 데이터는, 탐색이 주어진 오디오 데이터 스트림에 대한 주석 데이터의 중간으로 점프할 수 있도록, 블록들로 분할된다. 따라서, 헤더는 메모리 내의 주석 데이터 블록의 위치를 개시 시간과 블록의 시작에 대응하는 시간 사이의 소정의 시간 오프셋과 연관시키는 시간 인덱스를 포함한다.
헤더는 또한 이용되는 단어 세트(즉, 사전), 이용되는 음소 세트 및 어휘가 속하는 언어를 정의하는 데이터를 포함한다. 헤더는 또한 주석 데이터를 생성하는데 이용되는 자동 음성 인식 시스템의 상세 및 주석 데이터의 생성시에 이용된 임의의 적절한 세팅을 포함할 수 있다.
음소 확률 데이터는 자동 음성 인식 시스템과 같은, 주석 데이터를 생성하는 시스템에 대한 삽입, 삭제, 오인식 및 디코딩의 확률을 정의한다.
주석 데이터 블록은 헤더에 후속하여 위치하며, 그 블록의 노드 각각에 대하여, 그 블록의 시작으로부터의 노드의 시간 오프셋, 음소에 의해 그 노드를 다른 노드에 연결하는 음소 링크 및 단어에 의해 그 노드를 다른 노드에 연결하는 단어 링크를 식별하게 된다. 음소 링크 및 단어 링크는 각각 링크에 연관되어 있는 음소 또는 단어를 식별한다. 이들은 또한 현재 노드와의 오프셋을 식별한다. 예컨대, 노드 N50이 음소 링크에 의해 노드 N55로 링크되면, 노드 N50과의 오프셋은 5이다. 본 기술분야에서 통상의 지식을 가진 자라면 알 수 있는 바와 같이, 이와 같은 오프셋 지시를 이용함으로써 연속된 주석 데이터를 개별 블록들로 분할할 수 있게 된다.
자동 음성 인식 유닛이 음성 인식 유닛 출력의 신뢰도를 나타내는 가중치를 출력하도록 하는 실시예에서, 이들 가중치가나 신뢰도 스코어가 또한 데이터 구조 내에 포함될 수도 있다. 특히, 그 노드로의 도착 신뢰도를 나타내는 신뢰도 스코어가 각 노드에 대하여 제공되며, 음소 및 단어 링크는 각각 대응하는 음소 또는 단어에 주어진 가중치에 따른 전이(transition) 스코어를 포함한다. 그러면, 이들 가중치를 이용하여 낮은 신뢰도 스코어를 갖는 검색 결과(match)를 버림으로써 데이터 파일의 탐색 및 검색을 제어한다.
데이터 파일 검색
도 5는 데이터베이스(29)로부터 주석 처리된 데이터 파일을 검색하는데 이용할 수 있는 사용자 단말(59)의 구성을 나타내는 블록도이다. 이 사용자 단말(59)은, 예컨대, 퍼스널 컴퓨터, 휴대용(hand-held) 장치 등일 수 있다. 도시된 바와 같이, 본 실시예에서, 사용자 단말(59)은 주석 처리된 데이터 파일의 데이터베이스(29), 자동 음성 인식 유닛(51), 탐색 엔진(53), 제어 유닛(55) 및 디스플레이(57)를 포함하고 있다. 작동 시에는, 자동 음성 인식 유닛(51)은 마이크로폰(7) 및 입력선(61)을 통하여 수신된 사용자(39)로부터의 입력 음성 질의를 처리하고 이로부터 대응하는 음소 및 단어 데이터를 생성하도록 작동될 수 있다. 이 데이터는 또한 음소 및 단어 격자의 형태를 취할 수 있지만, 필수적인 것은 아니다. 다음에 이 음소 및 단어 데이터는 탐색 엔진(53)을 이용하여 데이터베이스(29)의 적절한 탐색을 개시하도록 작동하는 제어 유닛(55)에 입력된다. 다음에, 탐색 엔진(53)에 의해 생성된 탐색 결과가 제어 유닛(55)으로 다시 전송되며, 제어 유닛(55)에서는 탐색 결과를 분석하고 적절한 디스플레이 데이터를 생성하여 디스플레이(57)를 통하여 사용자에게 표시하게 된다. 실행될 수 있는 탐색 기술의 보다 세부적인 내용은 본 출원과 공동 계류중인 출원 PCT/GB00/00718 및 GB9925561.4에 개시되어 있으며, 그 내용은 본 발명에서 참조하고 있다.
다른 실시예
본 기술분야에서 통상의 지식을 가진 자라면 알 수 있는 바와 같이, 데이터베이스 내의 데이터 파일의 이러한 유형의 음소 및 단어 주석 처리는 사용자가 음성으로 데이터베이스를 탐색할 수 있게 하는 편리하고 강력한 방법을 제공한다. 도시된 실시예에서는, 단일 오디오 데이터 스트림이 주석 처리되어 사용자에 의한 후속 검색을 위해 데이터베이스 내에 저장되어 있다. 본 기술분야에서 통상의 지식을 가진 자라면 알 수 있는 바와 같이, 입력 데이터 파일이 비디오 데이터 파일에 해당하는 경우에, 데이터 파일 내의 오디오 데이터는 다른 화자에 대한 오디오 데이터를 포함하고 있는 것이 보통이다. 오디오 데이터에 대해 단일 스트림의 주석 데이터를 생성하는 대신에, 각 화자의 오디오 데이터에 대하여 별도의 음소 및 단어 격자 주석 데이터를 생성할 수 있다. 이것은, 음성 신호의 피치(pitch)나 다른 구별되는 특징으로부터, 각 화자에 대응하는 오디오 데이터를 식별한 다음, 다른 화자들의 오디오를 별도로 주석 처리함으로써 달성될 수 있다. 이것은 또한, 오디오 데이터가 스테레오로 기록되어 있거나 수개의 마이크로폰을 이용하여 오디오 데이터를 생성한 경우에는, 오디오 데이터를 처리하여 각 화자에 대한 데이터를 추출할 수 있게 됨으로써 달성될 수 있다.
도 6은 제1 화자가 단어 "... THIS SO"를 발성하고 제2 화자가 "YES"라고 응답하고 있는 실시예에서의 주석 데이터의 형태를 나타낸다. 도시된 바와 같이, 다른 화자들의 오디오 데이터에 대한 주석 데이터는 서로 시간적으로 동기화되어 있으며, 주석 데이터도 여전히 데이터 파일 내의 비디오 및 오디오 데이터에 시간적으로 동기화되어 있다. 이 실시예에서, 데이터 구조 내의 헤더 정보는 주석 데이터 내의 다른 화자들의 리스트, 및 화자 각각에 대한 화자의 언어, 액센트, 말씨(dialect) 및 표음(phonetic) 세트를 정의하는 데이터를 포함하는 것이 바람직하며, 각 블록은 그 블록 내에서 존재하는(active) 화자들을 식별하여야 한다.
전술한 실시예에서, 음성 인식 시스템을 이용하여 데이터베이스 내의 데이터 파일을 주석 처리하기 위한 주석 데이터를 생성하였다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 다른 기술을 이용하여 주석 데이터 를 생성할 수도 있다. 예컨대, 인간 오퍼레이터가 오디오 데이터를 듣고 표음 및 단어의 전사본(transcription)을 생성하여 주석 데이터를 수동으로 생성할 수도 있다.
전술한 실시예에서, 데이터 파일 자체에 저장된 오디오로부터 주석 데이터를 생성하였다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 다른 기술을 이용하여 주석 데이터를 입력할 수도 있다. 도 7은 데이터베이스(29)에 저장될 데이터 파일(91)을 주석 처리하기 위하여 사용자가 마이크로폰(7)을 통하여 음성 주석 데이터를 입력할 수 있게 하는 사용자 단말(59)의 구성을 나타낸다. 본 실시예에서, 데이터 파일(91)은, 예컨대, 카메라에 의해 생성된 2차원 이미지를 포함하고 있다. 사용자 단말(59)은 사용자(39)가 적절한 주석으로 2차원 이미지를 주석 처리하여, 추후에 데이터베이스(29)로부터 2차원 이미지를 검색하는데 이용할 수 있도록 한다. 본 실시예에서, 입력 음성 주석 신호는 자동 음성 인식 유닛(51)에 의해 음소 및 단어 주석 데이터로 변환되어, 제어 유닛(55)으로 전달되게 된다. 제어 유닛(55)은, 사용자의 입력에 응답하여, 데이터베이스(29)로부터 적절한 2차원 파일을 검색하고 그 데이터 파일(91)에 음소 및 단어 주석 데이터를 부가한다. 다음에, 오그멘트된 데이터 파일이 데이터베이스(29)로 복귀된다. 이러한 주석 처리 단계 중에, 제어 유닛(55)은, 주석 데이터가 올바른 데이터 파일(91)과 연관되어 있음을 사용자가 확인할 수 있도록, 디스플레이(57)상에 2차원 이미지를 표시하도록 작동될 수 있다.
자동 음성 인식 유닛(51)은, (ⅰ) 입력 발성에 대하여 음소 격자를 생성하 고, (ⅱ) 음소 격자 내의 단어를 식별하며, (ⅲ) 마지막으로 그 둘을 조합함으로써, 음소 및 단어 격자 주석 데이터를 생성한다. 도 8은 입력 발성 "PICTURE OF THE TAJ-MAHAL"에 대하여 생성된 음소 및 단어 격자 주석 데이터의 형태를 나타낸다. 도시된 바와 같이, 자동 음성 인식 유닛은 이 입력 발성에 대응하는 많은 다른 가능한 음소 스트링을 식별한다. 도 8에 나타낸 바와 같이, 자동 음성 인식 유닛(51)이 음소 격자 내에서 식별한 단어는 음소 격자 데이터 구조에 병합된다. 도시된 바와 같이, 예시한 구절에 대하여, 자동 음성 인식 유닛(51)은 단어 "PICTURE", "OF", "OFF", "THE", "OTHER", "TA", "TAR", "JAM", "AH", "HAL", "HA" 및 "AL"을 식별한다. 다음에, 제어 유닛(55)은 이 주석 데이터를 2차원 이미지 데이터 파일(91)에 부가하고 데이터베이스(29)에 저장되도록 한다.
본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 본 실시예는, 예컨대, NMR 스캔, 초음파 스캔 등의 3D 비디오와 환자의 x-레이와 같은 임의의 종류의 이미지를 주석 처리하는데 이용될 수도 있다. 또한, 본 실시예는 오디오 데이터 또는 지진 데이터와 같은 1차원 데이터를 주석 처리하는데 이용될 수도 있다.
전술한 실시예에서, 데이터 파일이 음성 주석으로부터 주석 처리되었다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 주석을 입력하는데 다른 기술이 이용될 수도 있다. 예컨대, 도 9는 사용자가 데이터베이스(29)에 저장되어야 할 데이터 파일(91)을 주석 처리하기 위하여 키보드(3)를 통하여 타이핑된 주석 데이터를 입력할 수 있게 하는 사용자 단말(59)의 구성을 나타낸다. 본 실시예에서, 타이핑 입력은 표음(phonetic) 전사 유닛(75)에 의해 제어 유닛(55)으로 전달되는 음소 및 단어 격자 주석 데이터(도시되지 않은 내부 표음 사전을 이용함)로 변환된다. 사용자의 입력에 응답하여, 제어 유닛(55)은 데이터베이스(29)로부터 적절한 2차원 파일을 검색하고 그 데이터 파일(91)에 음소 및 단어 주석 데이터를 부가한다. 그러면, 이 오그멘트된 데이터 파일은 데이터베이스(29)로 복귀된다. 이러한 주석 처리 단계중에, 제어 유닛(55)은, 주석 데이터가 올바른 데이터 파일(91)에 연관되어 있음을 사용자가 확인할 수 있도록, 디스플레이(57)에 2차원 이미지를 표시하도록 작동한다.
도 10은 입력 발성 "PICTURE OF THE TAJ-MAHAL"에 대하여 생성된 음소 및 단어 격자 주석 데이터의 형태를 나타낸다. 도 2에 나타낸 바와 같이, 음소 및 단어 격자는 하나의 엔트리 포인트와 하나의 엑시트 포인트를 갖는 비순환형의 방향성 그래프이다. 이것은 사용자의 입력의 다른 문법적 관계를 나타낸다. 도시된 바와 같이, 표음 전사 유닛(75)은 타이핑 입력에 대응하는 많은 다른 가능한 음소 스트링을 식별한다.
도 11은 문서 주석 처리 시스템을 나타내는 블록도이다. 특히, 도 11에 나타낸 바와 같이, 텍스트 문서(101)는 문서 스캐너(103)에 의해 이미지 데이터 파일로 변환된다. 그러면, 이미지 데이터 파일은 문서(101)의 이미지 데이터를 전자 텍스트로 변환하는 광학 문자 인식(OCR) 유닛(105)으로 전달된다. 다음에, 이 전자 텍스트는 표음 전사 유닛(107)으로 공급되어, 표음 전사 유닛(107)에 의해 음소 및 단어 주석 데이터(109)를 생성하게 되고, 생성된 데이터(109)는 스캐너(103)에 의해 출력된 이미지 데이터에 부가되어 데이터 파일(111)을 생성하게 된다. 도시된 바와 같이, 그 후, 데이터 파일(111)은 후속 검색을 위하여 데이터베이스(29)에 저장된다. 본 실시예에서, 주석 데이터(109)는 전술한 조합된 음소 및 단어 격자를 포함하게 되어, 추후에 사용자가 음성 질의에 의해 데이터베이스(29)로부터 데이터 파일(111)을 검색할 수 있게 한다.
도 12는 도 15에 나타낸 문서 주석 처리 시스템에 대한 수정예를 나타낸다. 도 16에 나타낸 시스템과 도 11에 나타낸 시스템 사이의 차이점은 스캐너(103)에 의해 출력된 이미지 데이터가 아니라 광학 문자 인식 유닛(105)의 출력을 이용하여 데이터 파일(113)을 생성한다는 점이다. 도 12에 나타낸 나머지 시스템은 도 11에 나타낸 것과 동일하므로 추가적인 설명은 생략한다.
도 13은 도 11에 나타낸 문서 주석 처리 시스템에 대한 다른 수정예를 나타낸다. 도 13에 나타낸 실시예에서, 입력 문서는 스캐너(103)가 아니라 팩시밀리 유닛(115)에 의해 수신된다. 다음에, 팩시밀리 유닛에 의해 출력된 이미지 데이터는 도 11에 나타낸 스캐너(103)에 의해 출력된 이미지 데이터와 동일한 방식으로 처리되므로, 이에 대한 설명은 생략한다.
전술한 실시예에서, 표음 전사 유닛(107)을 이용하여 이미지 또는 텍스트 데이터를 주석 처리하기 위한 주석 데이터를 생성하였다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 다른 기술도 이용될 수 있다. 예컨대, 인간 오퍼레이터가 문서 자체의 이미지로부터 이 주석 데이터를 수동으로 생성할 수도 있다.
제1 실시예에서, 데이터 파일(31)로부터의 오디오 데이터는 음소 주석 데이터를 생성하기 위하여 자동 음성 인식 유닛을 통과하였다. 어떤 상황에서는, 오디오 데이터의 전사본이 데이터 파일에 존재하는 경우도 있다. 그러한 실시예가 도 14에 나타나 있다. 이 실시예에서, 데이터 파일(81)은 비디오 필름 내의 여러 배우에 대한 라인(lines)을 정의하는 비디오 데이터(81-1), 오디오 데이터(81-2) 및 스크립트 데이터(81-3)를 갖는 디지털 비디오 파일을 나타낸다. 도시된 바와 같이, 스크립트 데이터(81-3)는 단어를 가능한 음소의 시퀀스로 번역하는 저장된 사전을 이용하여 음소 격자 데이터(85)를 생성하는 텍스트-음소 변환기(83)를 통과한다. 다음에, 이 음소 격자 데이터(85)는 스크립트 데이터(81-3)와 조합되어 전술한 음소 및 단어 격자 주석 데이터(81-4)를 생성한다. 다음에, 이 주석 데이터는 데이터 파일(81)에 부가되어 오그멘트된 데이터 파일(81')을 생성하게 되고, 이는 데이터베이스(29)에 추가되게 된다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 본 실시예는, 스크립트 데이터는 보통 누가 말하고 있는지를 나타내는 지시를 포함하고 있기 때문에, 비디오 데이터 파일 내의 다른 화자들에 대한 음소 및 단어 격자 주석 데이터를 용이하게 분리하여 생성할 수 있도록 한다. 또한, 자동 음성 인식 시스템(도시되지 않음)을 이용하여 스크립트 데이터와 오디오 데이터를 강제적으로 시간 정렬시킴으로써, 음소 및 단어 격자 주석 데이터와 비디오 및 오디오 데이터를 동기화시킬 수 있다.
전술한 실시예에서, 음소(또는 음소와 유사한 것) 및 단어 격자를 이용하여 파일을 주석 처리하였다. 음성 인식 및 음성 처리의 분야에서 통상의 지식을 가진 자라면 알 수 있는 바와 같이, 상세한 설명 및 청구범위에서의 단어 "음소(phoneme)"는 그 언어학적인 의미에 제한되는 것이 아니라, 음소, 음절, 가타카나(일본 알파벳) 등과 같이 표준 음성 인식 시스템에서 식별되고 이용되는 다양한 단어 이하의 단위를 포함하는 것이다.
격자의 생성
전술한 실시예에서, 도 4b에 나타낸 음소 및 단어 격자 데이터 구조의 생성이 도 3을 참조하여 설명되었다. 노드의 블록으로의 바람직한 분할을 포함하는 이러한 데이터 구조의 바람직한 형태를 도 15 내지 도 17을 참조하여 이하에 설명한다. 그 후에, 바람직한 데이터 구조를 생성하는 한 방법을 도 18 내지 도 22를 참조하여 설명한다.
도 15a는 본 예에서 제1 노드가 0.10초의 시간에 일어나도록 설정된, 공통 제로 시간(common zero time)에 대한 격자의 각 노드의 타이밍을 나타낸다. 도 15a는 개략적으로 나타낸 것이므로 시간 축이 선형적으로 표현되지는 않음에 유의한다.
본 실시예에서, 노드들은 도 15b에 나타낸 바와 같은 3개의 블록으로 분할된다. 본 실시예에서, 노드와 블록의 구분은 블록 마커(marker) 또는 플래그(202, 204, 206, 208)에 의해 실현된다. 블록 마커(204, 206, 208)는 블록의 최종 노드 바로 뒤에 위치하지만, 설명의 명확화를 위하여 도 15b에서는 다소 이격되어 나타나 있다. 블록 마커 204는 블록 0의 끝과 블록 1의 시작을 표시하고, 이와 유사하 게 블록 마커 206은 블록 1의 끝과 블록 2의 시작을 표시한다. 블록 마커 208은 격자의 끝에 있으며, 따라서 블록 2의 끝을 지시할 뿐이다. 블록 마커 202는 블록 0의 시작의 구분을 제공하기 위하여 시각 t=0.00초에 구성된다. 본 실시예에서, 블록 0은 5개의 노드를 갖고, 블록 1도 5개의 노드를 가지며, 블록 2는 7개의 노드를 갖는다.
각 노드의 시간은 해당 블록의 시작 시간과 관련하여 제공된다. 이것은 블록 0의 노드의 타이밍에 영향을 주지 않는다. 그러나, 다음 블록의 경우에는 새로운 오프셋 타이밍은 도 15a에서의 각 노드의 절대적인 관련 타이밍과는 다르다. 본 실시예에서, 블록 0 이외의 각 블록에 대한 시작 시간은 선행하는 블록의 최종 노드의 시간이 되도록 취해진다. 예컨대, 도 15a에서, 음소 /ih/와 /z/ 사이의 노드가 0.71초에서 발생하며 블록 1의 최종 노드라는 것을 알 수 있다. 도 15a로부터, 그 뒤의 노드, 즉 음소 /z/와 음소 /dh/ 사이의 노드가 0.71초보다 0.23초 후인 0.94초에서 발생함을 알 수 있다. 그 결과, 도 15b에 나타낸 바와 같이, 블록 1의 최초 노드의 오프셋 시간은 0.23초임을 알 수 있다.
전체 격자의 시작으로부터가 아닌 각 블록의 시작과 관련하여 정해진 오프셋 시간을 이용함으로써 다음과 같은 동적 범위에 대한 잇점을 제공한다. 격자의 총 시간이 증가함에 따라, 격자 구조에 타이밍 값을 기록하는데 이용된 데이터 유형의 동적 범위는 증대될 필요가 있으며, 따라서 많은 양의 메모리를 소비하게 될 것이다. 그 길이가 알려지지 않은 데이터 파일에 대하여 이러한 격자 구조가 제공되어, 예컨대 공통 격자 구조를 이용하여 1분짜리 TV 상업용 광고나 여러 시간 지속 되는 영화 또는 TV 프로그램을 주석 처리하는 경우에는 이러한 문제는 더욱 악화된다. 반면에, 블록으로 분할된 격자 구조에 있어서는, 단일 블록의 최대 기대 시간 오프셋을 구하는 것만으로, 블록으로 분할된 격자 구조에 대한 대응하는 데이터 유형의 동적 범위가 상당히 감소하며, 또한 이것은 데이터 파일의 총 지속 시간에 관계없이 동일하게 유지된다. 본 실시예에서, 채용된 데이터 유형은 정수의 각 값이 100분의 1초 단위로 측정된 오프셋 시간을 나타내는 정수 값을 제공한다.
도 15b는 또한 알파(α) 및 베타(β)로 식별된 격자 구조의 소정의 부분을 나타낸다. 이들 항목의 의미는 나중에 설명한다.
바람직한 형태의 음소 및 단어 격자 데이터 구조에서 각 노드에 대하여 데이터가 유지되는 포맷을 도 16a를 참조하여 이하에 설명하며, 여기서는 격자의 최초 노드에 대한 데이터의 포맷을 예로서 나타내고 있다. 이 특정 노드의 포맷은 7개의 데이터 성분(210, 212, 214, 216, 218, 220, 222)의 형태로 되어 있다.
제1 데이터 성분(210)은 블록의 시작으로부터의 노드의 시간 오프셋을 특정한다. 본 예에서, 그 값은 0.10초이고, 전술한 정수 데이터 유형에 의해 구현된다.
제2 데이터 성분(212)은 최초 노드로부터 연장되는 도 15a 및 15b에 나타나 있는 단어 링크 "NOW"를 나타낸다. 제3 데이터 성분은 선행 링크, 즉 단어 링크 "NOW"의 노드 오프셋을 특정하는데, 이는 선행 링크가 연장하는 노드의 갯수를 의미한다. 도 15a 및 15b를 참조하면, 단어 링크 "NOW"가 연장을 종료하는 노드는 상기 링크가 연장을 시작하는 노드로부터의 세번째 노드이며, 따라서 값 003에 의 해 도 16a에 도식적으로 나타낸 바와 같이 노드 오프셋은 3임을 알 수 있다. 본 실시예에서, 노드 오프셋 값을 구현하는데 채용된 데이터 유형도 정수 값을 제공하는 것이다.
제4 데이터 성분(216)은 첫번째 노드로부터 두번째 노드로 연장되는 음소 /n/을 나타내며, 따라서 링크의 노드 오프셋이 1임을 의미하게 되어, 도 16a에 나타낸 바와 같이 제5 데이터 성분(218)이 값 001을 갖게 된다. 이와 유사하게, 제6 데이터 성분(220)은 음소 링크 /m/를 나타내며, 제7 데이터 성분(222)은 그 링크의 노드 오프셋이 1이며 001로서 표현된다.
데이터 성분(212, 216, 220)이 그들의 링크와 연관된 각각의 단어 또는 음소를 나타내는 방식은 임의의 적절한 방식으로 구현될 수 있다. 본 실시예에서, 데이터 성분(212, 216, 220)은 단어 인덱스 엔트리 값(단어 링크의 경우)이나 음소 인덱스 엔트리 값(음소 링크의 경우)에 대응하는 정수 값으로 구성된다. 인덱스 엔트리 값은 필요에 따라 단어나 음소의 리스트를 포함하고 있는 대응하는 단어 또는 음소 인덱스에서의 엔트리를 식별하는 작용을 한다. 본 실시예에서, 대응하는 단어 또는 음소 인덱스는 전술한 주석 데이터(31-3)의 헤더부에 유지된다. 다른 실시예에서는, 헤더 자체는 하나 또는 그 이상의 단어 또는 음소 인덱스를 저장하고 있는 별도의 데이터베이스에 대한 추가적인 상호 참조 식별(identification)만을 포함하도록 구성할 수도 있다.
일반적으로, 도 16a의 데이터 포맷에서 소정 노드에 대응하는 다른 링크들이 임의의 원하는 관련 순서로 구성될 수 있다. 그러나, 본 실시예에서는, 최대 노드 오프셋을 갖는 단어 또는 음소 링크, 즉 "최장" 링크가 그 시퀀스에서 선두에 위치하는 바람직한 순서가 채용된다. 따라서, 이 경우에, "최장" 링크는 노드 오프셋이 3인 단어 링크 "NOW"이며, 따라서 노드 오프셋 1을 갖는 "더 짧은" 음소 링크 /n/ 및 /m/의 앞에 구성된다. 이러한 바람직한 구성의 잇점을 이하에 설명한다.
도 16a에 나타낸 형태에서, 각 노드에 대한 데이터는 시간순으로 정렬된 시퀀스로 배열되어 전체 격자(헤더를 제외함)를 정의하는 데이터 스트림을 구성한다. 도 15b에 나타낸 격자에 대한 데이터 스트림이 도 16b에 나타나 있다. 도시된 바와 같이, 이 데이터 스트림은 그들 뒤에 있는 데이터 성분이 다음의 개별 노드를 참조하도록 식별하는 노드 플래그로서 작용하는 데이터 성분(225 내지 241)을 추가적으로 포함한다. 데이터 스트림은 또한 도 15b를 참조하여 전술한 블록 마커(202, 204, 206, 208)를 각각 구현하는 데이터 성분(244, 246, 248, 250)을 포함한다.
이전에, 도 4b를 참조하여, 본 격자 데이터 구조의 블록 배열의 첫번째 잇점, 즉 소정의 오디오 데이터 스트림에 대하여 주석 데이터의 중간으로 점프하여 탐색할 수 있게 한다는 것을 설명하였다. 이 때문에, 도 4b를 참조하여 설명한 헤더는 메모리 내의 주석 데이터 블록의 위치를 시작 시간 및 블록의 시작에 대응하는 시간 사이의 주어진 시간 오프셋과 연관시키는 시간 인덱스를 포함하고 있다. 도 15b를 참조하여 설명한 바와 같이, 본 실시예에서 주어진 블록의 시작에 대응하는 시간은 주어진 블록에 선행하는 블록의 최종 노드의 시간이다.
그러나, 도 15b에 나타낸 블록 배열은 후술하는 추가적인 특징 및 잇점을 나 타낸다. 단어 또는 음소 링크가 블록간에 연장되도록 허용되는 정도에 따라 블록이 정해진다. 예컨대, 본 실시예에서의 블록의 위치는 바로 이웃하는 블록 이외의 다른 블록으로 링크가 연장해서는 안된다는 기준을 따른다. 블록 0의 노드를 살펴보면, 도 15b에서, 예컨대 음소 링크 /n/, /m/, /oh/, /w/ 및 /ih/와 단어 링크 "NOW"는 그 소스 노드가 위치하는 동일 블록 내에서만 연장되며, 이는 기준에 의해 허용되는 것이며, 음소 링크 /z/와 단어 링크 "IS"는 각각 블록 0으로부터 블록 1, 즉 바로 이웃하는 블록으로 연장되며, 이 역시 기준에 의해 허용되는 것임을 알 수 있다. 그러나, 블록 2로 연장되는 링크는 블록 0의 바로 이웃하는 블록(즉, 블록 1)을 넘어서 연장해야 하므로, 이러한 링크는 기준에 의해 허용되지 않는다.
전술한 기준을 따르도록 구현된 블록들은 다음의 잇점들을 제공한다. 나중에 추가 데이터가 음소 및 단어 격자 구조에 삽입되려면, 이것은 하나 또는 그 이상의 추가 노드의 삽입을 포함할 수 있다. 이 경우에, 새로 삽입된 노드를 그 기존 링크가 연장되는 노드의 갯수의 카운트에 포함시킬 필요가 있으므로, 새롭게 삽입된 노드를 "지나가는" 임의의 기존 링크는 그 노드 오프셋을 1만큼 증가시킬 필요가 있다. 예컨대, 새로운 노드가 0.50초의 시간에 블록 2에 삽입되면, 도 15b에서, 0.47초의 노드로부터 0.55초의 노드로 연장되는 음소 링크 /v/는 그 원래 값인 1이 아니라 2의 노드 오프셋 값을 얻게 되며, 마찬가지로 0.34초의 노드로부터 0.52초의 노드로 연장되는 단어 링크 "OF"는 원래의 노드 오프셋 값인 2가 3의 노드 오프셋으로 증가된다는 것을 알 수 있다. 도 16b에 나타낸 데이터 스트림으로 표현하면, 원래 001의 값을 보이는 데이터 성분(252)은 002의 값으로 변경될 필요 가 있으며, 그 원래 값이 002인 데이터 성분(254)은 그 값이 003으로 변경될 필요가 있다.
이러한 추가적인 노드의 삽입 및 그에 따른 노드 오프셋 변경의 처리 중에는, 선행 기존 노드를 분석하여 이들 중 어느 노드가 새롭게 삽입된 노드를 넘어 연장할 정도로 충분히 큰 노드 오프셋을 갖는가를 판정하기 위하여, 새롭게 삽입된 노드의 포인트로부터 격자 데이터 구조를 재탐색할 필요가 있다. 본 기준에 따라 구성된 격자 데이터 구조의 블록의 잇점은 분석이 필요한 선행 기존 노드의 갯수를 감소시킨다는 점이다. 보다 상세하게는, 노드가 삽입되는 동일 블록 내에서 삽입된 노드에 선행하는 노드들과 새로운 노드가 삽입된 블록에 바로 선행하는 이웃 블록 내의 노드들만을 분석하면 된다. 예컨대, 새로운 노드가 0.50초에서 블록 2에 삽입된다면, 새롭게 삽입된 노드에 선행하는 블록 2 내의 4개의 기존 노드와 블록 1의 5개의 노드만을 분석하면 된다. 전술한 블록 기준에 의하면 블록 0의 노드는 탐색할 필요가 없다.
이러한 잇점은 격자의 길이가 증가하고 형성된 블록의 수가 증가함에 따라 점점 더 유익하게 된다. 또한, 그 잇점은 새로운 노드를 완성된 격자에 삽입하는 경우뿐만 아니라, 격자를 구성하는 진행 절차 중에도 적용될 수 있으며, 이는 노드들이 반드시 엄격한 시간순으로 격자에 삽입될 필요가 없는 경우에도 발생할 수 있다.
또한, 링크가 이웃하는 블록으로 연장하도록 하는 기준을 특정하여 선택하도록 할 수 있으며, 예컨대, 링크의 연장을 4개의 블록까지만 허용하도록 하여, 이 때 최대 4개의 블록만을 재탐색하도록 기준을 변경할 수도 있다. 이것은 큰 격자, 특히 수백 또는 수천개의 블록을 갖는 격자의 경우에 요구되는 처리 레벨을 감소시킨다는 점에서 여전히 중요한 잇점을 제공한다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 기준의 제한으로서 적절한 수의 블록이 선택될 수 있으며, 단지 재탐색될 블록의 수를 적당히 적응시킬 필요가 있을 뿐이다.
본 실시예의 격자 데이터 구조는 단어 또는 음소 링크의 이웃하는 블록으로의 연장에 관계된 더 바람직한 개량을 포함한다. 특히, 격자 데이터 구조는 각 블록의 2개의 특징적 포인트를 특정하는 데이터를 더 포함한다. 각 블록의 2개의 특징적 포인트는 도 15b에서 알파(α)와 베타(β)로서 나타나 있다.
주어진 블록에 대한 베타는 선행하는 블록으로부터 시작된 임의의 링크가 연장을 종료하는 주어진 블록 내의 최종 노드의 시간으로서 정의된다. 따라서, 블록 1의 경우에, 블록 1의 첫번째 노드보다 더 연장되는 블록 0에서 시작된 링크는 없기 때문에, 베타는 그 블록 내의 첫번째 노드(즉, 음소 링크 /z/와 단어 링크 "IS"가 연장을 종료하는 노드)에 위치한다. 블록 2의 경우에, 단어 링크 "WINTER"가 블록 1로부터 그 노드까지 연장되기 때문에, 베타는 세번째 노드에 위치한다. 격자 구조의 첫번째 블록, 즉 블록 0의 경우에, 그 블록으로 연장되는 링크는 원래 없다. 그러므로, 이 블록에 대한 베타는 격자의 시작 전에 발생하는 것으로서 정의된다.
주어진 블록에 대한 알파는 링크가 다음 블록으로 연장하기 시작하는, 주어진 블록 내의 최초 노드의 시간으로서 정의된다. 블록 0의 경우, 2개의 링크, 즉 단어 링크 "IS" 및 음소 링크 /z/가 블록 1로 연장한다. 이들 중에서, 단어 링크 "IS"가 연장되기 시작하는 노드가 음소 링크 /z/가 연장되기 시작하는 노드보다 블록 0 내에서 더 앞에 있고, 따라서 알파는 단어 링크 "IS"가 연장되기 시작하는 노드에 위치한다. 이와 유사하게, 블록 1에 대한 알파는 단어 링크 "WINTER"가 시작되는 노드에 위치한다. 격자의 최종 블록의 경우, 블록 2의 경우, 임의의 다른 블록으로 연장되는 링크는 원래 없으며, 따라서 알파는 특별히 그 블록의 최종 노드에 위치하는 것으로 정의된다. 따라서, 개념적으로, 베타는 블록 내의 최종 포인트로서, 그 앞에는 선행하는 블록과 상호 작용하는 노드가 존재하고 있음을 나타내며; 알파는 블록 내의 최초 포인트로서, 그 뒤에는 후속하는 블록과 상호 작용하는 노드가 존재하고 있음을 나타낸다.
본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 특정 노드의 식별 또는 시간의 관점에서의 특정에 의하여 알파 및 베타 각각이 특정될 수 있다. 본 실시예에서는, 노드에 의해 식별이 특정된다. 격자 데이터 구조 내의 알파 및 베타를 특정하는 데이터는 많은 다른 방식으로 저장될 수 있다. 예컨대, 도 16b에 나타낸 유형의 데이터 성분에 그 데이터 스트림 내의 적절한 위치에 플래그 또는 마커(marker)를 포함시켜 구성할 수도 있다. 그러나, 본 실시예에서는, 개별 노드의 ID를 격자 데이터 구조의 헤더부의 룩업(look-up) 테이블에 저장함으로서 포인트가 특정된다.
각 블록에 대한 알파 및 베타의 특정은 먼저 새로운 노드가 삽입되는 경우 격자 내의 선행 노드의 노드 오프셋을 분석하는데 확실한 잇점을 제공한다. 특히, 주어진 블록의 베타 뒤의 위치에 새로운 노드가 삽입되면, 그 주어진 블록 내의 선행 노드만을 분석하면 되며, 그 주어진 블록에 선행하는 블록 내의 노드들은 분석할 필요가 없다. 이것은, 베타의 위치가 임의의 링크가 선행하는 블록으로부터 연장되는 최대 정도를 정의하고 있으므로, 주어진 블록 내의 베타 뒤에 있는 새로 삽입된 노드에 의해서는, 정의에 의해 선행하는 블록으로부터 새로 삽입된 노드를 넘어 연장되는 링크가 없다는 것을 이미 알고 있기 때문이다. 따라서, 선행하는 블록의 임의의 노드를 탐색하여 분석할 필요가 없게 되며, 이는 블록의 평균 크기가 증가함에 따라 특히 유리하다. 이와 달리, 새로운 노드가 주어진 블록에 삽입되어 그 주어진 블록의 베타 앞의 위치에 위치하게 되면, 선행하는 블록 내의 알파 또는 그 다음의 노드만이 아니라, 선행하는 블록으로부터 시작되는 링크도 고려할 필요가 있다. 이것은, 알파의 정의로부터, 선행하는 블록의 알파 앞에 오는 선행하는 블록의 노드들은 주어진 블록으로 연장되는 링크를 갖지 않는다는 것을 이미 알고 있기 때문이다. 따라서, 처리가 일층 감소되며, 이 감소는 개별 블록의 크기가 증가함에 따라 더 뚜렷해질 것이다. 또한, 임의의 주어진 블록 내의 알파의 위치는 그 블록의 끝쪽에 있는 경향이 있으므로, 긴 블록의 경우 선행하는 블록 전체를 분석하는데 이용되었을 처리 자원의 대다수가 절약된다.
각 블록에 대해 알파 및 베타를 특정함으로써 제공하게 되는 두번째 잇점은, 어느 링크도 한 블록보다 더 연장할 수 없다는 전술한 기준을 충족하면서 보다 작고 보다 균일하게 배열된 블록을 제공하도록, 기존 격자 내의 블록을 재정의하는 절차에 알파 및 베타를 채용하는데 있다. 이들 절차에서, 기존 블록들은 기존 블 록 내의 알파 및 베타의 상대 위치에 따라서 분할된다. 한 접근법에서는, 알파가 주어진 블록 내에서 베타 뒤에서 발생한다고 하면, 주어진 블록은 베타와 알파 사이의 어딘가에서 그 블록을 분할함으로써 2개의 블록으로 분할될 수 있다. 이와 유사하게, 격자 데이터 구조를 구성하는 바람직한 절차중에 언제 기존 블록이 보다 작은 블록들로 분할될 수 있는지를 결정하기 위하여 베타 및 알파를 특정하는 데이터가 채용되는 것이 유리하다.
본 실시예에서 소정 노드로부터의 최장 링크가 도 16a에 나타낸 바와 같은 임의의 노드에 대한 데이터 성분의 시퀀스 내에서 선두에 위치한다고 앞에서 설명하였다. 이것은 새로운 노드를 격자 데이터 구조에 삽입하는 절차에 있어서 유리하며, 여기서 새로 삽입된 노드를 넘어 연장되는 임의의 링크가 선행 노드로부터 시작하는지 여부를 판정하기 위하여 선행 노드가 분석되어야 한다. 임의의 소정 노드로부터 연장되는 최장 링크를 그 노드에 대한 데이터 성분 시퀀스 내의 특정 위치, 이 경우에는 그 시퀀스 내의 선두 위치에 항상 위치시킴으로써, 정의에 의해 이미 분석된 최장 링크보다 더 짧게 연장할 것이므로, 그 링크가 새로 삽입된 노드를 넘어 연장되지 않는다는 것이 확인되면, 그 노드에 대하여 데이터 성분 시퀀스 내의 나머지 링크를 분석할 필요가 없다. 따라서, 추가적인 처리 절약이 달성된다.
전술한 격자 데이터 구조를 생성하는 바람직한 방법을 도 17 내지 도 19를 참조하여 이하에 설명한다. 이 바람직한 방법에서, 구성 데이터는 데이터 성분의 세트로 조직되고, 데이터 성분의 세트는 구성됨에 따라 격자 구조에 한번에 하나씩 부가된다. 데이터 성분의 각 세트는 다음 중 어느 하나로 이루어진다.
(ⅰ) 2개의 새로운 노드 + 바로 그 사이의 임의의 링크(격자에서 이미 노드에 연결되어 있지 않은 격자에 노드를 부가하는 경우)
(ⅱ) 새로운 노드 + 그 노드에서 끝나는 각 링크, 또는
(ⅲ) 격자 내의 기존 노드들간의 링크
도 17은 바람직한 실시예에 채용된 프로세스 단계를 설명하는 흐름도이다. 도 17의 프로세스 단계에 대한 다음 설명에서, 도 15b의 격자의 구성에 상기 단계들을 적용하는 경우를 예로써 설명하며, 노드가 이미 완전히 시간순으로 정렬된 입력 데이터에 적용되는 경우 이 방법이 어떻게 작용하는가를 보여준다. 그 후에, 도 15b의 격자 데이터 구조에 대한 데이터의 여러 다른 부가를 설명함으로써, 추가 노드가 기존의 시간순으로 정렬된 노드 시퀀스에 삽입되는 경우 프로세스 단계가 (새로운 격자의 구성 또는 기존 격자의 변경에) 적용되는 방식을 설명한다.
개략적으로, 데이터 성분의 각 세트가 격자에 부가됨에 따라, 블록의 여러 단부, 알파 및 베타가 갱신된다. 한 블록 내의 노드의 갯수가 임계치, 이 예에서는 9에 이르는 경우, 알파 및 베타의 위치가 분석되고, 적합하다면 블록이 2개의 보다 작은 블록으로 분할된다. 여러 알파 및 베타가 다시 갱신되며, 다음에 데이터 성분의 부가와 동일한 방식으로 프로세스가 계속된다.
도 17에 도시한 프로세스 단계를 이하에 상세하게 설명한다. 격자 구조의 구성을 도 15b의 그래프 형태로 나타내는 도 18a 내지 18h도 참조한다. 도 16b의 형태에 대응하여 격자를 정의하는 데이터 스트림의 구성의 진행을 나타내는 도 19a 내지 19h도 또한 참조한다.
도 17을 참조하면, 단계 S61에서 자동 음성 인식 유닛(33)이 첫번째 블록, 즉 블록 0의 시작을 정의한다. 도 18a에서, 첫번째 블록의 시작을 정의하는 블록 마커가 참조 번호 202에 의해 표시되고 있다. 이것은 블록 플래그로 이루어진 데이터 성분(244)(도 19a 참조)의 삽입에 의해 데이터 스트림 내에 구현된다.
단계 S63에서, 자동 음성 인식 유닛(33)은 증분 카운터 n을 1로 설정한다.
단계 S65에서, 자동 음성 인식 유닛(33)은 격자 데이터 구조를 정의하는 데이터 스트림에 데이터 성분의 첫번째 세트를 삽입한다. 보다 구체적으로는, 자동 음성 인식 유닛(33)은 격자의 첫번째 2개 노드 및 그 사이의 임의의 직접적인 음소 링크(이 경우에는 음소 링크 /n/ 및 /m/)에 대응하는 데이터를 수집한다. 다음에, 단어 디코더(37)에 의해 이들 2개 노드 사이의 링크와 연관되는 것으로 식별된 임의의 단어를, 첫번째 2개 노드에서 그러한 단어가 식별되지 않더라도, 추가적으로 수집한다. 그리고 나서, 대응하는 데이터 성분을 데이터 스트림에 삽입한다. 특히, 도 19a를 다시 참조하면, 격자 구조의 첫번째 노드를 정의하며 그 노드의 시간을 지시하는 데이터 성분과 노드 플래그로 이루어지는 데이터 성분으로 구성되는 데이터(260)가 삽입된다. 그 후에, 음소 링크 /n/로 이루어지는 데이터 성분과 001의 노드 오프셋 값을 포함하는 데이터(262)가 삽입되고, 그 뒤에 음소 /m/으로 이루어진 데이터 성분과 001의 노드 오프셋 값을 포함하는 데이터(264)가 뒤따른다. 최종적으로, 노드 플래그로 이루어진 데이터 성분과 두번째 노드의 시간으로 이루어진 데이터 성분을 포함하는 데이터(266)가 삽입된다. 따라서, 데이터 성분 의 첫번째 세트의 성분(260, 262, 264, 266) 모두가 삽입된다. 첫번째 2개 노드와 그 사이의 음소 링크 /n/ 및 /m/가 도 18a에서와 같이 나타날 수 있다. 단계 S67에서, 자동 음성 인식 유닛(33)은 새로 삽입된 데이터 성분의 세트에 임의의 새로운 노드가 포함되었는지 여부를 판정한다. 본 예에서의 대답은 예이며, 따라서 자동 음성 인식 유닛이 현재 데이터 격자 구조의 끝에 임의의 새로운 노드가 위치하고 있는지 여부를 판정하는 단계 S69로 프로세스가 이동한다. 본 예에서의 대답은 또 예이다. 사실상, 도 17의 흐름도에 나타난 방법을 이용하여 노드가 시간순으로 정렬되어 있는 데이터로부터 데이터 격자를 구성하는 경우에, 본 예에서와 같이, 판정 단계 S67 및 S69에 대한 대답은 원래 항상 긍정적이다. 이들 판정 단계는, 본 프로세스에서, 필요한 경우(이 경우의 예가 이하에 기재된다), 삽입되는 추가 노드 또는 링크를 격자 내에 수용할 수 있음을 설명하기 위하여 흐름도에 포함되어 있을 뿐이다.
본 예에서, 프로세스는 단계 S71로 이동하고, 여기에서 자동 음성 인식 유닛(33)은 최종 블록의 끝이 격자의 끝에 있는 새로 삽입된 노드 바로 뒤에 위치하도록 정의한다. 현 스테이지의 절차에서는 하나의 블록만이 있으며, 따라서 최종 블록의 끝을 정의함에 있어서, 사실상 단지 하나의 블록의 끝이 정의된다. 이렇게 새로 정의된 현재의 블록의 끝이 도 18a의 항목 203으로서 나타나며, 도 19a에 나타낸 바와 같이 블록 플래그로 이루어진 데이터 성분(245)으로서 데이터 스트림에 구현된다.
다음에 자동 음성 인식 유닛(33)은 모든 알파 및 베타 포인트를 결정한다. 현 스테이지에서는 하나의 블록만이 있으며, 따라서 하나의 알파 및 하나의 베타가 결정된다. 얻어진 위치들은 도 18a에 나타내었다. 첫번째 블록에서 알파 및 베타를 결정하기 위한 절차는 앞에서 설명하였다. 데이터 스트림에 대하여, 전술한 바와 같이 알파 및 베타 위치가 헤더 데이터에 포함되어 있다.
단계 S79에서, 자동 음성 인식 유닛(33)은, 어느 링크도 바로 이웃하는 블록보다 더 연장할 수 없다는 전술한 기준을 위반하여 위치하거나 불확정이라는 관점에서, 링크 알파 및 베타 값이 "무효"인지를 판정한다. 격자를 구성하는 현재 스테이지에서, 이러한 판정 단계는 그러한 무효가 없음을 명백하게 판정하고, 따라서 프로세스는 단계 S81로 이동한다. 단계 S81에서, 자동 음성 인식 유닛은 방금 노드가 삽입된 블록 내의 노드의 갯수가 소정의 임계치에 도달하였거나 초과하였는지 여부를 판정한다. 소정의 임계치는 블록 구조를 분석하거나 또는 보다 작은 블록 크기 또는 보다 균일한 블록 간격을 부여하기 위하여 블록 구조를 변경하기 전의 블록에 있어야 하는 최소의 노드의 갯수를 정의하기 위하여 설정된다. 블록 분할, 블록 플래그 데이터의 저장 등을 수행할 때 필요한 자원의 관점에서 유효 간접 비용이 존재한다. 그러므로, 임계치 미만의 노드를 포함하는 블록에 대한 블록 분할은 생산성에 반하는 경향이 있다. 임계 수치의 선택은 고려되는 데이터 파일이나 격자의 특별한 특징에 좌우된다. 전술한 바와 같이, 본 실시예에서 그 수는 9로 설정되어 있다. 그러므로, 프로세스의 현 스테이지에서는, 단지 총 2개의 노드가 삽입되어 있으며, 따라서 판정 단계 S81에 대한 대답은 아니오이다.
따라서, 삽입되는 데이터 성분의 첫번째 세트에 대하여 프로세스 단계가 완 료되고, 격자 및 데이터 스트림의 현재 형태가 도 18a 및 도 19a에 나타나 있다.
다음에, 절차가 단계 S89로 이동하며, 여기에서 자동 음성 인식 유닛은 데이터 성분의 추가 세트가 추가되는지를 판정하고, 이에 따라 단계 S91에서 n의 값을 1만큼 증가시키고, 단계 S65에서 시작되는 프로세스 단계가 다음 세트의 데이터 성분에 대하여 반복 수행된다. 본 예에서, 데이터 성분의 다음 세트는 격자의 세번째 노드와 0.41초의 시간을 특정하는 데이터(도 19b에서 항목 270)와 음소 링크 /oh/와 001의 노드 오프셋 값을 특정하는 데이터(도 19b에서 항목 268)로 이루어진다. 삽입된 음소 링크 /oh/와 세번째 노드가 도 18b에도 나타나 있다. 단계 S71에서, 최종 노드의 뒤로 정의되는 블록의 끝(203)은 이제 도 18b에 나타낸 바와 같이 위치하며, 블록 플래그로 이루어진 데이터 성분(245)에 의해 데이터 스트림으로 구현되고, 이제 새롭게 삽입된 데이터(268, 270)의 뒤에 위치하게 된다. 단계 S75에서 정해진 대로 이제 새로운 끝 노드에 있는 알파의 새로운 위치가 도 18b에 나타나 있다. 단계 S79에서, 무효인 알파나 베타가 없는 것으로 다시 판정되고, 노드의 갯수는 단지 3(즉, 9보다 작음)이기 때문에 이 데이터 성분의 최종 세트에 대한 처리가 이제 완료되어, 격자 및 데이터 스트림은 도 18b 및 도 19b에 나타난 바와 같다.
절차가 계속됨에 따라, 데이터 성분의 다음 세트를 나타내는 4개의 노드와 그 노드에서 끝나는 2개의 링크, 즉 음소 링크 /w/와 단어 링크 "NOW"가 삽입된다. S65 이후의 프로세스 단계가 이전 세트의 데이터 성분에 대하여 설명한 바와 같이 뒤따르며, 도 18c에 나타낸 격자 구조 및 도 19c에 나타낸 데이터 스트림을 초래한 다. 도 19c로부터, 음소 링크 /w/에 대응하는 데이터(272)와 최종 노드에 대응하는 데이터(274)가 데이터 스트림의 끝의 최종 블록 플래그 바로 앞에 있는 반면, 단어 링크 "NOW"에 대응하는 데이터(276)는 그 링크가 연장되기 시작하는 노드, 즉 첫번째 노드를 갖는 데이터 스트림에 위치하고 있음을 알 수 있다. 또한, /n/ 및 /m/의 노드 오프셋 값이 단어 링크 "NOW"에 대한 값 003보다 작은 001이기 때문에, 단어 링크 "NOW"에 대응하는 데이터(276)는 첫번째 노드로부터 연장되는 다른 링크, 즉 음소 링크 /n/ 및 /m/ 앞에 위치하다.
전술한 바와 같이 변화 없이 절차를 계속 진행하여, 다섯번째, 여섯번째, 일곱번째 및 여덟번째 노드를 삽입하고, 도 18d 및 도 19d에 각각 나타낸 격자 구조 및 데이터 스트림을 얻는다.
단계 S65에서 시작된 절차의 다음 주기에, 삽입된 데이터 성분의 세트는 아홉번째 노드 및 그 노드에서 끝나는 음소 링크 /w/이다. 단계 S67, S69, S71 및 S75와 동일한 방식으로 구현함으로써, 격자 배열은 도 18e-1에 나타낸 바와 같이, 새로 삽입된 아홉번째 노드의 뒤에 블록의 끝(203)이 위치하고 아홉번째 노드에 알파가 위치하게 된다. 단계 S79에서, 자동 음성 인식 유닛은 알파 및 베타 값에 무효가 없는 것으로 판정하고, 따라서 프로세스는 단계 S81로 이동한다. 지금까지의 절차는 이전 세트의 데이터 성분에 대한 절차와 동일한 절차를 따랐다. 그러나, 이번에는 새로 삽입된 노드가 단일 블록 내의 노드의 총수를 9로 하기 때문에, 자동 음성 인식 유닛이 단정 단계 S81을 수행하는 경우, 블록 내의 노드의 갯수가 실제로 9보다 크거나 같다고 최초로 판정한다. 그 결과, 이번에는 절차가 단계 S83 으로 이동하며, 여기에서 자동 음성 인식 유닛은 알파가 베타보다 큰지, 즉 알파가 블록 내에서 베타보다 나중에 발생하는지를 판정한다. 본 예에서는 긍정인 것으로 판정된다(사실 첫번째 격자에 대하여 베타가 정의되는 방식이 그렇기 때문에, 격자의 첫번째 블록인 경우에는 항상 긍정일 것이다).
따라서, 본 방법에 대한 기본적인 접근법은, 한 블록 내의 노드의 갯수가 9이상인 경우에, 알파가 베타보다 크다면, 그 블록은 2개의 블록으로 분할된다는 것임을 이해할 수 있다. 노드가 소정의 갯수에 이를 때까지 기다리는 이유는 전술한 바와 같이 자원에 있어서의 간접 비용 때문이다. 알파가 베타보다 크다는 기준은, 원래 블록을 분할하여 형성된 2개의 블록 각각이, 어떤 링크도 바로 이웃하는 블록을 넘어 다른 블록으로 연장되는 것을 허용하지 않는다는 전술한 기준을 충족하는 것을 보장하기 위함이다.
그러므로, 본 예에서, 절차는 자동 음성 인식 유닛이 도 18e-1의 단일 블록을 2개의 블록으로 분할하는 단계 S85로 이동한다. 이것은, 베타와 알파 사이의 위치를 특정하는 임의의 원하는 기준에 따라 블록(205)의 새로운 끝의 위치를 정의함으로써 수행된다. 본 실시예에서, 이 기준은 블록의 새로운 끝을 베타와 알파 사이를 등분(노드의 갯수의 관점에서, 필요한 경우 잘라올림(round up)하여)하여 삽입하는 것이다. 따라서, 도 18e-2에 나타낸 바와 같이, 다섯번째 노드의 바로 뒤에 블록(205)의 새로운 끝이 삽입됨으로써, 블록이 분할된다. 이것은, 도 19e에 나타낸 바와 같이 블록 플래그로 이루어진 데이터 성분(298)의 삽입에 의해 데이터 스트림에 구현된다. 또한, 자동 음성 인식 유닛(33)은 새로 형성된 두번째 블록 내의 모든 노드의 시간을, 전체 격자에서의 다섯번째 노드의 시간(0.71초)인, 그 블록의 시작 시간으로부터의 오프셋으로서 다시 계산한다. 이에 따라, 도 19e에 나타낸 결과적인 데이터 스트림은 이제 새로 삽입된 데이터 성분(298), 음소 링크 /w/에 대하여 새로 삽입된 데이터(300) 및 끝 노드에 대하여 새로 삽입된 데이터(302)를 포함한다. 또한, 데이터 성분(304, 306, 308, 310)은 새로운 오프셋 값으로 변경된 시간 값을 갖게 되었다.
단계 S87에서, 알파 및 베타의 갱신된 값이 자동 음성 인식 유닛에 의해 결정된다. 지금 2개의 블록이 있다고 하면, 2개의 베타와 2개의 알파가 결정된다. 이들 알파 및 베타의 새로운 위치는 도 18e-2에 나타나 있다.
그 후에 도 17의 절차는 전술한 바와 같이 계속 진행되어, 블록 1에서 노드의 임계치 9가 아직 도달되지 않은 상태에서, 전체 격자에서 10번째 노드 내지 13번째 노드를 삽입한다. 이로써 도 18f 및 도 19f에 각각 나타낸 격자 구조 및 데이터 스트림을 얻게 된다.
삽입된 데이터 성분의 다음 세트는 14번째 노드 및 그 노드에서 끝나는 음소 링크 /oh/로 이루어진다. 이 세트의 데이터 성분이 단계 S65 내지 S79를 거친 후의 구현된 상황은 도 18g-1에 나타낸 바와 같다. 이 최종 세트의 데이터 성분을 삽입한 결과 두번째 블록 내의 노드의 갯수가 9가 되며 알파는 베타의 뒤에 위치하게 된다. 그 결과, 자동 음성 인식 유닛(33)은 단계 S85를 수행하여, 도 18g-2에 나타낸 바와 같이, 분할되는 블록의 5번째 노드의 바로 뒤에 블록(207)의 새로운 끝을 삽입한다. 이로써 도 19g에 나타낸 바와 같이 새로운 블록 플래그로 이루어진 데이터 성분(330)의 삽입에 의해 데이터 스트림에 구현된다. 자동 음성 인식 유닛(33)은 또한 새로 형성된 3번째 블록 내의 노드의 조절된 오프셋 시간(도 19g에서 334, 336, 338, 340)을 계산한다. 그 후에, 단계 S87에서, 자동 음성 인식 유닛은 알파 및 베타의 갱신된 값을 결정하여, 이제 두번째가 된 블록에 대한 새로운 알파 및 이제 3번째가 된 블록에 대한 새로운 베타를 제공하며, 둘 모두 도 18g-2에 나타나 있다.
도 17에 나타낸 절차는 부가되어야 할 데이터 성분의 나머지 3개 세트에 대하여 반복 수행되어, 도 18h 및 도 19h에 나타낸 격자 구조 및 데이터 스트림을 제공한다.
이 스테이지에서, 자동 음성 인식 유닛(33)은 단계 S89에서 삽입할 추가적인 데이터 성분의 세트가 없는 것으로 판정하고, 따라서 현재의 격자 데이터 구조가 완료되고, 이는 도 15b 및 16b에 나타낸 격자에 대응한다.
이웃하는 블록을 넘어 연장되는 긴 링크를 나중에 삽입하게 되어 2개의 블록을 병합하는 경우의 일례를 설명한다. 전술한 예에서는 데이터가 완전히 시간순으로 정렬되어 있는 격자에 데이터가 부가되기 때문에, 이러한 상황은 발생하지 않는다. 반면에, 다음의 예에서는, 도 15b의 격자가 지금까지 설명한 스테이지에 도달한 후에, 어떤 기존 노드 사이에 추가적인 링크가 삽입될 필요가 있다. 이러한 상황이 발생하는 것은 다수의 원인이 있다. 한가지 가능성은, 격자를 이미 완성하여 두고, 나중에 주석 데이터로 채용하였지만, 추후에 개정할 필요가 있는 경우이다. 다른 가능성은, 우선 모든 음소 데이터를 처리하고, 그 다음에 모든 단어 데이터를 처리하거나, 그 반대의 순으로 한 경우이다. 또 다른 가능성은, 다른 사운드트랙, 예컨대 다른 화자로부터의 데이터가 별도로 부가되어 단일 격자를 제공하는 경우이다.
그러나, 본 예에서, 추가 링크로 이루어진 데이터 성분은 그 음소 데이터를 2번째 음성 인식 어휘에 통과시키는 경우, 자동 음성 인식 유닛(33)에 의해 인식된 단어를 구성하기 때문에, 그 데이터 성분은 별도로 마지막에 처리되지만, 보다 이전 시간의 링크를 삽입하는 것은 본질적으로 원래의 기존 격자 구조의 일부가 된다. 본 예에서, 2번째 어휘는 사용자에 의해 선택적으로 선택된 전문화된 이름 위치 어휘로 이루어진다. 따라서, 본 예에서는, 단계 S89에서 데이터 성분의 추가 세트가 삽입되어야 하는 것으로 판정되고, 단계 S91에서 n의 값을 증가시킨 다음에, 단계 S65에서 데이터가 삽입된다. 데이터는 도 20a에 나타낸 바와 같이 단어 링크 "ESTONIA"로 이루어지며 블록 0의 4번째 노드로부터 블록 2의 3번째 노드로 연장한다.
단계 S67에서, 자동 음성 인식 유닛(33)은 새로운 노드가 삽입되지 않았음을 인식하고, 이에 따라 프로세스는 알파 및 베타의 갱신된 위치를 결정하는 단계 S75로 이동한다. 그러나, 새로 삽입된 링크가 블록 0으로부터 블록 1을 넘어 블록 2의 끝으로 연장되기 때문에, 바로 이웃하는 블록을 넘는 링크의 연장을 금하는 전술한 기준에 위반되고, 또한 블록 1에 대하여 유효한 알파 또는 베타를 만들지 못한다. 이것은 도 20a에 나타나 있는데, 여기서 블록 1에 대한 어느 알파가 실제로 블록 0에 나타날 필요가 있고 블록 1에 대한 어느 베타가 블록 2에 나타날 필요가 있음을 표시하고 있다. 그 결과, 다음 단계 S79에서, 알파 및 베타가 확실히 무효인 것으로 판정된다.
그러므로, 절차는 단계 S77로 이동하여 블록을 병합한다. 적합한 기준을 이용하여 어느 블록이 함께 병합되어야 하는지를 선택할 수 있으며, 예컨대 그 기준은 가장 균일하게 이격된 블록을 제공하는 것에 기초하거나, 위반(offending) 블록을 그 선행하는 블록과 병합할 수 있다. 그러나, 본 실시예에서는, 항상 위반 블록과 그 다음 블록을 병합하는 것을 선택하여, 본 예에서는, 블록 1이 블록 2와 병합된다. 이것은, 도 20b에 나타낸 바와 같이 블록 2로부터 블록 1을 분할하는 블록 마커를 제거하여 2개의 블록만을 남기도록 구현된다. 다음에 절차는 단계 S75로 복귀하여, 알파 및 베타가 다시 결정된다. 알파 및 베타의 결과적인 위치는 도 20b에 나타나 있다.
단계 S79에서, 자동 음성 인식 유닛(33)은 알파 및 베타가 이제 유효한 것으로 판정하고, 절차는 단계 S81로 이동한다. 본 예에서, 블록 1에는 이제 12개의 노드가 있고 알파가 베타보다 크기 때문에, 절차는 단계 S85로 이동하고, 전술한 것과 동일한 절차를 이용하여 블록 1이 분할된다. 그러나, 새로운 블록 분할의 위치를 특정하는 앞에서 채용된 기준, 즉 베타와 알파 사이의 노드들의 중간에 위치시키도록 한 기준은, 본 예에서 일부 수정을 포함하며, 분할되는 블록이 9보다 많은 노드를 갖는 경우, 가능하다면 2개의 결과적인 블록중 앞의 블록에 8개 이하의 노드를 갖도록 한다. 이것은 블록 분할 프로세스의 비효율적인 반복을 피하기 위함이다. 이에 따라 본 예에서는, 도 20c에 나타낸 바와 같이 새로운 블록 마커가 분할되는 블록의 8번째 노드의 바로 뒤에 삽입된다. 단계 S87에서, 알파 및 베타가 다시 결정되며, 그 새로운 위치는 도 20c에 나타나 있다. 알파 및 베타 모두 블록 1의 동일 블록에서 발생함에 유의해야 한다. 본 예에서는, 단계 S89에서 더 이상의 데이터 성분 세트가 추가되지 않는다고 판정되며, 이에 따라 절차가 완료된다.
도 20a 내지 20c를 참조하여 전술한 절차에서, 격자의 변화는 이전의 예들과 동일한 방식으로 도 16b의 데이터 스트림을 변화시킴으로써 구현된다. 특히, 2개의 블록을 병합하는 단계 S77은 원래의 블록 1 및 2를 분할하는 원래 블록 플래그를 포함하는 관련 데이터 성분(248)의 제거에 의해 구현된다.
도 17의 흐름도에 도시된 절차에 따른 데이터의 처리를 설명하는 다른 예를 도 21a 내지 21d를 참조하여 이하에 설명한다. 이 예에서, 17번째 노드가 도 15c의 격자에 부가된 직후에 추가 데이터 성분이 부가된다. 그러므로, 도 17의 단계 S89에서, 추가 성분이 실제로 부가되며, 절차는 증분 단계 S91을 경유하여 삽입 단계 S65로 다시 복귀한다. 그러나, 다음의 예에서 추가 데이터 성분을 부가하는데 채용된 방법 단계들은 또한 원래 격자 자신이 어떻게 형성되는가에 관계없이 임의의 적합한 원래 격자를 갱신하거나 수정하는 독립적인(stand alone) 방법을 구성한다.
이 예에서, 추가 데이터는 도 9에 나타낸 키보드(3) 및 표음 전사 유닛(75)과 동일한 형태의 키보드 및 표음 전사 유닛을 경유하여 부가된다. 이 예에서, 표음 전사 유닛의 출력은 자동 음성 인식 유닛(33)에 연결된다. 사용자는 이러한 구 성을 이용하여 비디오 데이터(31-1)의 특정 부분에 대응시키기 위한 주석 데이터를 입력해 넣는다. 이러한 데이터는 종종 본 기술분야에서 "메타데이터(metadata)"로서 불린다. 비디오 데이터의 특정 부분은, 예컨대 주석 데이터를 이용하여 사용자가 나중에 원하는 대로 위치 파악/검색을 하고자 하는, 한 배우의 많은 프로파일 샷(profile shot)을 나타낼 수 있다. 따라서, 사용자는 단어 "PROFILE A B C D E"를 입력해 넣고, 또한 음소 링크가 아닌 단어 링크만 전사되도록 특정한다. 이것은 다음과 같은 데이터 성분이 부가되도록 한다:
(ⅰ) 첫번째 새로운 노드, 2번째 새로운 노드 및 그 사이의 단어 링크 "PROFILE";
(ⅱ) 3번째 새로운 노드 및 새로운 2번째와 3번째 노드 사이의 단어 링크 "A";
(ⅲ) 4번째 새로운 노드 및 새로운 3번째와 4번째 노드 사이의 단어 링크 "B";
(ⅳ) 5번째 새로운 노드 및 새로운 4번째와 5번째 노드 사이의 단어 링크 "C";
(ⅴ) 6번째 새로운 노드 및 새로운 5번째와 6번째 노드 사이의 단어 링크 "D"; 및
(ⅵ) 7번째 새로운 노드 및 새로운 6번째와 7번째 노드 사이의 단어 링크 "E".
도 17을 다시 참조하면, 단계 S65에서, 전술한 바와 같은 데이터 성분 (ⅰ)이 자동 음성 인식 유닛(33)에 의해 도 15b의 격자에 도 21a에 나타낸 위치에 삽입된다. 단계 S67에서, 자동 음성 인식 유닛(33)은 새로운 노드가 삽입된 것으로 판정한다. 단계 S69에서, 자동 음성 인식 유닛은 새로운 노드 중 어느 것도 격자의 시작이나 끝에 삽입되지 않은 것으로 판정한다. 바꿔 말하자면, 새로운 노드는 기존의 격자 내에 삽입되었으며, 따라서 아마도 그 격자 중의 하나 또는 그 이상의 기존 노드의 노드 오프셋을 조절할 필요가 있을 것이다. 그러므로, 절차는 단계 S73으로 이동하여, 자동 음성 인식 유닛(33)이 기존 노드의 노드 오프셋에 대한 필요한 조절을 수행하도록 한다. 단계 S73에서 적절한 방법을 채용하여, 오프셋을 조절할 수 있다. 본 실시예에서 채용된 바람직한 방법을 도 22의 흐름도를 참조하여 이하에 상세하게 설명한다.
오프셋을 조절한 다음, 도 17의 절차가 앞의 예에서 전술한 방식으로 수행되며, 단계 S65로 복귀하여 데이터 성분 (ⅱ)를 삽입한다. 다음에, 데이터 성분 (ⅰ)에 대한 전술한 절차가 데이터 성분 (ⅱ) 및 (ⅲ)에 대하여 반복된다. 도 21b는 데이터 성분 (ⅰ), (ⅱ) 및 (ⅲ)이 삽입되고 절차가 단계 S81에 이르렀을 때의 스테이지를 나타낸다. 이 스테이지에서, 추가 데이터 성분의 삽입 중에 처음으로, 2번째 블록 내의 노드의 갯수가 9인 것으로 판정한다. 따라서, 단계 S83에서 자동 음성 인식 유닛(33)은 블록을 분할하고, 단계 S87에서 새로운 알파 및 베타를 결정하여, 도 21c에 나타낸 새로운 블록 구조를 얻는다. 여기서 주목할 점은, 새로운 블록의 끝을 위치시키기 위하여 채용된 기준은, 새로 형성된 2번째 블록의 크기를 가능한 한 크게 만들되, 그 블록의 끝이 알파에 위치하는 것은 허용되지 않는다는 것이다.
다음에, 절차는 동일한 방식으로 계속 진행되어, 데이터 성분 (ⅵ)의 처리 중에 단계 S81에 이를 때까지 데이터 성분 (ⅳ), (ⅴ) 및 (ⅵ)이 삽입되게 된다. 이 스테이지에서, 격자는 도 21d에 나타낸 형태로 되어, 9개의 노드가 현재의 블록 2에 위치하게 되고, 따라서 단계 S81의 결과, 절차가 다시 단계 S83으로 이동하게 된다. 여기서 주목할 점은, 본 예에서는 현재의 블록 2에서 베타가 알파의 뒤에 오는 상황이 되었다는 점이다. 즉, 도 21d에서 알 수 있는 바와 같이, 블록 2로 연장되는 최장 링크가 블록 2를 빠져나가는 최초 링크의 시작을 넘어 연장한다. 블록 2가 이렇게 분할된다면, 이것은 본질적으로 어느 링크도 바로 이웃하는 블록이외의 다른 블록으로 연장되지 못한다는 본 실시예의 기본 기준을 위반하는 새로운 블록을 형성하게 되는 것을 의미한다. 이 때문에, 도 17의 방법은 9개의 블록을 가지고 있음에도 불구하고 블록 2의 분할을 허용하지 않으며, 이것은 판정 단계 S83에서 알파가 베타보다 크지 않다고 판정하고 그 절차를 단계 S89로 바로 이동하도록 함으로써 구현되고 있다. 본 예에서는, 단계 S89에서 더 이상 부가되는 데이터 성분의 세트가 없는 것으로 판정하고, 절차를 종료된다.
오프셋을 조절하는 단계 S73을 구현하기 위한 전술한 바람직한 절차를 도 22의 흐름도를 참조하여 이하에 설명하며, 도 22에서는 새로 삽입된 노드 각각에 대하여 뒤따르는 절차를 나타낸다. 이 바람직한 방법은 각 블록 내의 알파 및 베타의 위치가 알려져 있다는 사실을 이용한다. 자동 음성 인식 유닛(33)은 새로 삽입된 노드에 선행하는 노드를 분석하여, 그 노드로부터 새로 삽입된 노드의 위치를 넘어 연장되는 임의의 링크가 존재하는지를 판정한다. 그러한 링크가 발견되면, 영향을 받은 링크는 그 노드 오프셋 값을 1만큼 증가시켜, 그 구간 내에 새로 삽입된 노드가 존재한다는 사실을 수용하도록 할 필요가 있다. 새로 삽입된 노드가 주어진 블록 내의 베타의 뒤에 위치하면, 본래 선행하는 블록으로부터 베타를 넘어 연장되는 링크는 존재하지 않기 때문에, 동일한 주어진 블록 내에서 새로 삽입된 노드 앞의 노드만을 분석하면 된다. 이와 달리, 새로 삽입된 노드가 주어진 블록 내에서 베타 앞에 위치하면, 그 주어진 블록 내에서 새로 삽입된 노드 앞의 노드와 선행하는 블록 내의 노드를 분석할 필요가 있으며, 그러나 여기서 선행하는 블록 내의 노드는 알파에 대응하는 노드만을 포함하도록 연장된다. 본래 알파 앞으로부터 새로운 노드가 삽입된 블록으로 연장되는 링크는 없기 때문에, 선행하는 블록의 알파 앞에 위치하는 노드는 분석할 필요가 없다.
상기 절차는 도 22에 나타낸 프로세스 단계에 의해 구현된다. 단계 S101에서, 자동 음성 인식 유닛(33)은 증분 카운터의 값을 i=1로 설정한다. 증분 카운터는 연속한 선행 노드에 대한 필요한 절차의 반복 수행을 노드별로 제어하는데 이용된다. 단계 S103에서, 삽입된 노드의 한 자리 앞에 위치하는 노드가 식별된다. 도 21a를 참조하면, 단어 링크 "PROFILE"이 연장되기 시작하는 새로 삽입된 노드의 경우에, 그 한 자리 앞의 위치에 있는 식별된 노드는 단어 링크 "THE"가 연장되기 시작하는 노드이다. 단계 S105에서, 식별된 노드로부터 연장되기 시작하는 모든 링크가 식별되며, 여기에서는 단어 링크 "THE" 및 음소 링크 /dh/이다. 자동 음성 인식 유닛(33)은 이들 링크의 노드 오프셋 값을 단어 링크 "THE"에 대하여 002이고 음소 링크 /dh/에 대하여 001인 것으로 판정하며, 이에 따라 단계 S107에서 이들 노드 오프셋 값을 각각 1만큼 증가시켜서 각각 003 및 002의 새로운 값으로 한다. 단계 S109에서, 새로 삽입된 노드가 베타 앞에 위치하는지 여부가 판정된다. 본 예에서, 실제로 그 뒤에 위치하고 있으며, 따라서 노드의 분석은 현재 블록의 첫번째 노드까지만 진행될 필요가 있고, 따라서 단계 S111에서 현재 식별된 노드, 즉 그 노드 오프셋이 변경된 노드가 현재 블록의 첫번째 노드인지 여부가 판정된다. 본 예에서는 그러하며, 다른 노드는 그들의 오프셋을 조절할 필요가 없기 때문에 절차가 종료된다. 그러나, 현재 블록 내에 처리될 다른 노드가 남아 있으면, 절차는 단계 S113으로 진행하여 i의 값이 증가된 다음, 다시 단계 S103으로부터 시작하여 다음의 선행하는 노드에 대하여 절차가 반복 수행된다. 또한, 상기 예에서 새로 삽입된 노드가 실제로 베타 앞에 위치하고 있다면, 선행하는 블록 내의 알파에 대응하는 노드까지의 각 노드가 처리될 때까지 절차가 계속 진행된다. 이를 달성하기 위하여, 삽입된 노드가 실제로 베타 앞에 있는 경우에는, 절차는 단계 S115로 이동하여, 자동 음성 인식 유닛이 식별된 노드가 선행하는 블록의 알파의 위치에 있는지 여부를 판정한다. 판정 결과, 그렇다면 절차는 종료된다. 그렇지 않다면, 단계 S117로 절차가 이동하여 i의 값을 증가시킨 다음, 절차는 단계 S103으로부터 반복 수행된다.
블록을 분할하는 또 다른 방법을 이하에 설명한다. 주어진 블록 내의 노드의 갯수가 임계치에 도달하고 그 주어진 블록에서 알파가 베타보다 뒤에 있는 경우에는, 이 주어진 블록과 선행하는 블록은 그들 2개의 블록 대신에 3개의 새로운 블록을 형성하도록 조절된다. 이 절차를 도 23a 및 23b를 참조하여 보다 상세하게 이하에 설명한다.
도 23a는 예컨대 음소 링크(412), 단어 링크(414)의 끝 부분 및 다른 단어 링크(416)와 같은 음소 링크에 의해 링크된 격자 내의 노드의 시퀀스를 나타낸다. 이 노드들은 블록 마커(402, 404, 406)에 의해 블록으로 분할되어, 그 격자의 블록 n 및 블록 (n+1)을 형성한다. 블록 n 및 블록 (n+1)에 대한 알파 및 베타의 위치 도 도시되어 있다. 도 23a는 음소 링크(413) 및 그것이 사이에 연장되는 2개의 노드에 의해 표현된 데이터가 삽입된 후의 격자의 상태를 나타낸다. 블록 (n+1) 내의 노드의 갯수는 이제 9가 되었으며, 알파도 베타보다 뒤에 있기 때문에, 블록 재배열이 이제 수행된다. 도 23a의 2개의 블록이 도 23b에 나타낸 바와 같이 3개의 블록, 즉, 블록 n, 블록 (n+1) 및 블록 (n+2)으로 대체된다. 이것은 블록 분할자(404)를 삭제하고, 그것을 블록 n과 블록 (n+1)의 베타의 바로 뒤에 각각 2개의 새로운 블록 분할자(408, 410)가 위치하도록 대체함으로써 구현된다. 그 후에, 각 블록에 대한 알파 및 베타가 재계산되고, 그 새로운 위치는 도 23b에 나타나 있다. 이렇게 블록을 재배열하는 절차에 의해 매우 균일하게 이격된 블록이 제공된다. 이것은 특히 주어진 블록이 분할에 필요한 갯수의 노드를 갖고 그 알파가 베타보다 뒤에 있지만, 그에 선행하는 블록에서는 베타가 알파 뒤에 위치하고 있는 경우이다. 여기서 주목할 점은, 도 23a에서 실제로 그렇다는 것이다. 이 때문에, 바람직한 실시예에서는, 관련 선행하는 블록에서 베타가 알파 뒤에 위치하는 경우 2개의 베타 위치 사이에 새로운 블록을 형성함에 있어서는 이 절차에 의해 블록 분할이 수행되지만, 선행하는 블록에서 베타가 알파 앞에 위치하는 경우 알파와 베타 사이의 현재 블록을 분할함에 있어서는 원래 전술한 절차에 의해 블록 분할을 수행한다.
선행 문단에서 기술한 실시예와는 달리, 2개의 새로운 블록 분할자는, 그러한 2개의 베타 위치에 위치하는 것이 아니라, 각 블록 내의 노드의 갯수에 비하여, 블록 n의 베타와 블록 (n+1)의 베타의 위치에 비교적 가까운 노드에 각각 위치할 수 있다.
전술한 실시예에서, 격자의 각 노드의 타이밍은, 블록 내의 배열에 앞서서, 첫번째 노드가 0.10초의 시간에 일어나도록 설정된 공통 제로 시간에 대해 상대적으로 제공된다. 첫번째 블록에 대한 시작 시간은 공통 제로 시간과 동일하게 설정된다. 다른 블록 각각에 대한 시작 시간은 선행하는 블록의 최종 노드의 시간이다. 그러나, 다른 실시예에서, 각 노드의 타이밍은 절대적인 형태로 제공될 수 있으며, 각 블록의 시작을 구분하는 블록 마커에는 가장 근접한 온전한 초가 되도록 잘라버림(round down)한 블록의 첫번째 노드의 절대 시간에 대응하여 세계 표준시(UST) 타임 스탬프가 부가될 수도 있다. UST 타임 스탬프는 1970년 1월 1일 이래로 초의 수의 카운트를 표시하는 4바이트 정수로서 구현될 수 있다. 그러면, 각 블록 내의 노드의 시간이 결정되어 블록의 시작 시간의 잘라버림한 UST 시간에 대한 오프셋 시간으로서 저장된다. 본 실시예에서 각 블록 시간은 잘라버림되어 가장 근접한 초로 되기 때문에, 1초보다 작은 블록 기간이 허용된다면, 2개 이상의 블록이 동일한 타임 스탬프 값으로 할당될 수 있다. 그러므로, UST 타임 스탬프가 채용되는 경우, 1초보다 작은 블록 기간은 허용되지 않는다. 이것은, 현재의 블록의 분할이 수행되기 전에 현재의 블록이 초과하여야 하는 소정의 블록 기간을, 예컨대 1로 특정함으로써 구현된다. 이 요건은, 현재의 블록의 분할이 수행되기 전에 현재의 블록이 소정의 갯수보다 많은 갯수의 노드를 포함해야 한다는 전술한 요건과 함께 작용한다. 다른 방법으로, UST이외의 타임 스탬프 규정을 채용하고 블록 마커 시간을 블록의 최소 허용 기간보다 더 세밀하게 잘라버림함으로써, 보다 짧은 블록 기간을 수용할 수도 있다.
상기 실시예에서, 필수적인 기능을 구비한 자동 음성 인식 유닛(33)에 의해 음소 및 단어 격자 구조를 결정 및 생성하였다. 본 기술분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있는 바와 같이, 그 대신에 표준 자동 음성 인식 유닛을 사용하되, 전술한 음소 및 단어 격자 구조를 결정하고 생성하는 기능을 포함하는 별도의 격자 생성 유닛과 함께 이용할 수도 있다. 음소의 시퀀스를 출력하는 표준 자동 음성 인식 유닛(40)을 채용하는 실시예가 도 24에 나타나 있다. 도 3에 나타낸 구성의 경우와 같이, 단어 디코더(37)가 음소 데이터(35)로부터 단어를 식별한다. 도 24에 도시된 실시예에서, 식별된 단어가 음소 데이터에 부가되어 음소 및 단어 데이터(42)를 형성한다. 다음에, 이것은 격자 생성 유닛(44)으로 보내져서, 음소 및 단어 주석 데이터(31-3)를 형성하는 전술한 음소 및 단어 격자 구조를 결정 및 생성한다. 단어만을 출력하는 표준 자동 음성 인식 유닛을 포함하는 다른 실시예에서는, 단어-음소 사전을 이용하여 음소를 생성한 다음, 격자 생성 유닛(도시도지 않음)에 의해 단어 및 음소가 조합되어 전술한 음소 및 단어 격자 구조로 형성된다.
상기 실시예에서, 음소 및 단어 데이터는 격자의 링크와 연관되어 있다. 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 이와 달리, 단어 및/또는 음소 데이터는 노드와 연관될 수도 있다. 이 경우에, 각 노드와 연관된 데이터는 그와 연관된 각 단어 또는 음소에 대한 시작 및 끝 시간을 포함하는 것이 바람직하다.
정렬되지 않은 노드와 링크의 리스트를 정렬되고 블록화된 리스트로 조직하는 기법을 앞에서 설명하였다. 상기 기법은 정렬되지 않은 음소 및 단어의 리스트를 정렬하는 특정예를 설명하고 있다. 그러나, 본 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 이 기법은 다른 유형의 데이터 격자에도 적용될 수 있다. 예컨대, 이 기법은 음소만을 갖는 격자 또는 단어만을 갖는 격자에도 적용될 수 있다. 또한, 다른 방법으로, 문자 인식 프로세스의 결과로서 가능한 문자의 격자를 생성하는 수기(hand writing) 인식 시스템으로부터 생성된 격자에 적용될 수도 있다. 이 경우에, 노드 및 링크는 시간순으로 정렬되지 않고, 정렬된 격자에서 페이지 상의 다른 문자에 대한 그 문자의 상대적 위치에 대응하는 위치에 그 문자들이 나타나도록 공간적으로 정렬된다.

Claims (77)

  1. 격자를 정의하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체로서,
    상기 격자 내에 복수의 정렬된 노드를 정의하는 데이터;
    상기 격자 내에 복수의 링크 - 각 링크는 제1 노드로부터 제2 노드로 연장함 - 를 정의하는 데이터; 및
    상기 노드를 정렬된 블록의 시퀀스로 배열하되, 주어진 블록 내의 노드로부터의 링크가 상기 시퀀스에서 소정 갯수의 블록 다음의 블록 내의 노드를 넘어 연장되지 않도록 배열하는 데이터
    를 포함하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  2. 제1항에 있어서,
    상기 데이터는 시간순으로 정렬된 복수의 노드를 정의하고, 상기 데이터는 상기 노드를 시간순으로 정렬된 블록의 시퀀스로 배열하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  3. 제1항 또는 제2항에 있어서,
    상기 노드 또는 상기 링크와 연관된 정보 엔트리를 정의하는 데이터를 더 구비하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  4. 데이터베이스에서의 이용을 위하여 음소 또는 단어 격자를 정의하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체로서,
    상기 격자 내에 시간순으로 정렬된 복수의 노드를 정의하는 데이터;
    상기 격자 내에 복수의 링크 - 각 링크는 제1 노드로부터 제2 노드로 연장함 - 를 정의하는 데이터;
    적어도 하나의 노드 또는 링크에 음소 또는 단어를 연관시키는 데이터; 및
    상기 노드를 시간순으로 정렬된 블록의 시퀀스로 배열하되, 주어진 블록 내의 노드로부터의 링크가 상기 시퀀스에서 소정 갯수의 블록 다음의 블록 내의 노드를 넘어 연장되지 않도록 배열하는 데이터
    를 포함하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  5. 제1항, 제2항 및 제4항 중 어느 한 항에 있어서,
    주어진 블록 내의 노드로부터의 상기 링크는 후속하는 블록 내의 노드를 넘어 연장되지 않는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  6. 청구항 6은(는) 설정등록료 납부시 포기되었습니다.
    제5항에 있어서,
    선행하는 블록에서 시작된 임의의 링크가 연장을 종료하는 블록 내의 최종 노드를 식별하는, 각 블록에 대한 제1 타이밍 또는 노드 포인트(nodal point)(β)를 정의하는 데이터를 더 구비하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    제6항에 있어서,
    임의의 링크가 후속하는 블록으로 연장을 시작하는 블록 내의 최초 노드를 식별하는, 각 블록에 대한 제2 타이밍 또는 노드 포인트(α)를 정의하는 데이터를 더 구비하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  8. 청구항 8은(는) 설정등록료 납부시 포기되었습니다.
    제7항에 있어서,
    각 노드 및 그 링크 또는 링크들에 대한 데이터는 데이터 시퀀스로서 배열되고, 각 노드에 대한 상기 데이터 시퀀스들은 상기 노드의 시간순 정렬에 대응하는 순서로 데이터 스트림 내에 함께 배열되는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  9. 청구항 9은(는) 설정등록료 납부시 포기되었습니다.
    제1항, 제2항 및 제4항 중 어느 한 항에 있어서,
    복수의 링크를 갖는 노드에 대하여, 이들 링크 각각에 대한 데이터는 대응하는 링크의 크기(extent)에 따라 소정의 방식으로 배열되는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  10. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.
    제9항에 있어서,
    각 노드 및 그 링크 또는 링크들에 대한 데이터는 데이터 시퀀스로서 배열되고, 각 노드에 대한 상기 데이터 시퀀스들은 상기 노드의 시간순 정렬에 대응하는 순서로 데이터 스트림 내에 함께 배열되며,
    복수의 링크를 갖는 노드에 대하여, 최장 링크에 대한 데이터는 데이터 시퀀스 내의 복수의 링크 중 다른 링크에 비하여 항상 동일한 상대 위치에 위치하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  11. 청구항 11은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서,
    상기 최장 링크에 대한 데이터는 각 데이터 시퀀스 내의 복수의 링크 중에서 항상 선두 또는 최후에 위치하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    제1항, 제2항 및 제4항 중 어느 한 항에 있어서,
    데이터베이스에서의 이용을 위하여, 상기 데이터베이스 내에서의 각 블록의 위치를 정의하는 데이터를 더 구비하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제1항, 제2항 및 제4항 중 어느 한 항에 있어서,
    상기 노드 각각에 대한 타임 스탬프(time stamp) 정보를 정의하는 데이터를 더 구비하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  14. 제4항에 있어서,
    상기 노드 각각에 대한 타임 스탬프 정보를 정의하는 데이터를 더 구비하고,
    상기 음소 및 단어 격자를 정의하는 데이터는 시간 순차 신호를 정의하는 추가 데이터와 연관되어 있으며,
    상기 타임 스탬프 정보는 상기 시간 순차 신호와 시간적으로 동기화된 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  15. 제14항에 있어서,
    상기 추가 데이터는 오디오 또는 비디오 신호를 정의하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  16. 제15항에 있어서,
    상기 추가 데이터는 적어도 음성 데이터를 정의하며,
    상기 음소 또는 단어 격자를 정의하는 데이터는 상기 추가 데이터로부터 얻어지는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  17. 제16항에 있어서,
    상기 음성 데이터는 오디오 데이터를 포함하며,
    상기 음소 또는 단어 격자를 정의하는 데이터는 상기 오디오 신호를 자동 음성 인식 시스템에 통과시킴으로써 얻어지는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제16항 또는 제17항에 있어서,
    상기 음성 데이터는 복수의 화자의 발성(parol)을 정의하며,
    상기 데이터는 각 화자의 발성에 대하여 별개의 음소 또는 단어 격자를 정의하는 것을 특징으로 하는 데이터 구조가 기록된 컴퓨터 판독가능 기록매체.
  19. 사용자의 입력 질의에 응답하여 제4항 및 제14항 내지 제17항 중 어느 한 항의 데이터 구조를 포함하는 데이터베이스를 탐색하는 장치에 있어서,
    상기 사용자의 입력 질의에 대응하는 음소 또는 단어 데이터를 생성하는 수단;
    상기 입력 질의에 대하여 생성된 상기 음소 또는 단어 데이터를 이용하여 음소 또는 단어 격자를 탐색하는 수단; 및
    상기 탐색 수단으로부터의 출력에 따라 탐색 결과를 출력하는 수단
    을 포함하는 것을 특징으로 하는 데이터베이스 탐색 장치.
  20. 제19항에 있어서,
    상기 데이터 구조는 음소 및 단어 격자를 정의하며,
    상기 사용자의 입력 질의에 대응하는 음소 및 단어 데이터를 생성하는 수단; 및
    상기 입력 질의에 대하여 생성된 상기 음소 및 단어 데이터를 이용하여 음소 및 단어 격자를 탐색하는 수단을 더 구비하는 것을 특징으로 하는 데이터베이스 탐색 장치.
  21. 사용자의 입력 질의에 응답하여 제4항 및 제14항 내지 제17항 중 어느 한 항의 데이터 구조를 포함하는 데이터베이스를 탐색하는 방법에 있어서,
    상기 사용자의 입력 질의에 대응하는 음소 또는 단어 데이터를 생성하는 단계;
    상기 입력 질의에 대하여 생성된 상기 음소 또는 단어 데이터를 이용하여 음소 또는 단어 격자를 탐색하는 단계; 및
    상기 탐색 단계의 결과에 따라 탐색 결과를 출력하는 단계
    를 포함하는 것을 특징으로 하는 데이터베이스 탐색 방법.
  22. 제21항에 있어서,
    상기 데이터 구조는 음소 및 단어 격자를 정의하며,
    상기 사용자의 입력 질의에 대응하는 음소 및 단어 데이터를 생성하는 단계; 및
    상기 입력 질의에 대하여 생성된 상기 음소 및 단어 데이터를 이용하여 음소 및 단어 격자를 탐색하는 단계
    를 더 포함하는 것을 특징으로 하는 데이터베이스 탐색 방법.
  23. 데이터 파일을 주석 처리하는데 이용하기 위한 주석 데이터를 생성하는 장치에 있어서,
    음소 또는 단어 데이터를 수신하는 수신 수단; 및
    상기 수신된 음소 또는 단어 데이터에 대응하는 음소 또는 단어 격자를 정의하는 주석 데이터를 생성하는 제1 생성 수단
    을 포함하되,
    상기 제1 생성 수단은,
    상기 격자 내에 시간순으로 정렬된 복수의 노드를 정의하는 노드 데이터를 생성하는 제2 생성 수단;
    상기 격자 내에 복수의 링크 - 각 링크는 제1 노드로부터 제2 노드로 연장함 - 를 정의하는 링크 데이터를 생성하는 제3 생성 수단;
    각 노드 또는 링크를 상기 음소 또는 단어 데이터로부터의 음소 또는 단어와 연관시키는 연관 데이터를 생성하는 제4 생성 수단; 및
    주어진 블록 내의 노드로부터의 링크가 상기 시퀀스에서 소정 갯수의 블록 다음의 블록 내의 노드를 넘어 연장되지 않는다는 블록 기준(block criteria)을 충족하도록, 상기 노드를 시간순으로 정렬된 블록의 시퀀스로 배열하기 위한 블록 데이터를 생성하는 제5 생성 수단
    을 더 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  24. 제23항에 있어서,
    상기 블록 기준은 주어진 블록 내의 노드로부터의 링크가 후속하는 블록 내의 노드를 넘어 연장되지 않는다는 것임을 특징으로 하는 주석 데이터 생성 장치.
  25. 제23항에 있어서,
    상기 제1 생성 수단은 각 노드에 대한 노드 데이터 및 각 링크에 대한 링크 데이터를 처리함으로써 상기 음소 또는 단어 격자를 형성하는 처리 수단을 구비하며,
    상기 처리 수단은,
    ⅰ) 현재 블록 내의 노드의 갯수가 소정의 갯수에 도달할 때까지 상기 격자의 현재 블록에 하나 또는 그 이상의 노드 및 연관 링크 또는 링크들을 부가하는 수단;
    ⅱ) 상기 블록 기준에 따라 현재 블록이 분할될 수 있는지를 판정하는 제1 판정 수단; 및
    ⅲ) 현재 블록을 적어도 2개의 노드 블록으로 분할하는 분할 수단
    을 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  26. 청구항 26은(는) 설정등록료 납부시 포기되었습니다.
    제25항에 있어서,
    각각의 음소 또는 단어에 대하여 상기 노드 데이터 및 상기 링크 데이터를 상기 음소 또는 단어 데이터에 따라서 개별적으로 생성하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  27. 청구항 27은(는) 설정등록료 납부시 포기되었습니다.
    제26항에 있어서,
    상기 음소 또는 단어 격자를 형성하기에 앞서 모든 노드 데이터 및 모든 링크 데이터를 생성하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  28. 청구항 28은(는) 설정등록료 납부시 포기되었습니다.
    제26항에 있어서,
    각각의 음소 또는 단어에 대한 상기 노드 데이터 및 링크 데이터를, 상기 음소 또는 단어 격자에 점진적으로 부가하여, 상기 음소 또는 단어 각각에 대하여 생성되도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  29. 청구항 29은(는) 설정등록료 납부시 포기되었습니다.
    제28항에 있어서,
    처리 중인 현재의 음소 또는 단어에 대하여, 개시 및 종료 시간에 대한 노드가 이미 존재하는지의 여부를 판정하고,
    아직 존재하고 있지 않다면, 상기 개시 및 종료 시간에 대응하는 노드 또는 노드들을 상기 격자에 부가하며,
    처리 중인 현재 음소 또는 단어에 대하여, 상기 개시 및 종료 시간에 대응하는 노드 또는 노드들 사이에 링크를 부가함으로써,
    상기 노드 데이터 및 링크 데이터를 점진적으로 부가하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  30. 제25항 내지 제29항 중 어느 한 항에 있어서,
    선행하는 블록에서 시작된 임의의 링크가 연장을 종료하는 블록 내의 최종 노드를 식별하는, 각 블록에 대한 제1 타이밍 또는 노드 포인트(β)와, 링크가 후속하는 블록으로 연장을 시작하는 블록 내의 최초 노드를 식별하는, 각 블록에 대한 제2 타이밍 또는 노드 포인트(α)를 판정하는 제2 판정 수단을 더 구비하며,
    상기 제1 판정 수단은, 상기 제1 타이밍 또는 노드 포인트(β)가 상기 제2 타이밍 또는 노드 포인트(α)의 앞에 있는지를 판정함으로써, 상기 블록 기준에 따라서 현재의 노드 블록이 분할될 수 있는지를 판정하도록 작동하고,
    상기 분할 수단은, 상기 제1 판정 수단에서 현재의 노드 블록이 분할될 수 있는 것으로 판정하는 것에 응답하여, 상기 현재의 블록을 분할하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  31. 청구항 31은(는) 설정등록료 납부시 포기되었습니다.
    제30항에 있어서,
    상기 제2 판정 수단은, 상기 격자에 추가 노드가 부가되는 경우에, 각 블록에 대한 상기 제1 타이밍 또는 노드 포인트(β) 및 상기 제2 타이밍 또는 노드 포인트(α)를 갱신하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  32. 청구항 32은(는) 설정등록료 납부시 포기되었습니다.
    제30항에 있어서,
    상기 분할 수단은, 상기 제1 타이밍 또는 노드 포인트(β) 및 상기 제2 타이밍 또는 노드 포인트(α) 사이에서 상기 현재의 블록을 분할하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  33. 청구항 33은(는) 설정등록료 납부시 포기되었습니다.
    제30항에 있어서,
    상기 분할 수단은, 상기 선행하는 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 시작되고, 상기 현재 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 종료되는 새로운 블록을 형성함으로써, 상기 현재 블록을 분할하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  34. 청구항 34은(는) 설정등록료 납부시 포기되었습니다.
    제30항에 있어서,
    상기 분할 수단은, 상기 선행하는 블록의 제1 타이밍 또는 노드 포인트(β)가 상기 선행하는 블록의 제2 타이밍 또는 노드 포인트(α)보다 뒤에 있는 경우에는, 상기 선행하는 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 시작되고, 상기 현재 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 종료되는 새로운 블록을 형성함으로써, 상기 현재 블록을 분할하도록 작동하는 한편,
    상기 분할 수단은, 상기 선행하는 블록의 제1 타이밍 또는 노드 포인트(β)가 상기 선행하는 블록의 제2 타이밍 또는 노드 포인트(α)보다 앞에 있는 경우에는, 상기 제1 타이밍 또는 노드 포인트(β)와 상기 제2 타이밍 또는 노드 포인트(α) 사이에서 상기 현재 블록을 분할하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  35. 청구항 35은(는) 설정등록료 납부시 포기되었습니다.
    제23항 내지 제29항 중 어느 한 항에 있어서,
    입력 오디오 또는 텍스트 데이터로부터 상기 음소 또는 단어 데이터를 생성하는 제6 생성 수단을 더 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  36. 청구항 36은(는) 설정등록료 납부시 포기되었습니다.
    제35항에 있어서,
    상기 데이터 파일은 오디오 데이터를 구비하고,
    상기 제6 생성 수단은 상기 데이터 파일 내의 상기 오디오 데이터에 대한 음소 데이터를 생성하는 자동 음성 인식 시스템을 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  37. 청구항 37은(는) 설정등록료 납부시 포기되었습니다.
    제36항에 있어서,
    상기 제6 생성 수단은, 상기 자동 음성 인식 시스템에 의해 생성된 상기 음소 데이터 내에서 가능한 단어를 식별함으로써 단어 데이터를 생성하는 단어 디코더를 더 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  38. 청구항 38은(는) 설정등록료 납부시 포기되었습니다.
    제35항에 있어서,
    상기 데이터 파일은 텍스트 데이터를 구비하고,
    상기 제6 생성 수단은 상기 데이터 파일 내의 상기 텍스트 데이터로부터 음소 데이터를 생성하는 텍스트-음소 변환기를 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  39. 청구항 39은(는) 설정등록료 납부시 포기되었습니다.
    제32항에 있어서,
    상기 제6 생성 수단은,
    a) 입력 음성 주석 신호를 수신 및 처리하는 수단;
    b) 텍스트 주석을 수신 및 처리하는 수단; 및
    c) 텍스트 문서를 나타내는 이미지 데이터를 수신하는 수단 및 상기 이미지 데이터를 텍스트 데이터로 변환하는 문자 인식 유닛
    중의 하나를 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  40. 청구항 40은(는) 설정등록료 납부시 포기되었습니다.
    제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 제1 생성 수단은 상기 노드 각각에 대한 타임 스탬프 정보를 정의하는 데이터를 생성하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  41. 제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 제1 생성 수단은 상기 데이터베이스 내의 각 블록의 위치를 정의하는 데이터를 생성하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  42. 청구항 42은(는) 설정등록료 납부시 포기되었습니다.
    제40항에 있어서,
    상기 데이터 파일은 시간 순차 신호를 포함하고,
    상기 제1 생성 수단은 상기 시간 순차 신호와 시간적으로 동기화된 타임 스탬프 데이터를 생성하도록 작동하는 것을 특징으로 하는 주석 데이터 생성 장치.
  43. 청구항 43은(는) 설정등록료 납부시 포기되었습니다.
    제42항에 있어서,
    상기 시간 순차 신호는 오디오 또는 비디오 신호인 것을 특징으로 하는 주석 데이터 생성 장치.
  44. 하나 또는 그 이상의 음소 또는 단어에 대응하는 데이터를, 제4항 및 제14항 내지 제17항 중 어느 한 항에 따른 음소 또는 단어 격자를 정의하는 데이터 구조에 부가하는 장치에 있어서,
    ⅰ) 부가되는 음소 또는 단어의 개시 및 종료 시간에 대한 노드가 상기 격자 내에 이미 존재하는지의 여부를 판정하고, 아직 존재하지 않는 경우에는, 상기 개시 및 종료 시간에 대응하는 노드 또는 노드들을 상기 격자 내에 삽입함으로써, 상기 격자 내에 노드 또는 노드들을 삽입하는 노드 처리 수단;
    ⅱ) 상기 부가되는 음소 또는 단어에 대한 상기 개시 및 종료 시간에 대응하는 노드들 사이에 링크를 부가하는 링크 처리 수단;
    ⅲ) 추가 노드 또는 노드들의 삽입으로 인하여 기존 노드 중에서 변경될 필요가 있는 연관된 링크 데이터를 가질 가능성이 있는 노드를 선택하는 선택 수단;
    ⅳ) 상기 선택된 기존 노드의 링크 데이터를 분석하는 분석 수단; 및
    ⅴ) 필요하다면 상기 분석된 링크 데이터를 변경하는 수단
    을 포함하며,
    상기 선택 수단은, 추가 노드 각각에 대하여, 상기 추가 노드를 포함하는 블록에서 상기 추가 노드에 선행하는 노드와, 상기 추가 노드를 포함하는 블록을 소정 갯수의 블록보다 작거나 같은 갯수의 블록만큼 선행하는 각 블록에서의 모든 노드를 선택하는 것을 특징으로 하는 데이터 부가 장치.
  45. 청구항 45은(는) 설정등록료 납부시 포기되었습니다.
    제44항에 있어서,
    상기 선택 수단은, 주어진 블록 내에 삽입되는 추가 노드에 대하여, ⅰ) 삽입되는 상기 노드에 선행하는 상기 주어진 블록 내의 노드와, ⅱ) 상기 선행하는 블록 내의 모든 노드만을 선택하도록 작동하는 것을 특징으로 하는 데이터 부가 장치.
  46. 청구항 46은(는) 설정등록료 납부시 포기되었습니다.
    제44항에 있어서,
    상기 데이터 구조의 주어진 블록 내의 노드로부터의 상기 링크는 후속하는 블록 내의 노드를 넘어 연장되지 않으며,
    상기 데이터 구조는,
    선행하는 블록에서 시작된 임의의 링크가 연장을 종료하는 블록 내의 최종 노드를 식별하는, 각 블록에 대한 제1 타이밍 또는 노드 포인트(β)를 정의하는 데이터와; 임의의 링크가 후속하는 블록으로 연장을 시작하는 블록 내의 최초 노드를 식별하는, 각 블록에 대한 제2 타이밍 또는 노드 포인트(α)를 정의하는 데이터를 더 구비하며,
    상기 선택 수단은, 타이밍 또는 노드 포인트에 의해 정의된 삽입 위치에서 주어진 블록 내에 삽입되는 추가 노드에 대하여,
    a) 상기 삽입 위치가 상기 주어진 블록의 제1 타이밍 또는 노드 포인트(β)의 뒤에 있는 경우에는, 상기 삽입 위치에 선행하는 상기 주어진 블록 내의 기존 노드만을, 또한
    b) 상기 삽입 위치가 상기 주어진 블록의 제1 타이밍 또는 노드 포인트(β)의 앞에 있는 경우에는, ⅰ) 상기 삽입 위치에 선행하는 상기 주어진 블록 내의 기존 노드와, ⅱ) 상기 선행하는 블록의 제2 타이밍 또는 노드 포인트(α) 또는 그 뒤에 있는 상기 선행하는 블록 내의 노드만을
    선택하도록 작동하는 것을 특징으로 하는 데이터 부가 장치.
  47. 청구항 47은(는) 설정등록료 납부시 포기되었습니다.
    제44항에 있어서,
    상기 데이터 구조 내의 복수의 링크를 갖는 노드에 대하여, 이들 링크 각각에 대한 데이터는 대응하는 링크의 크기(extent)에 따라 소정의 방식으로 배열되며,
    상기 분석 수단은 각각의 선택된 노드로부터 연장되는 최장 링크만을 분석하도록 구성된 것을 특징으로 하는 데이터 부가 장치.
  48. 청구항 48은(는) 설정등록료 납부시 포기되었습니다.
    제23항 내지 제29항 중 어느 한 항에 있어서,
    제44항에 따른 장치를 더 구비하며,
    부가되는 하나 또는 그 이상의 음소 또는 단어에 대응하는 데이터를 이전에 수신한 음소 또는 단어 데이터에 부가하는 것을 특징으로 하는 데이터 부가 장치.
  49. 데이터 파일을 주석 처리하는데 이용하기 위한 주석 데이터를 생성하는 방법에 있어서,
    ⅰ) 음소 또는 단어 데이터를 수신하는 단계; 및
    ⅱ) 상기 수신된 음소 또는 단어 데이터에 대응하는 음소 또는 단어 격자를 정의하는 주석 데이터를 생성하는 단계
    를 포함하며,
    상기 격자를 정의하는 주석 데이터를 생성하는 단계는,
    상기 격자 내에 시간순으로 정렬된 복수의 노드를 정의하는 노드 데이터를 생성하는 단계;
    상기 격자 내에 복수의 링크 - 각 링크는 제1 노드로부터 제2 노드로 연장함 - 를 정의하는 링크 데이터를 생성하는 단계;
    각 링크 또는 노드를 상기 음소 또는 단어 데이터로부터의 음소 또는 단어와 연관시키는 연관 데이터를 생성하는 단계; 및
    주어진 블록 내의 노드로부터의 링크가 상기 시퀀스에서 소정 갯수의 블록 다음의 블록 내의 노드를 넘어 연장되지 않는다는 블록 기준(block criteria)을 충족하도록, 상기 노드를 시간순으로 정렬된 블록의 시퀀스로 배열하기 위한 블록 데이터를 생성하는 단계
    를 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  50. 제49항에 있어서,
    상기 블록 기준은 주어진 블록 내의 노드로부터의 링크가 후속하는 블록 내의 노드를 넘어 연장되지 않는다는 것임을 특징으로 하는 주석 데이터 생성 방법.
  51. 제49항에 있어서,
    상기 격자를 정의하는 주석 데이터를 생성하는 단계는,
    각 노드에 대한 노드 데이터 및 각 링크에 대한 링크 데이터를 처리함으로써 상기 음소 또는 단어 격자를 형성하기 위한 단계로서,
    ⅰ) 상기 현재 블록 내의 노드의 갯수가 소정의 갯수에 도달할 때까지 상기 격자의 현재 블록에 하나 또는 그 이상의 노드 및 연관 링크 또는 링크들을 부가하는 단계;
    ⅱ) 상기 블록 기준에 따라 상기 현재 블록이 분할될 수 있는지를 판정하는 단계; 및
    ⅲ) 상기 현재 블록을 적어도 2개의 노드 블록으로 분할하는 단계
    를 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  52. 청구항 52은(는) 설정등록료 납부시 포기되었습니다.
    제51항에 있어서,
    상기 노드 데이터 및 상기 링크 데이터는 각각의 음소 또는 단어에 대하여 음소 또는 단어 데이터에 따라서 개별적으로 생성되는 것을 특징으로 하는 주석 데이터 생성 방법.
  53. 청구항 53은(는) 설정등록료 납부시 포기되었습니다.
    제52항에 있어서,
    상기 음소 또는 단어 격자를 형성하기에 앞서 모든 노드 데이터 및 모든 링크 데이터가 생성되는 것을 특징으로 하는 주석 데이터 생성 방법.
  54. 청구항 54은(는) 설정등록료 납부시 포기되었습니다.
    제52항에 있어서,
    각각의 음소 또는 단어에 대한 상기 노드 데이터 및 링크 데이터는, 상기 음소 또는 단어 격자에 점진적으로 부가되어, 상기 음소 또는 단어 각각에 대하여 생성되는 것을 특징으로 하는 주석 데이터 생성 방법.
  55. 청구항 55은(는) 설정등록료 납부시 포기되었습니다.
    제54항에 있어서,
    처리 중인 현재의 음소 또는 단어에 대하여, 개시 및 종료 시간에 대한 노드가 이미 존재하는지의 여부를 판정하고,
    아직 존재하고 있지 않다면, 상기 개시 및 종료 시간에 대응하는 노드 또는 노드들을 상기 격자에 부가하며,
    처리 중인 현재 음소 또는 단어에 대하여, 상기 개시 및 종료 시간에 대응하는 노드 또는 노드들 사이에 링크를 부가함으로써,
    상기 노드 데이터 및 링크 데이터를 점진적으로 부가하는 것을 특징으로 하는 주석 데이터 생성 방법.
  56. 제51항 내지 제55항 중 어느 한 항에 있어서,
    선행하는 블록에서 시작된 임의의 링크가 연장을 종료하는 블록 내의 최종 노드를 식별하는, 각 블록에 대한 제1 타이밍 또는 노드 포인트(β)와, 링크가 후속하는 블록으로 연장을 시작하는 블록 내의 최초 노드를 식별하는, 각 블록에 대한 제2 타이밍 또는 노드 포인트(α)를 판정하는 단계를 더 포함하며,
    상기 블록 기준에 따라 상기 현재 블록이 분할될 수 있는지를 판정하는 상기단계는,
    상기 제1 타이밍 또는 노드 포인트(β)가 상기 제2 타이밍 또는 노드 포인트(α)의 앞에 있는지를 판정하는 단계를 포함하고,
    상기 현재의 노드 블록이 분할될 수 있는 것으로 판정하는 것에 응답하여, 상기 현재의 블록이 적어도 2개의 블록으로 분할되는 것을 특징으로 하는 주석 데이터 생성 방법.
  57. 청구항 57은(는) 설정등록료 납부시 포기되었습니다.
    제56항에 있어서,
    상기 격자에 추가 노드가 부가되는 경우에, 각 블록에 대한 상기 제1 타이밍 또는 노드 포인트(β) 및 상기 제2 타이밍 또는 노드 포인트(α)를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  58. 청구항 58은(는) 설정등록료 납부시 포기되었습니다.
    제56항에 있어서,
    상기 현재의 블록을 분할하는 단계는, 상기 제1 타이밍 또는 노드 포인트(β)와 상기 제2 타이밍 또는 노드 포인트(α) 사이에서 상기 현재의 블록을 분할하는 단계를 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  59. 청구항 59은(는) 설정등록료 납부시 포기되었습니다.
    제56항에 있어서,
    상기 현재의 블록을 분할하는 단계는, 상기 선행하는 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 시작되고, 상기 현재 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 종료되는 새로운 블록을 형성하는 단계를 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  60. 청구항 60은(는) 설정등록료 납부시 포기되었습니다.
    제56항에 있어서,
    상기 현재의 블록을 분할하는 단계는,
    상기 선행하는 블록의 상기 제1 타이밍 또는 노드 포인트(β)가 상기 선행하는 블록의 상기 제2 타이밍 또는 노드 포인트(α)보다 뒤에 있는 경우에는, 상기 선행하는 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 시작되고, 상기 현재 블록의 상기 제1 타이밍 또는 노드 포인트(β) 또는 그 근방에서 종료되는 새로운 블록을 형성하는 단계를 포함하는 한편,
    상기 선행하는 블록의 상기 제1 타이밍 또는 노드 포인트(β)가 상기 선행하는 블록의 상기 제2 타이밍 또는 노드 포인트(α)보다 앞에 있는 경우에는, 상기 제1 타이밍 또는 노드 포인트(β)와 상기 제2 타이밍 또는 노드 포인트(α) 사이에서 상기 현재의 블록을 분할하는 단계를 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  61. 청구항 61은(는) 설정등록료 납부시 포기되었습니다.
    제49항 내지 제55항 중 어느 한 항에 있어서,
    입력 오디오 또는 텍스트 데이터로부터 상기 음소 또는 단어 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  62. 청구항 62은(는) 설정등록료 납부시 포기되었습니다.
    제61항에 있어서,
    상기 데이터 파일은 오디오 데이터를 포함하고,
    자동 음성 인식 시스템을 이용하여 상기 데이터 파일의 오디오 데이터에 대한 음소 데이터를 생성하는 단계; 및
    단어 디코더를 이용하여 상기 자동 음성 인식 시스템에 의해 생성된 상기 음소 데이터 내에서 가능한 단어를 식별함으로써 단어 데이터를 생성하는 단계
    를 더 포함하며,
    상기 주석 생성 단계는 상기 생성된 음소 및 단어 데이터를 이용하여 음소 및 단어 격자를 정의하는 주석 데이터를 생성하는 것을 특징으로 하는 주석 데이터 생성 방법.
  63. 청구항 63은(는) 설정등록료 납부시 포기되었습니다.
    제61항에 있어서,
    상기 데이터 파일은 텍스트 데이터를 포함하고,
    텍스트-음소 변환기를 이용하여 상기 데이터 파일의 텍스트 데이터로부터 음소 데이터를 생성하는 단계를 더 포함하며,
    상기 주석 생성 단계는 상기 데이터 파일 내의 상기 텍스트 데이터 및 상기 생성된 음소 데이터를 이용하여 음소 및 단어 격자를 정의하는 주석 데이터를 생성하는 것을 특징으로 하는 주석 데이터 생성 방법.
  64. 청구항 64은(는) 설정등록료 납부시 포기되었습니다.
    제61항에 있어서,
    상기 음소 또는 단어 데이터를 생성하는 단계는,
    a) 입력 음성 주석 신호를 수신 및 처리하는 단계;
    b) 텍스트 주석을 수신 및 처리하는 단계; 및
    c) 텍스트 문서를 나타내는 이미지 데이터를 수신하고, 문자 인식 유닛을 이용하여 상기 이미지 데이터를 텍스트 데이터로 변환하는 단계
    중에서 하나를 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  65. 청구항 65은(는) 설정등록료 납부시 포기되었습니다.
    제49항 내지 제55항 중 어느 한 항에 있어서,
    상기 노드 각각에 대한 타임 스탬프 정보를 정의하는 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  66. 제49항 내지 제55항 중 어느 한 항에 있어서,
    상기 데이터베이스 내의 각 블록의 위치를 정의하는 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
  67. 청구항 67은(는) 설정등록료 납부시 포기되었습니다.
    제65항에 있어서,
    상기 데이터 파일은 시간 순차 신호를 포함하고,
    상기 생성된 타임 스탬프 데이터는 상기 시간 순차 신호와 시간적으로 동기화된 것을 특징으로 하는 주석 데이터 생성 방법.
  68. 청구항 68은(는) 설정등록료 납부시 포기되었습니다.
    제67항에 있어서,
    상기 시간 순차 신호는 오디오 또는 비디오 신호인 것을 특징으로 하는 주석 데이터 생성 방법.
  69. 제49항 또는 제50항에 있어서,
    각 노드에 대한 노드 데이터 및 각 링크에 대한 링크 데이터를 처리함으로써, 상기 음소 또는 단어 격자를 형성하는 단계를 더 포함하며,
    상기 처리는,
    ⅰ) 2개의 노드에 대한 노드 데이터 및 이들 사이의 하나 또는 그 이상의 링크에 대한 링크 데이터를 부가하고;
    ⅱ) 블록 데이터를 부가하여 상기 부가된 2개의 노드로 구성된 초기 노드 블록을 제공하고;
    ⅲ) 상기 초기 노드 블록에 하나 또는 그 이상의 추가 노드 또는 링크에 대한 추가 노드 데이터 또는 링크 데이터를 부가하고;
    ⅳ) 상기 초기 노드 블록 내의 노드의 갯수가 소정의 갯수의 노드에 도달할 때까지 상기 (ⅲ)을 반복하고;
    ⅴ) 상기 초기 노드 블록이 상기 블록 기준에 따라 분할될 수 있는지를 판정하고;
    ⅵ) 상기 초기 노드 블록을 적어도 2개의 현재 노드 블록으로 분할하도록 추가 블록 데이터를 부가하고;
    ⅶ) 상기 현재의 노드 블록 중 하나에 하나 또는 그 이상의 추가 노드 또는 링크에 대한 추가 노드 데이터 또는 링크 데이터를 부가하고;
    ⅷ) 임의의 현재 블록 내의 노드의 갯수가 상기 소정의 갯수의 노드에 도달한 것으로 식별될 때까지 상기 (ⅶ)을 반복하고;
    ⅸ) 상기 블록 기준에 따라 상기 식별된 현재 블록이 분할될 수 있는지를 판정하고;
    ⅹ) 상기 식별된 현재 블록을 적어도 2개의 블록으로 분할하도록 추가 블록 데이터를 부가하고; 및
    xi) 필요하다면, 상기 음소 또는 단어 데이터에 대하여 생성된 모든 노드 및 링크에 대한 노드 데이터 및 링크 데이터가 상기 음소 또는 단어 격자에 부가될 때까지, 상기 (ⅷ), (ⅸ) 및 (ⅹ)을 반복
    함으로써 수행되는 것을 특징으로 하는 주석 데이터 생성 방법.
  70. 제4항 및 제14항 내지 제17항 중 어느 한 항에 따른 음소 또는 단어 격자를 정의하는 데이터 구조에 하나 또는 그 이상의 음소 또는 단어에 대응하는 데이터를 부가하는 방법에 있어서,
    ⅰ) 부가되는 음소 또는 단어의 개시 및 종료 시간에 대한 노드가 상기 격자 내에 이미 존재하는지의 여부를 판정하고, 아직 존재하지 않는 경우에는, 상기 개시 및 종료 시간에 대응하는 노드 또는 노드들을 상기 격자 내에 삽입함으로써, 상기 격자 내에 노드 또는 노드들을 삽입하는 단계;
    ⅱ) 상기 부가되는 음소 또는 단어에 대한 상기 개시 및 종료 시간에 대응하는 노드들 사이에 링크를 부가하는 단계;
    ⅲ) 추가 노드 또는 노드들의 삽입으로 인하여 기존 노드 중에서 변경될 필요가 있는 연관된 링크 데이터를 가질 가능성이 있는 노드를 선택하는 단계;
    ⅳ) 상기 선택된 기존 노드의 링크 데이터를 분석하는 단계; 및
    ⅴ) 필요하다면 상기 분석된 링크 데이터를 변경하는 단계
    를 포함하며,
    상기 선택하는 단계는, 추가 노드 각각에 대하여, 상기 추가 노드를 포함하는 블록에서 상기 추가 노드에 선행하는 노드와, 상기 추가 노드를 포함하는 블록을 소정 갯수의 블록보다 작거나 같은 갯수의 블록만큼 선행하는 각 블록에서의 모든 노드를 선택하는 것을 특징으로 하는 데이터 부가 방법.
  71. 청구항 71은(는) 설정등록료 납부시 포기되었습니다.
    제70항에 있어서,
    상기 선택하는 단계는, 주어진 블록 내에 삽입되는 추가 노드에 대하여, ⅰ) 상기 삽입되는 노드에 선행하는 상기 주어진 블록 내의 노드와, ⅱ) 상기 선행하는 블록 내의 모든 노드만을 선택하는 것을 특징으로 하는 데이터 부가 방법.
  72. 청구항 72은(는) 설정등록료 납부시 포기되었습니다.
    제70항에 있어서,
    상기 데이터 구조의 주어진 블록 내의 노드로부터의 상기 링크는 후속하는 블록 내의 노드를 넘어 연장되지 않으며,
    상기 데이터 구조는,
    선행하는 블록에서 시작된 임의의 링크가 연장을 종료하는 블록 내의 최종 노드를 식별하는, 각 블록에 대한 제1 타이밍 또는 노드 포인트(β)를 정의하는 데이터와; 임의의 링크가 후속하는 블록으로 연장을 시작하는 블록 내의 최초 노드를 식별하는, 각 블록에 대한 제2 타이밍 또는 노드 포인트(α)를 정의하는 데이터를 더 구비하며,
    상기 선택하는 단계는, 타이밍 또는 노드 포인트에 의해 정의된 삽입 위치에서 주어진 블록 내에 삽입되는 추가 노드에 대하여,
    a) 상기 삽입 위치가 상기 주어진 블록의 제1 타이밍 또는 노드 포인트(β)의 뒤에 있는 경우에는, 상기 삽입 위치에 선행하는 상기 주어진 블록 내의 기존 노드만을; 또한
    b) 상기 삽입 위치가 상기 주어진 블록의 제1 타이밍 또는 노드 포인트(β)의 앞에 있는 경우에는, ⅰ) 상기 삽입 위치에 선행하는 상기 주어진 블록 내의 기존 노드와, ⅱ) 상기 선행하는 블록의 제2 타이밍 또는 노드 포인트(α) 또는 그 뒤에 있는 상기 선행하는 블록 내의 노드만을
    선택하는 것을 특징으로 하는 데이터 부가 방법.
  73. 청구항 73은(는) 설정등록료 납부시 포기되었습니다.
    제70항에 있어서,
    상기 데이터 구조 내의 복수의 링크를 갖는 노드에 대하여, 이들 링크 각각에 대한 데이터는 대응하는 링크의 크기(extent)에 따라 소정의 방식으로 배열되며,
    상기 분석하는 단계는 각각의 선택된 노드로부터 연장되는 최장 링크만을 분석하는 것을 특징으로 하는 데이터 부가 방법.
  74. 청구항 74은(는) 설정등록료 납부시 포기되었습니다.
    제49항 내지 제55항 중 어느 한 항에 있어서,
    제70항에 따른 방법을 이용하여 상기 격자에 추가 데이터를 부가하는 단계를 더 포함하는 것을 특징으로 하는 데이터 부가 방법.
  75. 청구항 75은(는) 설정등록료 납부시 포기되었습니다.
    제49항 내지 제55항 중 어느 한 항의 방법을 프로세서로 하여금 실행하도록 제어하기 위한 프로세서 실행 가능 명령을 담고 있는 컴퓨터 판독가능 기록매체.
  76. 데이터 파일을 주석 처리하는데 이용하기 위한 주석 데이터를 생성하는 장치에 있어서,
    음소 또는 단어 데이터를 수신하는 수신 수단; 및
    상기 수신된 음소 또는 단어 데이터에 대응하는 음소 또는 단어 격자를 정의하는 주석 데이터를 생성하는 생성 수단
    을 포함하며,
    상기 생성 수단은,
    상기 격자 내에 복수의 노드를 정의하는 노드 데이터를 생성하는 제1 생성 수단;
    상기 격자 내에 복수의 링크 - 각 링크는 제1 노드로부터 제2 노드로 연장함 - 를 정의하는 링크 데이터를 생성하는 제2 생성 수단; 및
    주어진 블록 내의 노드로부터의 링크가 상기 시퀀스에서 소정 갯수의 블록 다음의 블록 내의 노드를 넘어 연장되지 않도록, 상기 노드를 블록열(a sequence of blocks)로 배열하기 위한 블록 데이터를 생성하는 제3 생성 수단
    을 구비하는 것을 특징으로 하는 주석 데이터 생성 장치.
  77. 데이터 파일을 주석 처리하는데 이용하기 위한 주석 데이터를 생성하는 방법에 있어서,
    음소 또는 단어 데이터를 수신하는 단계; 및
    상기 수신된 음소 또는 단어 데이터에 대응하는 음소 또는 단어 격자를 정의하는 주석 데이터를 생성하는 단계
    를 포함하며,
    상기 격자를 정의하는 주석 데이터를 생성하는 단계는,
    상기 격자 내에 복수의 노드를 정의하는 노드 데이터를 생성하는 단계;
    상기 격자 내에 복수의 링크 - 각 링크는 제1 노드로부터 제2 노드로 연장함 - 를 정의하는 링크 데이터를 생성하는 단계; 및
    주어진 블록 내의 노드로부터의 링크가 상기 시퀀스에서 소정 갯수의 블록 다음의 블록 내의 노드를 넘어 연장되지 않도록, 상기 노드를 블록열(a sequence of blocks)로 배열하기 위한 블록 데이터를 생성하는 단계
    를 포함하는 것을 특징으로 하는 주석 데이터 생성 방법.
KR1020037004522A 2000-09-29 2001-09-28 데이터베이스 주석 처리 및 검색 KR100612169B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0023930.1 2000-09-29
GBGB0023930.1A GB0023930D0 (en) 2000-09-29 2000-09-29 Database annotation and retrieval
PCT/GB2001/004331 WO2002027546A2 (en) 2000-09-29 2001-09-28 Database annotation and retrieval

Publications (2)

Publication Number Publication Date
KR20030072327A KR20030072327A (ko) 2003-09-13
KR100612169B1 true KR100612169B1 (ko) 2006-08-14

Family

ID=9900403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037004522A KR100612169B1 (ko) 2000-09-29 2001-09-28 데이터베이스 주석 처리 및 검색

Country Status (8)

Country Link
US (1) US7240003B2 (ko)
EP (1) EP1327206A2 (ko)
JP (1) JP2004510256A (ko)
KR (1) KR100612169B1 (ko)
CN (1) CN1227613C (ko)
AU (1) AU2001290136A1 (ko)
GB (1) GB0023930D0 (ko)
WO (1) WO2002027546A2 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882970B1 (en) 1999-10-28 2005-04-19 Canon Kabushiki Kaisha Language recognition using sequence frequency
CN1329861C (zh) 1999-10-28 2007-08-01 佳能株式会社 模式匹配方法和装置
US7310600B1 (en) 1999-10-28 2007-12-18 Canon Kabushiki Kaisha Language recognition using a similarity measure
GB0011798D0 (en) 2000-05-16 2000-07-05 Canon Kk Database annotation and retrieval
JP4175093B2 (ja) * 2002-11-06 2008-11-05 日本電信電話株式会社 トピック境界決定方法及び装置及びトピック境界決定プログラム
GB0230097D0 (en) * 2002-12-24 2003-01-29 Koninkl Philips Electronics Nv Method and system for augmenting an audio signal
JP2005027048A (ja) * 2003-07-02 2005-01-27 Minolta Co Ltd 撮像装置および画像への注釈情報の付与方法
US7725318B2 (en) * 2004-07-30 2010-05-25 Nice Systems Inc. System and method for improving the accuracy of audio searching
US7912699B1 (en) * 2004-08-23 2011-03-22 At&T Intellectual Property Ii, L.P. System and method of lattice-based search for spoken utterance retrieval
JP4587165B2 (ja) * 2004-08-27 2010-11-24 キヤノン株式会社 情報処理装置及びその制御方法
JP4638726B2 (ja) * 2004-12-22 2011-02-23 株式会社アルファジェン サンプルセット製造方法、遺伝子整列プログラム及びサンプルセット
US8225335B2 (en) * 2005-01-05 2012-07-17 Microsoft Corporation Processing files from a mobile device
US8694317B2 (en) * 2005-02-05 2014-04-08 Aurix Limited Methods and apparatus relating to searching of spoken audio data
EP1693829B1 (en) * 2005-02-21 2018-12-05 Harman Becker Automotive Systems GmbH Voice-controlled data system
US7634407B2 (en) 2005-05-20 2009-12-15 Microsoft Corporation Method and apparatus for indexing speech
US7809568B2 (en) 2005-11-08 2010-10-05 Microsoft Corporation Indexing and searching speech with text meta-data
US7831428B2 (en) * 2005-11-09 2010-11-09 Microsoft Corporation Speech index pruning
US7831425B2 (en) * 2005-12-15 2010-11-09 Microsoft Corporation Time-anchored posterior indexing of speech
JP2007178927A (ja) * 2005-12-28 2007-07-12 Canon Inc 情報検索装置および方法
TWI312945B (en) * 2006-06-07 2009-08-01 Ind Tech Res Inst Method and apparatus for multimedia data management
US7756710B2 (en) * 2006-07-13 2010-07-13 Sri International Method and apparatus for error correction in speech recognition applications
CN101641676A (zh) * 2007-01-17 2010-02-03 语言世界公司 用于操纵主要视听数据内容和关联次要数据内容的方法和装置
US20080270344A1 (en) * 2007-04-30 2008-10-30 Yurick Steven J Rich media content search engine
US20080270110A1 (en) * 2007-04-30 2008-10-30 Yurick Steven J Automatic speech recognition with textual content input
US7983915B2 (en) * 2007-04-30 2011-07-19 Sonic Foundry, Inc. Audio content search engine
US8831946B2 (en) * 2007-07-23 2014-09-09 Nuance Communications, Inc. Method and system of indexing speech data
US9405823B2 (en) * 2007-07-23 2016-08-02 Nuance Communications, Inc. Spoken document retrieval using multiple speech transcription indices
EP2058800B1 (en) * 2007-10-24 2010-09-01 Harman Becker Automotive Systems GmbH Method and system for recognizing speech for searching a database
US8504361B2 (en) * 2008-02-07 2013-08-06 Nec Laboratories America, Inc. Deep neural networks and methods for using same
US20130166303A1 (en) * 2009-11-13 2013-06-27 Adobe Systems Incorporated Accessing media data using metadata repository
US20110224982A1 (en) * 2010-03-12 2011-09-15 c/o Microsoft Corporation Automatic speech recognition based upon information retrieval methods
US8447604B1 (en) 2010-04-12 2013-05-21 Adobe Systems Incorporated Method and apparatus for processing scripts and related data
US8788434B2 (en) * 2010-10-28 2014-07-22 Google Inc. Search with joint image-audio queries
US8959071B2 (en) 2010-11-08 2015-02-17 Sony Corporation Videolens media system for feature selection
US20120245936A1 (en) * 2011-03-25 2012-09-27 Bryan Treglia Device to Capture and Temporally Synchronize Aspects of a Conversation and Method and System Thereof
US8938393B2 (en) * 2011-06-28 2015-01-20 Sony Corporation Extended videolens media engine for audio recognition
JP2013025299A (ja) * 2011-07-26 2013-02-04 Toshiba Corp 書き起こし支援システムおよび書き起こし支援方法
US8849041B2 (en) * 2012-06-04 2014-09-30 Comcast Cable Communications, Llc Data recognition in content
EP2680165B1 (en) * 2012-06-28 2016-01-06 JaJah Ltd System and method to perform textual queries on voice communications
CN104978963A (zh) * 2014-04-08 2015-10-14 富士通株式会社 语音识别装置、方法以及电子设备
JP6400936B2 (ja) * 2014-04-21 2018-10-03 シノイースト・コンセプト・リミテッド 音声検索方法、音声検索装置、並びに、音声検索装置用のプログラム
JP6562698B2 (ja) * 2015-04-28 2019-08-21 株式会社東芝 ラティス確定装置、パターン認識装置、ラティス確定方法およびプログラム
US10452661B2 (en) 2015-06-18 2019-10-22 Microsoft Technology Licensing, Llc Automated database schema annotation
US10769495B2 (en) * 2018-08-01 2020-09-08 Adobe Inc. Collecting multimodal image editing requests
CN111354348B (zh) * 2018-12-21 2024-04-26 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
KR20210033258A (ko) 2019-09-18 2021-03-26 삼성전자주식회사 시퀀스 처리 방법 및 장치

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227176A (en) 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
JPS59226400A (ja) 1983-06-07 1984-12-19 松下電器産業株式会社 音声認識装置
US5131043A (en) 1983-09-05 1992-07-14 Matsushita Electric Industrial Co., Ltd. Method of and apparatus for speech recognition wherein decisions are made based on phonemes
FR2554623B1 (fr) 1983-11-08 1986-08-14 Texas Instruments France Procede d'analyse de la parole independant du locuteur
US4980918A (en) 1985-05-09 1990-12-25 International Business Machines Corporation Speech recognition system with efficient storage and rapid assembly of phonological graphs
US4903305A (en) 1986-05-12 1990-02-20 Dragon Systems, Inc. Method for representing word models for use in speech recognition
JP2739945B2 (ja) 1987-12-24 1998-04-15 株式会社東芝 音声認識方法
US5075896A (en) 1989-10-25 1991-12-24 Xerox Corporation Character and phoneme recognition based on probability clustering
US6236964B1 (en) 1990-02-01 2001-05-22 Canon Kabushiki Kaisha Speech recognition apparatus and method for matching inputted speech and a word generated from stored referenced phoneme data
US5136655A (en) 1990-03-26 1992-08-04 Hewlett-Pacard Company Method and apparatus for indexing and retrieving audio-video data
US5202952A (en) 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
US5390278A (en) 1991-10-08 1995-02-14 Bell Canada Phoneme based speech recognition
US5333275A (en) 1992-06-23 1994-07-26 Wheatley Barbara J System and method for time aligning speech
US5625554A (en) 1992-07-20 1997-04-29 Xerox Corporation Finite-state transduction of related word forms for text indexing and retrieval
ATE260486T1 (de) 1992-07-31 2004-03-15 Ibm Auffindung von zeichenketten in einer datenbank von zeichenketten
EP0597798A1 (en) 1992-11-13 1994-05-18 International Business Machines Corporation Method and system for utilizing audible search patterns within a multimedia presentation
WO1994014270A1 (en) 1992-12-17 1994-06-23 Bell Atlantic Network Services, Inc. Mechanized directory assistance
US5467425A (en) 1993-02-26 1995-11-14 International Business Machines Corporation Building scalable N-gram language models using maximum likelihood maximum entropy N-gram models
US5787414A (en) 1993-06-03 1998-07-28 Kabushiki Kaisha Toshiba Data retrieval system using secondary information of primary data to be retrieved as retrieval key
DE69423838T2 (de) 1993-09-23 2000-08-03 Xerox Corp Semantische Gleichereignisfilterung für Spracherkennung und Signalübersetzungsanwendungen
JP2986345B2 (ja) 1993-10-18 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション 音声記録指標化装置及び方法
SE513456C2 (sv) 1994-05-10 2000-09-18 Telia Ab Metod och anordning vid tal- till textomvandling
IT1272259B (it) 1994-05-30 1997-06-16 Texas Instruments Italia Spa Procedimento ed apparecchio per il riconoscimento dei caratteri
JP3260979B2 (ja) 1994-07-15 2002-02-25 株式会社リコー 文字認識方法
US5799267A (en) 1994-07-22 1998-08-25 Siegel; Steven H. Phonic engine
US5737723A (en) 1994-08-29 1998-04-07 Lucent Technologies Inc. Confusable word detection in speech recognition
US5835667A (en) 1994-10-14 1998-11-10 Carnegie Mellon University Method and apparatus for creating a searchable digital video library and a system and method of using such a library
WO1996013827A1 (en) 1994-11-01 1996-05-09 British Telecommunications Public Limited Company Speech recognition
US5680605A (en) 1995-02-07 1997-10-21 Torres; Robert J. Method and apparatus for searching a large volume of data with a pointer-based device in a data processing system
DE69615667T2 (de) 1995-03-07 2002-06-20 British Telecomm Spracherkennung
CA2170669A1 (en) 1995-03-24 1996-09-25 Fernando Carlos Neves Pereira Grapheme-to phoneme conversion with weighted finite-state transducers
US5675706A (en) 1995-03-31 1997-10-07 Lucent Technologies Inc. Vocabulary independent discriminative utterance verification for non-keyword rejection in subword based speech recognition
US5729741A (en) 1995-04-10 1998-03-17 Golden Enterprises, Inc. System for storage and retrieval of diverse types of information obtained from different media sources which includes video, audio, and text transcriptions
WO1996035207A1 (en) 1995-05-03 1996-11-07 Philips Electronics N.V. Speech recognition methods and apparatus on the basis of the modelling of new words
US6070140A (en) * 1995-06-05 2000-05-30 Tran; Bao Q. Speech recognizer
JPH0916598A (ja) 1995-07-03 1997-01-17 Fujitsu Ltd エラー・パターンを用いた文字列修正システムおよび方法
US5721939A (en) 1995-08-03 1998-02-24 Xerox Corporation Method and apparatus for tokenizing text
US5684925A (en) 1995-09-08 1997-11-04 Matsushita Electric Industrial Co., Ltd. Speech representation by feature-based word prototypes comprising phoneme targets having reliable high similarity
US5737489A (en) 1995-09-15 1998-04-07 Lucent Technologies Inc. Discriminative utterance verification for connected digits recognition
JPH09128396A (ja) 1995-11-06 1997-05-16 Hitachi Ltd 対訳辞書作成方法
US6567778B1 (en) 1995-12-21 2003-05-20 Nuance Communications Natural language speech recognition using slot semantic confidence scores related to their word recognition confidence scores
US5960395A (en) 1996-02-09 1999-09-28 Canon Kabushiki Kaisha Pattern matching method, apparatus and computer readable memory medium for speech recognition using dynamic programming
GB2302199B (en) 1996-09-24 1997-05-14 Allvoice Computing Plc Data processing method and apparatus
US5870740A (en) 1996-09-30 1999-02-09 Apple Computer, Inc. System and method for improving the ranking of information retrieval results for short queries
US5708759A (en) 1996-11-19 1998-01-13 Kemeny; Emanuel S. Speech recognition using phoneme waveform parameters
US6172675B1 (en) 1996-12-05 2001-01-09 Interval Research Corporation Indirect manipulation of data using temporally related data, with particular application to manipulation of audio or audiovisual data
US5852822A (en) 1996-12-09 1998-12-22 Oracle Corporation Index-only tables with nested group keys
EP0849723A3 (en) 1996-12-20 1998-12-30 ATR Interpreting Telecommunications Research Laboratories Speech recognition apparatus equipped with means for removing erroneous candidate of speech recognition
US6122613A (en) * 1997-01-30 2000-09-19 Dragon Systems, Inc. Speech recognition using multiple recognizers (selectively) applied to the same input sample
WO1998047084A1 (en) 1997-04-17 1998-10-22 Sharp Kabushiki Kaisha A method and system for object-based video description and linking
WO1999005681A1 (de) 1997-07-23 1999-02-04 Siemens Aktiengesellschaft Verfahren zum abspeichern von suchmerkmalen einer bildsequenz und zugriff auf eine bildfolge in der bildsequenz
EP1018109B1 (en) 1997-09-24 2003-03-05 Lernout & Hauspie Speech Products N.V. Apparatus and method for distinguishing similar-sounding utterances in speech recognition
US6026398A (en) 1997-10-16 2000-02-15 Imarket, Incorporated System and methods for searching and matching databases
US6061679A (en) 1997-11-25 2000-05-09 International Business Machines Corporation Creating and searching a data structure ordered by ranges of key masks associated with the data structure
US5983177A (en) 1997-12-18 1999-11-09 Nortel Networks Corporation Method and apparatus for obtaining transcriptions from multiple training utterances
US6289140B1 (en) * 1998-02-19 2001-09-11 Hewlett-Packard Company Voice control input for portable capture devices
US6182039B1 (en) 1998-03-24 2001-01-30 Matsushita Electric Industrial Co., Ltd. Method and apparatus using probabilistic language model based on confusable sets for speech recognition
US6243680B1 (en) 1998-06-15 2001-06-05 Nortel Networks Limited Method and apparatus for obtaining a transcription of phrases through text and spoken utterances
US6321226B1 (en) 1998-06-30 2001-11-20 Microsoft Corporation Flexible keyboard searching
US6192337B1 (en) 1998-08-14 2001-02-20 International Business Machines Corporation Apparatus and methods for rejecting confusible words during training associated with a speech recognition system
US6490563B2 (en) 1998-08-17 2002-12-03 Microsoft Corporation Proofreading with text to speech feedback
DE19842404A1 (de) 1998-09-16 2000-03-23 Philips Corp Intellectual Pty Verfahren zur Schätzung von Auftrittswahrscheinlichkeiten für Sprachvokabularelemente
WO2000031723A1 (en) 1998-11-25 2000-06-02 Sony Electronics, Inc. Method and apparatus for very large vocabulary isolated word recognition in a parameter sharing speech recognition system
CA2366057C (en) * 1999-03-05 2009-03-24 Canon Kabushiki Kaisha Database annotation and retrieval
US6463413B1 (en) * 1999-04-20 2002-10-08 Matsushita Electrical Industrial Co., Ltd. Speech recognition training for small hardware devices
GB2349260B (en) 1999-04-23 2003-05-28 Canon Kk Training apparatus and method
US6662180B1 (en) 1999-05-12 2003-12-09 Matsushita Electric Industrial Co., Ltd. Method for searching in large databases of automatically recognized text
CN1329861C (zh) 1999-10-28 2007-08-01 佳能株式会社 模式匹配方法和装置
US6567816B1 (en) 2000-03-07 2003-05-20 Paramesh Sampatrai Desai Method, system, and program for extracting data from database records using dynamic code
US6535850B1 (en) 2000-03-09 2003-03-18 Conexant Systems, Inc. Smart training and smart scoring in SD speech recognition system with user defined vocabulary
GB0011798D0 (en) 2000-05-16 2000-07-05 Canon Kk Database annotation and retrieval

Also Published As

Publication number Publication date
EP1327206A2 (en) 2003-07-16
US20030177108A1 (en) 2003-09-18
WO2002027546A2 (en) 2002-04-04
CN1457476A (zh) 2003-11-19
CN1227613C (zh) 2005-11-16
AU2001290136A1 (en) 2002-04-08
KR20030072327A (ko) 2003-09-13
GB0023930D0 (en) 2000-11-15
WO2002027546A3 (en) 2002-06-20
JP2004510256A (ja) 2004-04-02
WO2002027546A8 (en) 2002-08-15
US7240003B2 (en) 2007-07-03

Similar Documents

Publication Publication Date Title
KR100612169B1 (ko) 데이터베이스 주석 처리 및 검색
US7590605B2 (en) Lattice matching
US7257533B2 (en) Database searching and retrieval using phoneme and word lattice
US6873993B2 (en) Indexing method and apparatus
KR101255405B1 (ko) 텍스트 메타데이터를 갖는 음성문서의 인덱싱 및 검색방법, 컴퓨터 판독가능 매체
US6172675B1 (en) Indirect manipulation of data using temporally related data, with particular application to manipulation of audio or audiovisual data
US6580437B1 (en) System for organizing videos based on closed-caption information
US20130124984A1 (en) Method and Apparatus for Providing Script Data
WO1998025216A9 (en) Indirect manipulation of data using temporally related data, with particular application to manipulation of audio or audiovisual data
US7212972B2 (en) Audio features description method and audio video features description collection construction method
JP3799280B2 (ja) 対話システムおよびその制御方法
Hauptmann Speech recognition in the informedia digital video library: uses and limitations
JP2002259371A (ja) 文書要約方法および装置と文書要約プログラムおよび該プログラムを記録した記録媒体
KR20060100646A (ko) 영상물의 특정 위치를 검색하는 방법 및 영상 검색 시스템
JP2004302175A (ja) 音声認識システム、音声認識方法及び音声認識プログラム
JP2005257954A (ja) 音声検索装置、音声検索方法および音声検索プログラム
JP2002269139A (ja) 文書検索方法
JP2008097232A (ja) 音声情報検索プログラムとその記録媒体、音声情報検索システム、並びに音声情報検索方法
Robert-Ribes et al. Automatic generation of hyperlinks between audio and transcript.
Coden et al. Speech transcript analysis for automatic search
Lindsay et al. Representation and linking mechanisms for audio in MPEG-7
Lo et al. Multi-scale spoken document retrieval for Cantonese broadcast news
Eickeler et al. Two novel applications of Speech Recognition methods for robust Spoken Document Retrieval

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: 20120719

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130726

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee