[go: up one dir, main page]

KR100861860B1 - 합성 데이터 음성 렌더링의 동적 운율 조정 방법, 시스템및 컴퓨터 프로그램 제품 - Google Patents

합성 데이터 음성 렌더링의 동적 운율 조정 방법, 시스템및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR100861860B1
KR100861860B1 KR1020060104866A KR20060104866A KR100861860B1 KR 100861860 B1 KR100861860 B1 KR 100861860B1 KR 1020060104866 A KR1020060104866 A KR 1020060104866A KR 20060104866 A KR20060104866 A KR 20060104866A KR 100861860 B1 KR100861860 B1 KR 100861860B1
Authority
KR
South Korea
Prior art keywords
data
speech
uniform
composite
rendered
Prior art date
Application number
KR1020060104866A
Other languages
English (en)
Other versions
KR20070048118A (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 KR20070048118A publication Critical patent/KR20070048118A/ko
Application granted granted Critical
Publication of KR100861860B1 publication Critical patent/KR100861860B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 음성 렌더링될 합성 데이터를 검색하는 단계; 음성 렌더링될 합성 데이터에 대하여 특정 운율 세팅을 확인하는 단계; 음성 렌더링될 합성 데이터 및 합성 데이터가 음성 렌더링되는 콘텍스트의 콘텍스트 정보에 의존해서 렌더링될 합성 데이터의 구획을 결정하는 단계; 및 확인된 특정 운율 세팅에 의존해서 합성 데이터의 구획을 렌더링하는 단계를 포함하는, 합성 데이터의 음성 렌더링을 위해 동적으로 운율을 조정하는 방법, 시스템 및 컴퓨터 프로그램 제품을 제공한다.
음성 렌더링, 합성 데이터, 운율 조정, 운율 세팅

Description

합성 데이터 음성 렌더링의 동적 운율 조정 방법, 시스템 및 컴퓨터 프로그램 제품{DYNAMIC PROSODY ADJUSTMENT FOR VOICE-RENDERING SYNTHESIZED DATA}
도 1은 본 발명의 실시예에 따라 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 위한 예시적 시스템을 나타내는 네트워크 도면.
도 2는 본 발명의 실시예에 따라 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링에 유용한 예시적 컴퓨터를 포함한 자동화 연산 장치의 블록도.
도 3은 본 발명의 실시예에 따라 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링용 시스템을 나타내는 블록도.
도 4는 본 발명의 실시예에 따라 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 위한 예시적 방법을 나타내는 흐름도.
도 5는 본 발명의 실시예에 따라 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하기 위한 예시적 방법을 나타내는 흐름도.
도 6은 본 발명의 실시예에 따라 확인된 데이터 소스로부터 피요구 데이터를 검색하기 위한 예시적 방법을 나타내는 흐름도.
도 7은 본 발명에 따라 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하기 위한 예시적 방법을 나타내는 흐름도.
도 8은 본 발명에 따라 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하기 위한 예시적 방법을 나타내는 흐름도.
도 9는 본 발명에 따라 불균일한 데이터 유형의 집성 데이터를 균일한 데이터 유형의 데이터에 합성하기 위한 예시적 방법을 나타내는 흐름도.
도 10은 본 발명에 따라 불균일한 데이터 유형의 집성 데이터를 균일한 데이터 유형의 데이터에 합성하기 위한 예시적 방법을 나타내는 흐름도.
도 11은 본 발명에 따라 합성 데이터에 의존하여 액션을 확인하기 위한 예시적 방법을 나타내는 흐름도.
도 12는 본 발명의 실시예에 따라 합성 데이터를 채널화하기 위한 예시적 방법을 나타내는 흐름도.
도 13은 본 발명의 실시예에 따라 합성 데이터를 음성 렌더링하기 위한 예시적 방법을 나타내는 흐름도.
도 14a는 본 발명의 실시예에 따라 특정 운율 세팅을 확인하기 위한 다른 예시적 방법을 나타내는 흐름도.
도 14b는 본 발명의 실시예에 따라 특정 운율 세팅을 확인하기 위한 다른 예시적 방법을 나타내는 흐름도.
도 14c는 본 발명의 실시예에 따라 특정 운율 세팅을 확인하기 위한 다른 예시적 방법을 나타내는 흐름도.
도 14d는 본 발명의 실시예에 따라 특정 운율 세팅을 확인하기 위한 다른 예시적 방법을 나타내는 흐름도.
도 15는 본 발명의 실시예에 따라, 음성 렌더링되는 합성 데이터 및 합성 데 이터가 음성 렌더링되는 콘텍스트의 콘텍스트 정보에 의존해서, 렌더링될 합성 데이터의 구획을 결정하기 위한 예시적 방법을 나타내는 흐름도.
*도면의 주요 부분에 대한 부호의 설명*
102: 개인용 휴대 정보 단말기(PDA)
104: 셀룰러폰
106, 108, 122: 서버
110: 광역 통신망(WAN)
112: 태블릿 컴퓨터
114, 124: 랩톱 컴퓨터
116: 디지털 오디오 플레이어(DAP)
118: 스마트폰
120: 근거리 통신망(LAN)
본 발명은 데이터 처리 분야에 관한 것이고, 더 구체적으로 말하면, 합성 데이터(synthesized data) 음성 렌더링(voice-rendering)의 동적 운율 조정(prosody adjustment)을 위한 방법, 시스템 및 컴퓨터 프로그램 제품에 관한 것이다.
데이터에 대하여 더 많이 액세스하고 그 데이터에 액세스하기 위한 많은 장치가 있음에도 불구하고, 사용자는 가끔 시간적 구속을 받는다. 이러한 시간적 구 속의 한가지 이유는 사용자가 전형적으로 데이터 유형 지정 애플리케이션을 이용하여 데이터 유형 지정 장치에서 불균일한 데이터 소스로부터의 불균일한 데이터 유형의 데이터에 액세스해야 하는 것이다. 하나 이상의 이러한 데이터 유형 지정 장치는 여러 가지 외부 환경 때문에 특정 시간에 사용하기에 불편할 수 있다. 데이터 유형 지정 장치의 사용을 불편하게 만드는 외부 환경의 예로는 혼잡한 장소, 열차 또는 자동차와 같은 불편한 장소, 걷기 등의 사용자 활동, 자동차 운전과 같은 시각적으로 집중하는 활동, 및 그 외 이 기술의 당업자가 예상할 수 있는 다른 활동이 있다. 그러므로 불균일한 데이터 소스로부터의 콘텐트에 대한 균일한 데이터 유형 액세스를 제공하는 불균일한 데이터 유형에 대한 데이터 관리 및 데이터 렌더링의 필요성이 존재한다.
본 발명은 음성 렌더링될 합성 데이터를 검색하는 단계; 음성 렌더링될 합성 데이터에 대하여 특정 운율 세팅을 확인하는 단계; 음성 렌더링될 합성 데이터 및 합성 데이터가 음성 렌더링되는 콘텍스트에 대한 콘텍스트 정보에 의존해서 렌더링될 합성 데이터의 구획(section)을 결정하는 단계; 및 확인된 특정 운율 세팅에 의존해서 합성 데이터의 구획을 렌더링하는 단계를 포함하는, 합성 데이터 음성 렌더링의 동적 운율 조정을 위한 방법, 시스템 및 컴퓨터 프로그램 제품을 제공한다.
음성 렌더링될 합성 데이터에 대하여 특정 운율 세팅을 확인하는 단계는 음성 렌더링될 합성 데이터로부터 운율 식별을 검색하는 단계 또는 사용자 명령에 의존해서 특정 운율을 확인하는 단계를 또한 포함할 수 있다. 음성 렌더링될 합성 데 이터에 대하여 특정 운율 세팅을 확인하는 단계는 사용자 운율 이력(history)에 의존해서 특정 운율 세팅을 선택하는 단계 또는 사용자의 현재 음성 특성을 결정하고 사용자의 현재 음성 특성에 의존해서 특정 운율 세팅을 선택하는 단계를 또한 포함할 수 있다.
음성 렌더링될 합성 데이터 및 합성 데이터가 음성 렌더링되는 콘텍스트의 콘텍스트 정보에 의존해서, 렌더링될 합성 데이터의 구획을 결정하는 단계는 합성 데이터가 음성 렌더링되는 콘텍스트에 대한 콘텍스트 정보를 결정하는 단계, 콘텍스트 정보에 의존해서 구획 길이(section length)를 확인하는 단계 및 확인된 구획 길이에 의존해서 렌더링될 합성 데이터의 구획을 선택하는 단계를 또한 포함할 수 있다. 구획 길이는 합성된 콘텐트의 양(quantity)일 수 있다. 콘텍스트 정보에 의존해서 구획 길이를 확인하는 단계는 콘텍스트 정보에 의존해서 렌더링 시간을 확인하는 단계와, 운율 세팅 및 렌더링 시간에 의존해서 렌더링될 구획 길이를 결정하는 단계를 또한 포함할 수 있다.
본 발명의 전술한 및 기타의 목적, 특징 및 장점들은 첨부 도면과 함께 설명하는 이하의 본 발명의 예시적 실시예의 구체적인 설명으로부터 명백하게 될 것이며, 첨부 도면에 있어서 동일한 참조 부호는 본 발명의 예시적 실시예의 동일 부분을 나타낸다.
불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 위한 예시적 구조
본 발명의 실시예에 따라 불균일한 데이터 소스로부터 불균일한 데이터 유형 의 데이터 관리 및 데이터 렌더링을 위한 예시적인 방법, 시스템 및 컴퓨터 프로그램 제품을 도 1부터 시작해서 첨부 도면을 참조하여 설명한다. 도 1은 본 발명의 실시예에 따라 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 위한 예시적 시스템을 나타내는 네트워크 도면이다. 도 1의 시스템은 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성(aggregate)하는 단계, 불균일한 데이터 유형의 집성 데이터를 균일한 데이터 유형의 데이터에 합성하는 단계, 합성된 데이터에 의존해서 액션(action)을 확인하는 단계, 및 확인된 액션을 실행하는 단계에 의해, 본 발명의 실시예에 따라 불균일한 데이터 유형의 데이터를 관리하고 렌더링하도록 일반적으로 동작한다.
불균일한 데이터 유형은 종류와 형태가 다른 데이터를 말한다. 즉, 불균일한 데이터 유형은 다른 종류의 데이터이다. 불균일한 데이터 유형을 정의하는 데이터의 구별은 데이터 구조, 파일 형식, 데이터가 전송되는 프로토콜 등의 차이 및 당업자라면 잘 알 수 있는 기타의 구별을 포함한다. 불균일한 데이터 유형의 예로는 MPEG-1 오디오 레이어 3('MP3') 파일, 확장형 마크업 언어 문서('XML'), 이메일 문서 및 당업자라면 잘 알 수 있는 기타의 것들이 있다. 불균일한 데이터 유형은 전형적으로 데이터 유형 지정 장치에서 렌더링되어야 한다. 예를 들어서, MPEG-1 오디오 레이어3('MP3') 파일은 전형적으로 MP3 플레이어에 의해 재생되고, 무선 마크업 언어('WML') 파일은 전형적으로 무선 장치에 의해 액세스되는 등등이다.
용어 불균일한 데이터 소스는 불균일한 데이터 유형의 데이터의 소스를 의미한다. 이러한 데이터 소스는 불균일한 데이터 유형의 데이터에 대한 액세스를 제공 할 수 있는 임의의 장치 또는 네트워크 위치일 수 있다. 불균일한 데이터 소스의 예로는 파일, 웹사이트, 셀룰러폰, PDA, MP3 플레이어에 소용되는 서버 및 당업자라면 잘 알 수 있는 기타의 것이 있다.
도 1의 시스템은 네트워크에서 데이터 통신을 위해 접속된 불균일한 데이터 소스로서 동작하는 다수의 장치를 포함한다. 도 1의 데이터 처리 시스템은 광역 통신망("WAN")(110) 및 근거리 통신망("LAN")(120)을 포함한다. "LAN"은 "local area network"의 약어이다. LAN은 비교적 작은 지역에 설치되는 컴퓨터 네트워크이다. 많은 LAN들은 단일 건물 또는 건물군에 한정된다. 그러나, 하나의 LAN이 전화선 및 고주파(radio wave)를 통하여 원거리에 있는 다른 LAN에 접속될 수 있다. 이 방법으로 접속된 LAN들의 시스템을 광역 통신망(WAN)이라고 부른다. 인터넷은 WAN의 일 예이다.
도 1의 예에서, 서버(122)는 LAN(120)과 WAN(110) 사이에서 게이트웨이로서 동작한다. 도 1의 구조의 네트워크 접속 태양(aspect)은 단지 예를 위한 것이며 제한적인 것이 아니다. 사실, 본 발명의 실시예에 따른 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 위한 시스템은 LAN, WAN, 인트라넷, 인터넷, 웹, 월드 와이드 웹 자체, 또는 당업자라면 잘 알 수 있는 기타의 접속으로서 접속될 수 있다. 이러한 네트워크는 전체 데이터 처리 시스템 내에서 함께 접속되는 각종 장치와 컴퓨터들 간에 데이터 통신 접속을 제공하기 위해 사용될 수 있는 미디어이다.
도 1의 예에서, 복수의 장치들은 각각 LAN 및 WAN에 접속되어 각각 데이터 소스를 구현하고 각각 특수한 데이터 유형의 데이터를 저장한다. 도 1의 예에서, 서버(108)는 무선 접속(126)을 통하여 WAN에 접속된다. 도 1의 서버(108)는 RSS 피드(feed)용의 데이터 소스이고, 이 서버는 RSS를 XML 파일 형태로 전송한다. RSS는 뉴스 웹사이트 및 웹로그에 의해 사용되는 웹 신디케이션용의 XML 파일 형식(format)의 패밀리이다. 약어는 다음과 같은 표준을 인용하기 위해 사용된다: Rich Site Summary(RSS 0.91), RDF Site Summary(RSS 0.9, 1.0 및 1.1), 및 Really Simple Syndication(RSS 2.0). RSS 포맷은 웹 콘텐트, 또는 콘텐트의 완전판(full version)에 대한 링크와 함께 웹 콘텐트의 요약(summary) 및 기타의 메타데이터를 제공한다. 이 정보는 RSS 피드, 웹피드, RSS 스트림 또는 RSS 채널이라고 부르는 XML 파일로서 전송된다.
도 1의 예에서, 다른 하나의 서버(106)는 유선 접속(132)을 통해 WAN에 접속된다. 도 1의 서버(106)는 로터스 놋츠 파일(Lotus NOTES file)로서 저장된 데이터용의 데이터 소스이다. 도 1의 예에서, 개인용 휴대 정보 단말기('PDA')(102)는 무선 접속(130)을 통하여 WAN에 접속된다. PDA는 XHTML 모바일 프로필('XHTML MP') 문서의 형태로 저장된 데이터용의 데이터 소스이다.
도 1의 예에서, 셀룰러폰(104)은 무선 접속(128)을 통하여 WAN에 접속된다. 셀룰러폰은 무선 마크업 언어('WML') 파일로서 저장된 데이터용의 데이터 소스이다. 도 1의 예에서, 태블릿 컴퓨터(112)는 무선 접속(134)을 통하여 WAN에 접속된다. 태블릿 컴퓨터(112)는 XHTML MP 문서의 형태로 저장된 데이터용의 데이터 소스이다.
도 1의 시스템은 디지털 오디오 플레이어('DAP')(116)를 또한 포함한다. DAP(116)는 유선 접속(192)을 통하여 LAN에 접속된다. 도 1의 디지털 오디오 플레이어('DAP')(116)는 MP3 파일로서 저장된 데이터용의 데이터 소스이다. 도 1의 시스템은 랩톱 컴퓨터(124)를 또한 포함한다. 랩톱 컴퓨터는 유선 접속(190)을 통하여 LAN에 접속된다. 도 1의 랩톱 컴퓨터(124)는 그래픽 인터체인지 포맷('GIF') 파일로서 저장된 데이터용의 데이터 소스이다. 도 1의 랩톱 컴퓨터(124)는 또한 확장형 하이퍼텍스트 마크업 언어('XHTML') 문서 형태인 데이터용의 데이터 소스이다.
도 1의 시스템은 불균일한 데이터 소스로부터 이용가능한 불균일한 데이터 유형의 데이터에 대한 균일한 액세스를 제공하는 데이터 관리 및 렌더링 모듈이 각각 설치된 랩톱 컴퓨터(114) 및 스마트폰(118)을 포함하고 있다. 도 1의 예시적인 랩톱 컴퓨터(114)는 무선 접속(188)을 통하여 LAN에 접속된다. 도 1의 예시적인 스마트폰(118)은 또한 무선 접속(186)을 통하여 LAN에 접속된다. 도 1의 랩톱 컴퓨터(114)와 스마트폰(118)은 일반적으로 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하는 단계; 불균일한 데이터 유형의 집성 데이터를 균일한 데이터 유형에 합성하는 단계; 합성된 데이터에 의존해서 액션을 확인하는 단계; 및 확인된 액션을 실행하는 단계에 의해 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링이 가능한 소프트웨어가 설치되고 이 소프트웨어를 구동시킨다.
집성 데이터(aggregated data)는 단일 위치에서 불균일한 유형의 데이터의 누적물이다. 이 집성 데이터의 위치는 예를 들면 집성 데이터를 내포하는 단일 컴퓨터와 같은 물리적인 것 또는 예를 들면 집성 데이터에 대한 액세스를 제공하는 단일 인터페이스와 같은 논리적인 것일 수 있다.
합성 데이터는 균일한 데이터 유형의 데이터에 합성된 집성 데이터를 말한다. 균일한 데이터 유형은 집성 데이터로부터 변환된 텍스트 콘텐트 및 마크업으로서 구현될 수 있다. 합성 데이터는 텍스트 콘텐트에 삽입된 추가적인 음성 마크업을 또한 내포할 수 있고, 이것은 추가적인 음성 능력을 추가한다.
대안적으로, 소스라고 설명한 도 1의 시스템의 임의의 장치들은 본 발명에 따른 데이터 관리 및 렌더링 모듈을 또한 지원할 수 있다. 예를 들어서, 서버(106)는 위에서 설명한 바와 같이 데이터 관리 및 렌더링 모듈을 지원하여 불균일한 데이터 소스로부터 얻을 수 있는 불균일한 데이터 유형의 데이터에 대한 균일한 액세스를 제공할 수 있다. 위에서 예를 들어 PDA, 태블릿 컴퓨터, 셀룰러폰이라고 설명한 도 1의 임의의 장치들 또는 당업자가 알 수 있는 임의의 다른 장치들은 본 발명에 따른 데이터 관리 및 렌더링 모듈을 지원할 수 있다.
도 1에 도시된 예시적 시스템을 구성하는 서버 및 기타 장치의 배열은 설명을 위한 것이고 제한적인 것이 아니다. 본 발명의 각종 실시예에 따라 유용한 데이터 처리 시스템은, 도 1에서는 도시하지 않았지만, 당업자라면 잘 알 수 있는 바와 같이, 추가의 서버, 라우터, 기타 장치 및 피어 투 피어(peer-to-peer) 구조를 포함할 수 있다. 이러한 데이터 처리 시스템의 네트워크는 예를 들면 TCP(전송 제어 프로토콜), IP(인터넷 프로토콜), HTTP(하이퍼텍스트 전송 프로토콜), WAP(무선 액세스 프로토콜), HDTP(핸드헬드 디바이스 전송 프로토콜), 및 당업자라면 잘 알 수 있는 기타 프로토콜을 포함한 많은 데이터 통신 프로토콜을 지원할 수 있다. 본 발명의 각종 실시예는 도 1에 도시된 것 외에 다양한 하드웨어 플랫폼에서 구현될 수 있다.
본 발명에 따라서 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 행하는 방법은 일반적으로 컴퓨터, 즉 자동화 연산 장치에서 구현된다. 예를 들면, 도 1의 시스템에서, 모든 노드, 서버 및 통신 장치들은 어느 정도까지 적어도 컴퓨터로서 구현된다. 그러므로, 추가의 설명을 위하여, 도 2는 본 발명의 실시예에 따른 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링에 유용한 예시적 컴퓨터(152)를 포함한 자동화 연산 장치의 블록도를 도시한다. 도 2의 컴퓨터(152)는 적어도 하나의 컴퓨터 프로세서(156) 또는 'CPU'와, 시스템 버스(160)를 통하여 프로세서(156) 및 컴퓨터의 기타 부품에 접속된 랜덤 액세스 메모리(168)('RAM')를 포함한다.
RAM(168)에는 일반적으로 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하는 단계, 불균일한 데이터 유형의 집성된 데이터를 균일한 데이터 유형의 데이터에 합성하는 단계, 합성 데이터에 의존해서 액션을 확인하는 단계, 및 확인된 액션을 실행하는 단계를 수행할 수 있는, 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 위한 컴퓨터 프로그램 명령인 데이터 관리 및 데이터 렌더링 모듈(140)이 저장된다. 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링은 바람직하게 불균일한 데이터 유형 지정 리소스로부터 수집된 데이터를 효과적으로 액세스하고 관리하는 능력을 사용자에게 제공한다. 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링은 사용자가 단일 장치의 불균일한 데이터 유형 지정 리소스로부터 수집된 데이터에 액세스 할 수 있게 하는 균일한 데이터 유형을 또한 제공한다.
도 2의 데이터 관리 및 데이터 렌더링 모듈(140)은 음성 렌더링될 합성 데이터를 검색하는 단계; 음성 렌더링될 합성 데이터에 대해 특정 운율 세팅을 확인하는 단계; 음성 렌더링될 합성 데이터 및 합성 데이터가 음성 렌더링되는 콘텍스트의 콘텍스트 정보에 의존해서 렌더링될 합성 데이터의 구획을 결정하는 단계; 확인된 특정 운율 세팅에 의존해서 합성 데이터의 구획을 렌더링하는 단계를 수행하기 위한 컴퓨터 프로그램 명령을 또한 포함한다.
RAM(168)에는 일반적으로 집성 처리로부터 데이터의 요구를 수신하는 단계; 데이터의 요구에 응답하여 2개 이상의 불균일한 데이터 소스 중의 하나를 데이터 소스로서 확인하는 단계; 확인된 데이터 소스로부터 피요구 데이터(requested data)를 검색하는 단계; 및 피요구 데이터를 집성 처리에 복귀시키는 단계를 수행할 수 있는, 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하기 위한 컴퓨터 프로그램 명령인 집성 모듈(144)이 또한 저장된다. 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하는 것은 바람직하게 합성을 위한 다중 소스로부터 데이터를 수집하는 능력을 제공한다.
RAM에는 또한 일반적으로 불균일한 데이터 유형의 집성 데이터를 수신하는 단계 및 불균일한 데이터 유형의 각각의 집성 데이터를 텍스트 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업으로 구성된 변환 데이터(translated data)로 변환하는 단계를 수행할 수 있는, 불균일한 데이터 유형의 집성 데이터를 균일한 데이터 유형의 데이터에 합성하기 위한 컴퓨터 프로그램 명령인 합성 엔진(145)이 저장된다. 불균일한 데이터 유형의 집성 데이터를 균일한 데이터 유형의 데이터에 합성하는 것은 바람직하게 단일 장치에 의해 액세스되고 관리될 수 있는 균일한 데이터 유형의 합성 데이터를 제공한다.
RAM(168)에는 또한 합성 데이터 및 가끔은 사용자 명령에 의존해서 액션을 확인하기 위한 한 세트의 컴퓨터 프로그램 명령인 액션 발생기 모듈(159)이 저장된다. 합성 데이터에 의존해서 액션을 확인하는 것은 바람직하게 합성 데이터와 상호작용하고 합성 데이터를 관리하는 능력을 제공한다.
RAM(168)에는 하나 이상의 확인된 액션의 실행을 관리하기 위한 한 세트의 컴퓨터 프로그램 명령인 액션 에이전트(158)가 또한 저장된다. 이러한 실행은 확인시 즉시 실행되거나 확인 후 주기적으로 실행되거나, 또는 당업자라면 잘 알 수 있는 바와 같이 확인 후에 스케쥴될 수 있다.
RAM(168)에는 또한 집성 처리로부터 데이터의 요구를 수신하는 단계; 데이터의 요구에 응답하여 복수의 불균일한 데이터 소스 중의 하나를 데이터 소스로서 확인하는 단계; 확인된 데이터 소스로부터 피요구 데이터를 검색하는 단계; 및 피요구 데이터를 집성 처리에 복귀시키는 단계를 수행하기 위한 컴퓨터 프로그램 명령인 디스패처(146)가 또한 저장된다. 집성 처리로부터 데이터의 요구를 수신하는 단계; 데이터의 요구에 응답하여 복수의 불균일한 데이터 소스 중의 하나를 데이터 소스로서 확인하는 단계; 확인된 데이터 소스로부터 피요구 데이터를 검색하는 단계; 및 피요구 데이터를 집성 처리에 복귀시키는 단계는 바람직하게 집성 및 합성을 위해 불균일한 데이터 소스에 액세스하는 능력을 제공한다.
도 2의 디스패처(146)는 플러그 인(plug-in)과 관련된 데이터 소스로부터 집성 처리에서 사용할 피요구 데이터를 검색하기 위한 컴퓨터 프로그램 명령인 복수의 플러그 인 모듈(148, 150)을 또한 포함한다. 이 플러그 인 모듈들은 디스패처의 일반적 액션들을 특수 유형의 검색된 데이터에 필요한 특정 요구로부터 분리한다.
RAM(168)에는 또한 사용자의 인터페이스를 합성 데이터에 제공하기 위한 컴퓨터 프로그램 명령인 브라우저(142)가 저장된다. 사용자의 인터페이스를 합성 데이터에 제공하는 것은 바람직하게 데이터 소스 지정 장치를 사용할 필요없이 불균일한 데이터 소스로부터 검색된 데이터의 콘텐트에 대한 사용자 액세스를 제공한다. 도 2의 브라우저(142)는 멀티모달(multimodal) 입력을 수신하고 멀티모달 출력을 통하여 사용자와 대화하는 멀티모달 대화(multimodal interaction)가 가능하다. 이러한 멀티모달 브라우저는 전형적으로 음성으로 구동되는 계층적 메뉴를 통하여 멀티모달 대화를 제공하는 멀티모달 웹 페이지를 지원한다.
RAM에는 또한 자바 가상 머신('JVM')(155)에서 동작하는 OSGi 서비스 프레임워크(157)가 저장된다. "OSGi"는 서비스 번들의 명세서 전송(specification delivery), 서비스 게이트웨이를 통하여 콤플라이언트 데이터 통신 및 서비스를 제공하는 소프트웨어 미들웨어를 개발하는 산업 기구인 오픈 서비스 게이트웨이 이니셔티브(Open Service Gateway initiative)를 나타낸다. OSGi 명세서는 서비스 공급자, 네트워크 운용자 장치 메이커, 및 설비 제조자의 판매자 중립 애플리케이션 및 장치 레이어 API 및 기능을 제공하는 자바 기반 응용층 프레임워크이다. OSGi는 이더넷, 블루투스, '홈, 오디오 및 비디오 상호운용성 표준'(HAVi), IEEE 1394, 범용 직렬 버스(USB), WAP, X-10, 론 웍스, 홈플러그 및 각종 다른 네트워킹 기술과 같은 다양한 다양한 네트워킹 기술로 동작한다. OSGi 명세서는 OSGi 웹사이트(www.osgi.org)로부터 무료로 다운로드받을 수 있다.
OSGi 서비스 프레임워크(157)는 자바 언어로 기록되고, 따라서 전형적으로 자바 가상 머신(JVM)(155)에서 동작한다. OSGi에서, 서비스 프레임워크(157)는 '서비스'를 구동하기 위한 호스팅 플랫폼이다. 이 명세서에서의 용어 '서비스' 또는 '서비스들'은 일반적으로 콘텍스트에 따라서 OSGi 콤플라이언트 서비스를 의미한다.
서비스들은 OSGi에 따라 애플리케이션을 생성하는 메인 빌딩 블록이다. 서비스는 특정 구조를 구현하는 자바 클래스 및 인터페이스의 그룹이다. OSGi 명세서는 다수의 표준 서비스를 제공한다. 예를 들면, OSGi는 HTTP 클라이언트로부터의 요구에 응답가능한 웹 서버를 생성하는 표준 HTTP 서비스를 제공한다.
OSGi는 또한 디바이스 액세스 명세서(Device Access Specification;"DAS")라고 부르는 한 세트의 표준 서비스를 제공한다. DAS는 서비스 게이트웨이에 접속된 장치를 식별하고, 그 장치의 드라이버를 탐색하며, 그 장치의 드라이버를 인스톨하는 서비스를 제공한다.
OSGi의 서비스들은 서비스가 실행을 위해 필요로 하는 다른 파일, 이미지 및 리소스와 함께 '번들'(bundle)로 패키지된다. 번들은 하나 이상의 서비스 구현, 작동기 클래스 및 명시 파일(manifest file)을 포함한 자바 어치브 또는 'JAR' 파일이다. 작동기 클래스는 번들을 시작 및 중지하기 위해 서비스 프레임워크가 사용하는 자바 클래스이다. 명시 파일은 번들의 콘텐트를 설명하는 표준 텍스트 파일이 다.
OSGi의 서비스 프레임워크(157)는 서비스 레지스트리를 또한 포함한다. 서비스 레지스트리는 프레임워크에 인스톨되고 서비스 레지스트리에 등록된 각 번들의 서비스를 구현하는 클래스의 서비스명 및 인스턴스를 포함한 서비스 등록을 포함한다. 번들은 번들에 포함되지 않지만 프레임워크 서비스 레지스트리에 등록된 서비스를 요구할 수 있다. 서비스를 찾기 위해, 번들은 프레임워크의 서비스 레지스트리에서 질의(query)를 수행한다.
본 발명의 실시예에 따른 데이터 관리 및 데이터 렌더링은 하나 이상의 OSGi 서비스를 유용하게 호출할 수 있다. OSGi는 설명을 위해 포함된 것이고 제한적인 것이 아니다. 사실, 본 발명의 실시예에 따른 데이터 관리 및 데이터 렌더링은 많은 다른 기술들을 유용하게 사용할 수 있고, 이러한 모든 기술들은 본 발명의 범위에 포함된다.
RAM(168)에는 운영 체계(154)가 또한 저장된다. 본 발명의 실시예에 따른 컴퓨터에 유용한 운영체계는 UNIX™, 리눅스™, 마이크로소프트 윈도우 NT™, AIX™, IBM의 i5/OS™, 및 당업자라면 잘 알 수 있는 기타의 것들을 포함한다. 도 2의 예에서 운영 체계(154)와 데이터 관리 및 데이터 렌더링 모듈(140)은 RAM(168) 내에 도시되어 있지만, 이러한 소프트웨어의 많은 성분들은 전형적으로 비휘발성 메모리(166)에도 또한 저장된다.
도 2의 컴퓨터(152)는 시스템 버스(160)를 통하여 프로세서(156) 및 컴퓨터(152)의 다른 구성 요소에 결합된 비휘발성 메모리를 포함한다. 비휘발성 컴퓨터 메모리(166)는 하드 디스크 드라이브(170), 광디스크 드라이브(172), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리 스페이스(소위 'EEPROM' 또는 '플래시' 메모리)(174), RAM 드라이브(도시 생략), 또는 당업자라면 잘 알 수 있는 임의의 다른 종류의 컴퓨터 메모리로서 구현될 수 있다.
도 2의 예시적인 컴퓨터는 하나 이상의 입력/출력 인터페이스 어댑터(178)를 포함한다. 컴퓨터의 입력/출력 인터페이스 어댑터는 컴퓨터 디스플레이 스크린과 같은 디스플레이 장치(180)로의 출력 및 키보드와 마우스와 같은 사용자 입력 장치(181)로부터의 사용자 입력을 제어하기 위한 예컨대 소프트웨어 드라이버 및 컴퓨터 하드웨어를 통하여 사용자 지향성 입력/출력을 구현한다.
도 2의 예시적 컴퓨터(152)는 다른 컴퓨터(182)와 데이터 통신(184)을 구현하기 위한 통신 어댑터(167)를 포함한다. 이러한 데이터 통신은 RS-232 접속을 통하여, USB 등의 외부 버스를 통하여, IP 네트워크 등의 데이터 통신 네트워크를 통하여, 및 당업자라면 잘 알 수 있는 다른 방법으로 직렬로 수행될 수 있다. 통신 어댑터는 하나의 컴퓨터가 다른 컴퓨터에 직접 또는 네트워크를 통하여 데이터 통신을 전송하는 데이터 통신의 하드웨어 레벨을 구현한다. 본 발명의 실시예에 따라 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링에 유용한 통신 어댑터의 예로는 유선(wired) 다이얼업 통신용 모뎀, 유선 네트워크 통신용 이더넷(IEEE 802.3) 어댑터 및 무선 네트워크 통신용 802.11b 어댑터가 있다.
추가의 설명을 위해, 도 3은 본 발명의 실시예에 따라 불균일한 데이터 유형 의 데이터 관리 및 데이터 렌더링을 위한 시스템을 나타내는 블록도를 도시한 것이다. 도 3의 시스템은 일반적으로 집성 처리로부터 데이터의 요구를 수신하는 단계; 데이터의 요구에 응답하여 2개 이상의 불균일한 데이터 소스 중의 하나를 데이터의 소스로서 확인하는 단계; 확인된 데이터 소스로부터 피요구 데이터를 검색하는 단계; 및 피요구 데이터를 집성 처리에 복귀시키는 단계를 수행할 수 있는, 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하기 위한 컴퓨터 프로그램 명령인 집성 모듈(144)을 포함한다.
도 3의 시스템은 일반적으로 불균일한 데이터 유형의 집성된 데이터를 수신하는 단계와, 불균일한 데이터 유형의 집성된 데이터 각각을 텍스트 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업으로 구성된 변환 데이터로 변환하는 단계를 수행할 수 있는, 불균일한 데이터 유형의 집성된 데이터를 균일한 데이터 유형의 데이터에 합성하기 위한 컴퓨터 프로그램 명령인 합성 엔진(145)을 포함한다.
합성 엔진(145)은 불균일한 데이터 유형의 각각의 집성된 데이터를 텍스트 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업으로 변환하기 위한 컴퓨터 프로그램 명령인 VXML 빌더(222) 모듈을 포함한다. 합성 엔진(145)은 또한 텍스트 콘텐트와 관련된 음성 마크업용의 그래머(grammar)를 발생하기 위한 컴퓨터 프로그램 명령인 그래머 빌더(224) 모듈을 포함한다.
도 3의 시스템은 합성 엔진에 의해 X+V 포맷으로 생성된 합성 데이터용의 기억 장치인 합성 데이터 저장소(226)를 포함한다. 도 3의 시스템은 일반적으로 합성 데이터 저장소(226)로부터의 합성 데이터를 사용자에게 제시할 수 있는 컴퓨터 프 로그램 명령인 X+V 브라우저(142)를 또한 포함한다. 합성 데이터의 제시는 합성 데이터의 그래픽 디스플레이 및 오디오 표시를 둘 다 포함할 수 있다. 도 4를 참조하여 뒤에서 설명하는 바와 같이, 합성 데이터를 사용자에게 제시하는 한가지 방법은 합성 데이터를 하나 이상의 채널을 통하여 제시함으로써 수행될 수 있다.
도 3의 시스템은 집성 처리로부터 데이터의 요구를 수신하는 단계; 데이터의 요구에 응답하여 복수의 불균일한 데이터 소스 중의 하나를 데이터의 소스로서 확인하는 단계; 확인된 데이터 소스로부터 피요구 데이터를 검색하는 단계; 및 피요구 데이터를 집성 처리에 복귀시키는 단계를 수행하기 위한 컴퓨터 프로그램 명령인 디스패처(146) 모듈을 포함한다. 디스패처(146) 모듈은 집성 모듈(144), 합성 엔진(145) 및 액션 에이전트(158)용의 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터에 액세스한다. 도 3의 시스템은 뒤에서 설명하는 바와 같이 데이터에 액세스하기 위해 디스패처가 사용하는 데이터 소스 지정 플러그 인(148-150, 234-236)을 포함한다.
도 3의 시스템에서, 데이터 소스는 로컬 데이터(216) 및 콘텐트 서버(202)를 포함한다. 로컬 데이터(216)는 자동화 연산 장치의 메모리 또는 레지스터에 저장된 데이터이다. 도 3의 시스템에서, 데이터 소스는 콘텐트 서버(202)를 또한 포함한다. 콘텐트 서버(202)는 네트워크(501)를 통하여 디스패처(146) 모듈에 접속된다. 도 3의 RSS 서버(108)는 RSS 피드용의 데이터 서버이고, 이 서버는 RSS를 XML 파일의 형태로 전송한다. RSS는 뉴스 웹사이트 및 웹로그에 의해 사용되는 웹 신디케이션용의 XML 파일 형식의 패밀리이다. 약어는 다음의 표준을 인용하기 위해 사용된 다: Rich Site Summary(RSS 0.91), RDF Site Summary(RSS 0.9, 1.0 및 1.1), 및 Really Simple Syndication(RSS 2.0). RSS 포맷은 웹 콘텐트 또는 콘텐트의 완전판에 대한 링크와 함께 웹 콘텐트의 요약, 및 기타의 메타 데이터를 제공한다. 이 정보는 RSS 피드, 웹피드, RSS 스트림, 또는 RSS 채널이라고 부르는 XML 파일로서 전송된다.
도 3의 시스템에서, 이메일 서버(106)는 이메일용의 데이터 소스이다. 이 서버는 이메일을 로터스 놋츠(Lotus NOTES) 파일 형태로 전송한다. 도 3의 시스템에서, 칼렌더 서버(107)는 칼렌더 정보용의 데이터 소스이다. 칼렌더 정보는 칼렌더화 이벤트 및 기타의 관련된 정보를 포함한다. 이 서버는 칼렌더 정보를 로터스 놋츠 파일의 형태로 전송한다.
도 3의 시스템에서, IBM 온 디맨드 워크스테이션(204) 서버는 생산성 도구, 및 아이디어를 공유하고 다른 것과 연구하고 협력하며 정보를 찾는 가상 공간을 제공하는 온 디맨드 워크플레이스('ODW')에 대한 지원을 제공한다.
도 3의 시스템은 데이터 소스 지정 플러그 인(148-150, 234-236)을 포함한다. 위에서 열거한 각 데이터 소스에 대하여, 디스패처는 데이터를 액세스하기 위해 특수한 플러그 인을 사용한다.
도 3의 시스템은 RSS 애플리케이션을 구동하는 RSS 서버(108)와 관련된 RSS 플러그 인(148)을 포함한다. 도 3의 RSS 플러그 인(148)은 사용자용의 RSS 서버(108)로부터 RSS 피드를 검색하고 RSS 피드를 XML 파일로 집성 모듈에 제공한다.
도 3의 시스템은 칼렌더링 애플리케이션을 구동하는 칼렌더 서버(107)와 관 련된 칼렌더 플러그 인(150)을 포함한다. 도 3의 칼렌더 플러그 인(150)은 사용자용의 칼렌더 서버(107)로부터 칼렌더화 이벤트를 검색하고 칼렌더화 이벤트를 집성 모듈에 제공한다.
도 3의 시스템은 이메일 애플리케이션을 구동하는 이메일 서버(106)와 관련된 이메일 플러그 인(234)을 포함한다. 도 3의 이메일 플러그 인(234)은 사용자용의 이메일 서버(106)로부터의 이메일을 검색하고 이메일을 집성 모듈에 제공한다.
도 3의 시스템은 ODW 애플리케이션을 구동하는 ODW 서버(204)와 관련된 온 디맨드 워크스테이션('ODW') 플러그 인(236)을 포함한다. 도 3의 ODW 플러그 인(236)은 사용자용의 ODW 서버(204)로부터 ODW 데이터를 검색하고 ODW 데이터를 집성 모듈에 제공한다.
도 3의 시스템은 일반적으로 사용자 명령을 수신하는 단계, 사용자 명령에 응답하여 합성 데이터를 선택하는 단계, 사용자 명령 및 선택된 데이터에 의존해서 액션을 선택하는 단계를 수행할 수 있는, 합성 데이터에 의존해서 액션 저장소(240)로부터 액션을 확인하기 위한 컴퓨터 프로그램 명령인 액션 발생기 모듈(159)을 또한 포함한다.
액션 발생기 모듈(159)은 내장된 서버(244)를 포함한다. 내장된 서버(244)는 X+V 브라우저(142)를 통하여 사용자 명령을 수신한다. 액션 저장소(240)로부터 액션 에이전트(158)를 확인한 때, 액션 발생기 모듈(159)은 액션 에이전트(158)를 사용하여 액션을 실행한다. 도 3의 시스템은 일반적으로 액션을 실행하는 단계를 수행할 수 있는, 액션을 실행하기 위한 컴퓨터 프로그램 명령인 액션 에이전트(158) 를 포함한다.
불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링
추가의 설명을 위하여, 도 4는 본 발명의 실시예에 따라 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링을 위한 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 4의 방법은 불균일한 데이터 소스(404, 410)로부터 불균일한 데이터 유형의 데이터(402, 408)를 집성하는 단계(406)를 포함한다. 전술한 바와 같이, 불균일한 데이터 유형의 집성된 데이터는 불균일한 유형의 데이터를 단일 장소에서 누적한 것이다. 이 집성 데이터의 위치는 예를 들면 집성 데이터를 포함하는 단일 컴퓨터에서와 같이 물리적인 것일 수도 있고, 예를 들면 집성 데이터에 대한 액세스를 제공하는 단일 인터페이스와 같은 논리적인 것일 수도 있다.
도 4의 방법에 따라 불균일한 데이터 소스(404, 410)로부터 불균일한 데이터 유형의 데이터(402, 408)를 집성하는 단계(406)는 도 5를 참조하여 뒤에서 자세히 설명하는 바와 같이 집성 처리로부터 데이터의 요구를 수신하는 단계; 데이터의 요구에 응답하여 2개 이상의 불균일한 데이터 소스 중의 하나를 데이터의 소스로서 확인하는 단계; 확인된 데이터 소스로부터 피요구 데이터를 수신하는 단계; 및 피요구 데이터를 집성 처리에 복귀시키는 단계에 의해 수행될 수 있다.
도 4의 방법은 불균일한 데이터 유형의 집성된 데이터(412)를 균일한 데이터 유형의 데이터에 합성하는 단계(414)를 또한 포함한다. 균일한 데이터 유형의 데이터는 미리 정해진 유형의 형식으로 생성 또는 변환된 데이터이다. 즉, 균일한 데이터 유형은 균일한 데이터 유형의 데이터를 렌더링할 수 있는 장치에서 렌더링될 수 있는 단일 종류의 데이터이다. 불균일한 데이터 유형의 집성된 데이터(412)를 균일한 데이터 유형의 데이터에 합성하는 단계(414)는 바람직하게 불균일한 데이터 소스로부터 검색된 불균일한 데이터의 집성의 콘텐트에 대한 단일 액세스 포인트를 제공한다.
불균일한 데이터 유형의 집성된 데이터(412)를 균일한 데이터 유형의 데이터에 합성하는 단계(414)에서 유용한 균일한 데이터 유형의 일 예는 XHTML 플러스 음성이다. XHTML 플러스 음성('X+V')은 음성 마크업으로 프리젠테이션 레이어에서 음성을 인에이블함으로써 멀티모달 애플리케이션을 개발하기 위한 웹 마크업 언어이다. X+V는 음성 및 시각적 요소 둘 다를 이용하여 소형 이동 장치에서 음성 기반 대화(interaction)를 제공한다. X+V는 3개의 주요 표준, 즉 XHTML, 음성 XML 및 XML 이벤트로 구성된다. 웹 애플리케이션 환경이 이벤트 구동형으로 주어지면, X+V는 XML 이벤트 표준에서 사용된 도큐멘트 오브젝트 모델(DOM) 이벤팅 프레임워크를 통합한다. 이 프레임워크를 이용해서, X+V는 시각과 음성 마크업 간의 상관성을 생성하기 위해 HTML로부터 익숙한(familiar) 이벤트 유형을 정의한다.
불균일한 데이터 유형의 집성된 데이터(412)를 균일한 데이터 유형의 데이터에 합성하는 단계(414)는 도 9를 참조하여 자세히 설명하는 바와 같이 불균일한 데이터 유형의 집성된 데이터를 수신하는 단계 및 불균일한 데이터 유형의 집성된 데이터 각각을 텍스트 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업으로 변환하는 단계에 의해 수행될 수 있다. 도 4의 방법에서, 불균일한 데이터 유형의 집성된 데이터(412)를 균일한 데이터 유형의 데이터에 합성하는 단계는 집성된 데이터를 X+V로 또는 당업자라면 잘 알 수 있는 임의의 기타 마크업 언어로 변환함으로써 수행될 수 있다.
도 4의 데이터 관리 및 데이터 렌더링 방법은 합성 데이터(416)에 의존해서 액션을 확인하는 단계(418)를 또한 포함한다. 액션은 실행시 소정의 타스크를 수행하는 한 세트의 컴퓨터 명령이다. 액션은 합성 데이터에 의존해서 즉시, 또는 소정의 시간 후에 실행될 수 있다. 합성 데이터(416)에 의존해서 액션을 확인하는 단계는 사용자 명령을 수신하는 단계, 사용자 명령에 응답하여 합성 데이터를 선택하는 단계, 및 사용자 명령과 선택된 데이터에 의존해서 액션을 선택하는 단계에 의해 수행될 수 있다.
사용자 명령은 사용자의 행동에 응답해서 수신된 이벤트이다. 예시적인 사용자 명령은 키보드 또는 키패드를 이용하여 키스트로크의 조합을 입력하는 사용자 입력의 결과로서 이벤트를 수신하는 것, 사용자로부터 스피치를 수신하는 것, 마우스를 이용하여 시각적 디스플레이상의 아이콘을 클릭한 결과로서의 이벤트를 수신하는 것, 터치패드상의 아이콘을 누르는 사용자의 결과로서 이벤트를 수신하는 것, 또는 당업자라면 잘 알 수 있는 기타의 사용자 명령이 있다. 사용자 명령을 수신하는 것은 사용자로부터 스피치를 수신하고, 스피치를 텍스트로 변환하고 텍스트 및 그래머에 의존해서 사용자 명령을 결정함으로써 수행될 수 있다. 대안적으로, 사용자 명령을 수신하는 것은 사용자로부터 스피치를 수신하고 스피치 및 그래머에 의존해서 사용자 명령을 결정함으로써 수행될 수 있다.
도 4의 방법은 확인된 액션(420)을 실행하는 단계(424)를 또한 포함한다. 확 인된 액션(420)을 실행하는 단계(424)는 합성 데이터에 의존해서 확인된 액션 오브젝트에서 멤버 방법을 호출하는 단계, 확인된 액션을 수행하는 컴퓨터 프로그램 명령을 실행하는 단계, 및 당업자라면 잘 알 수 있는 바와 같이 확인된 액션을 실행하는 기타의 방법에 의해 수행될 수 있다. 확인된 액션(420)을 실행하는 단계(424)는 액션을 수행하는 데 필요한 통신 네트워크의 가용성을 판정하는 단계와, 통신 네트워크가 가용인 경우에만 액션을 실행하는 단계와, 통신 네트워크 접속이 이용불능이면 액션의 실행을 연기하는 단계를 또한 포함할 수 있다. 통신 네트워크 접속이 이용불능인 경우 액션의 실행을 연기하는 단계는 확인된 액션을 액션 대기행렬로 대기행렬을 만드는 단계와, 통신 네트워크가 이용가능하게 될 때까지 액션을 저장하는 단계와, 그 다음에, 확인된 액션을 실행하는 단계를 포함할 수 있다. 확인된 액션(420)의 실행을 대기하는 다른 하나의 방법은 액션을 묘사하는 엔트리를 콘테이너에 삽입하는 단계와 나중에 상기 콘테이너를 처리하는 단계에 의해 수행될 수 있다. 콘테이너는 예컨대 XML 파일과 같이 액션을 묘사하는 엔트리를 저장하기에 적당한 임의의 데이터 구조일 수 있다.
확인된 액션(420)을 실행하는 단계(424)는 불균일한 데이터 소스 중의 하나의 데이터의 콘텐트를 수정하는 단계를 포함할 수 있다. 예를 들어서, 실행시 이메일로부터 변환된 합성 데이터를 삭제할 뿐만 아니라 본 발명에 따라 동작하는 데이터 관리 및 데이터 렌더링 모듈에 데이터 통신을 위해 결합된 이메일 서버에 저장된 원래의 소스 이메일을 삭제하는 '구이메일 삭제'(deleteOldEmail())라고 부르는 액션을 생각하자.
도 4의 방법은 합성 데이터(416)를 채널화하는 단계(422)를 또한 포함한다. 채널은 사용자에게 제시하기 위한 데이터 콘텐트의 논리적 집성이다. 합성 데이터(416)를 채널화하는 단계(422)는 합성 데이터의 속성을 확인하는 단계, 합성 데이터의 속성을 특징화하는 단계 및 특징화한 속성 및 채널 할당 규칙에 의존해서 데이터를 미리 정해진 채널에 할당하는 단계에 의해 수행될 수 있다. 합성 데이터를 채널화하는 단계는 바람직하게 사용자에게 관련 콘텐트를 제시하기 위한 베히클(vehicle)을 제공한다. 이러한 채널화 데이터의 예로는 작업(work) 관련 콘텐트의 채널을 제공하는 '작업 채널', 오락 콘텐트의 채널을 제공하는 '오락 채널' 및 당업자라면 잘 알 수 있는 기타의 것이 있다.
도 4의 방법은 하나 이상의 채널을 통해 사용자에게 합성 데이터(416)를 제시하는 단계(426)를 또한 포함할 수 있다. 하나 이상의 채널을 통해 사용자에게 합성 데이터(416)를 제시(426)하는 한가지 방법은 가용 내널의 요약 또는 표제(heading)를 제시함으로써 실행될 수 있다. 이러한 채널을 통해 제시된 콘텐트는 합성 데이터에 액세스하기 위해 상기 제시를 통해 액세스될 수 있다. 하나 이상의 채널을 통해 사용자에게 합성 데이터(416)를 제시(426)하는 다른 하나의 방법은 채널에 포함된 합성 데이터(416)를 디스플레이 또는 플레이함으로써 수행될 수 있다. 텍스트는 시각적으로 디스플레이되거나, 또는 시뮬레이트 음성으로 변환되어 사용자에게 재생될 수 있다.
불균일한 데이터 유형의 데이터 집성
추가의 설명을 위하여, 도 5는 본 발명의 실시예에 따라 불균일한 데이터 소 스로부터 불균일한 데이터 유형의 데이터를 집성하는 예시적 방법을 나타내는 흐름도를 도시한다. 도 5의 방법에서, 불균일한 데이터 소스(404, 522)로부터 불균일한 데이터 유형의 데이터(402, 408)를 집성하는 단계(406)는 집성 처리(502)로부터 데이터의 요구(508)를 수신하는 단계(506)를 포함한다. 데이터의 요구는 피요구 데이터의 검색 및 집성 처리로의 피요구 데이터의 복귀를 개시하도록 디스패처에 명령하는 디스패처에 대한 집성 처리로부터의 메시지로서 구현될 수 있다.
도 5의 방법에서, 불균일한 데이터 소스(404, 522)로부터 불균일한 데이터 유형의 데이터(402, 408)의 집성 단계(406)는 데이터의 요구(508)에 응답하여 복수의 불균일한 데이터 소스(404, 522) 중의 하나를 데이터의 소스로서 확인하는 단계(510)를 또한 포함한다. 데이터의 요구(508)에 응답하여 복수의 불균일한 데이터 소스(404, 522) 중의 하나를 데이터의 소스로서 확인하는 단계(510)는 여러 가지 방법으로 수행될 수 있다. 복수의 불균일한 데이터 소스(404, 522) 중의 하나를 데이터의 소스로서 확인(510)하는 한가지 방법은 도 7을 참조하여 뒤에서 자세히 설명하는 바와 같이 사용자로부터 불균일한 데이터 소스의 식별을 수신하는 단계; 및 이 식별에 의존해서 불균일한 데이터 소스를 집성 처리에 대하여 확인하는 단계에 의해 수행될 수 있다.
불균일한 데이터 소스를 집성 처리(502)에 대하여 확인하는 다른 하나의 방법은 도 8을 참조하여 뒤에서 자세히 설명하는 바와 같이 데이터의 요구로부터 데이터 유형 정보를 확인하는 단계 및 데이터 유형에 대응하는 데이터의 테이블 소스를 데이터 소스로부터 확인하는 단계에 의해 수행된다. 복수의 데이터 소스 중의 하나를 확인하는 또다른 방법은 데이터의 요구로부터 데이터 유형 정보를 확인하는 단계; 데이터 유형 정보에 의존해서 데이터 소스를 탐색하는 단계; 및 데이터 소스 탐색에 복귀된 탐색 결과로부터 도 8을 참조하여 뒤에서 자세히 설명하는 데이터 유형에 대응하는 데이터의 소스를 확인하는 단계에 의해 수행된다.
이 명세서에서 설명하는 복수의 데이터 소스 중의 하나를 확인하는 상기 3가지 방법은 설명을 위한 것일 뿐 제한적인 것이 아니다. 사실, 복수의 데이터 소스 중의 하나를 확인하는 많은 방법이 있지만 이러한 모든 방법은 본 발명의 범위에 포함된다.
도 5의 데이터를 집성(406)하는 방법은 확인된 데이터 소스(522)로부터 피요구 데이터(514)를 검색하는 단계(512)를 포함한다. 확인된 데이터 소스(522)로부터 피요구 데이터(514)를 검색하는 단계(512)는 도 6을 참조하여 뒤에서 자세히 설명하는 바와 같이 확인된 데이터 소스가 피요구 데이터를 검색하기 위해 데이터 액세스 정보를 요구하는지 여부를 판정하는 단계; 만일 확인된 데이터 소스가 피요구 데이터를 검색하기 위해 데이터 액세스 정보를 요구하면 데이터의 요구에 포함된 데이터 요소에 의존해서 데이터 액세스 정보를 검색하는 단계; 및 확인된 데이터 소스에 데이터 액세스 정보를 제시하는 단계를 포함한다. 도 5의 방법에 따라 피요구 데이터를 검색하는 단계(512)는 메모리로부터 국부적으로 데이터를 검색하는 단계, 네트워크 위치로부터 데이터를 다운로드하는 단계, 또는 당업자라면 잘 알 수 있는 임의의 다른 피요구 데이터 검색 방법에 의해 수행될 수 있다. 전술한 바와 같이, 확인된 데이터 소스(522)로부터 피요구 데이터(514)를 검색하는 단계(512)는 특수한 데이터 소스 또는 특수 유형의 데이터 소스로부터 데이터를 검색하도록 설계된 데이터 소스 지정 플러그 인에 의해 수행될 수 있다.
도 5의 방법에서, 불균일한 데이터 소스(404, 522)로부터 불균일한 데이터 유형의 데이터(402, 408)를 집성하는 단계(406)는 피요구 데이터(514)를 집성 처리(502)에 복귀시키는 단계(516)를 또한 포함한다. 피요구 데이터(514)를 집성 처리(502)에 복귀시키는 단계(516)는 피요구 데이터를 메시지로 집성 처리에 복귀시키는 단계, 데이터를 국부적으로 저장하는 단계 및 저장된 데이터의 위치를 지시하는 포인터를 집성 처리에 복귀시키는 단계, 또는 당업자라면 잘 알 수 있는 임의의 다른 피요구 데이터 복귀 방법을 포함한다.
도 5를 참조하여 전술한 바와 같이, 도 5의 데이터 집성 단계(406)는 확인된 데이터 소스로부터 피요구 데이터를 검색하는 단계를 포함한다. 추가의 설명을 위하여, 도 6은 본 발명의 실시예에 따라, 확인된 데이터 소스(522)로부터 피요구 데이터(514)를 검색(512)하는 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 6의 방법에서, 확인된 데이터 소스(522)로부터 피요구 데이터(514)를 검색하는 단계(512)는 확인된 데이터 소스가 피요구 데이터(514)를 검색하기 위해 데이터 액세스 정보(914)를 요구하는지 여부를 판정하는 단계를 포함한다. 도 5를 참조하여 전술한 바와 같이, 데이터 액세스 정보는 데이터의 불균일한 소스의 일부로부터 일부 유형의 데이터를 액세스하는데 필요한 정보이다. 예시적인 데이터 액세스 정보는 계정명(account name), 계정 번호, 패스워드, 또는 당업자라면 잘 알 수 있는 임의의 다른 데이터 액세스 정보를 포함한다.
확인된 데이터 소스(522)가 피요구 데이터(514)를 검색하기 위해 데이터 액세스 정보(914)를 요구하는지 여부를 판정하는 단계(904)는 확인된 데이터 소스로부터 데이터 검색을 시도하는 단계 및 데이터의 검색에 필요한 데이터 액세스 정보의 프롬프트를 데이터 소스로부터 수신하는 단계에 의해 수행될 수 있다. 대안적으로, 확인된 데이터 소스(522)가 피요구 데이터(514)를 검색하기 위해 데이터 액세스 정보(914)를 요구하는지 여부를 판정하는 단계(904)는, 데이터가 데이터 소스로부터 검색될 때마다 데이터 소스로부터 프롬프트를 수신하는 대신에, 예를 들면 사용자에 의해 1회 수행되고, 피요구 데이터 액세스 정보가 프롬프트없이 그 데이터에 대한 임의의 요구에 의해 데이터 소스에 제공될 수 있도록 디스패처에 제공된다. 이러한 데이터 액세스 정보는 예를 들면 확인된 데이터 소스로부터 데이터를 액세스하는데 필요한 임의의 대응하는 데이터 액세스 정보를 확인하는 데이터 소스 테이블에 저장될 수 있다.
도 6의 방법에서, 확인된 데이터 소스(522)로부터 피요구 데이터(514)를 검색하는 단계(512)는 데이터의 요구(508)에 포함된 데이터 요소(910)에 의존해서 만일 확인된 데이터 소스가 피요구 데이터(908)를 검색하기 위해 데이터 액세스 정보를 요구하면 데이터 액세스 정보(914)를 검색하는 단계(912)를 또한 포함한다. 데이터의 요구(508)에 포함된 데이터 요소(910)는 전형적으로 데이터의 요구(508)의 속성들의 값이다. 이 값들은 액세스되는 데이터의 유형을 확인하는 값, 피요구 데이터의 불균일한 데이터 소스의 위치를 확인하는 값, 또는 데이터 요구의 속성들의 임의의 다른 값들을 포함할 수 있다.
데이터의 요구(508)에 포함된 상기 데이터 요소(910)는 불균일한 데이터 소스로부터 데이터를 검색하기 위해 필요한 데이터 액세스 정보를 검색하는데 유용하다. 사용자용의 데이터 소스에 액세스하기 위해 필요한 데이터 액세스 정보는 데이터 소스로부터 모든 데이터의 요구에서 발견된 데이터 요소에 의해 색인된 사용자와 관련된 기록에 유용하게 저장될 수 있다. 그러므로, 도 6에 따라 데이터 액세스 정보(914)를 데이터의 요구(508)에 포함된 데이터 요소(910)에 의존해서 검색하는 단계(912)는 데이터 액세스정보를 포함한 기록을 요구 내의 하나 이상의 데이터 요소에 의존해서 데이터베이스로부터 검색하는 단계와 상기 기록으로부터 데이터 액세스 정보를 추출하는 단계에 의해 수행될 수 있다. 이러한 데이터 액세스 정보는 데이터 검색을 위해 데이터 소스에 제공될 수 있다.
확인된 데이터 소스가 피요구 데이터(908)를 검색하기 위해 데이터 액세스 정보(914)를 요구하는 경우, 데이터의 요구(508)에 포함된 데이터 요소(910)에 의존해서 데이터 액세스 정보(914)를 검색하는 단계(912)는 데이터의 요구(508)에 포함된 데이터 요소(910)를 확인하는 단계, 피요구 데이터(908)를 검색하는데 필요한 데이터 액세스 정보(914)를 확인하기 위해 데이터 요소를 분석하는 단계, 데이터 액세스 테이블 내에서 올바른 데이터 액세스 정보를 확인하는 단계 및 데이터 액세스 정보(914)를 검색하는 단계에 의해 수행될 수 있다.
확인된 데이터 소스(522)로부터 피요구 데이터(514)를 검색(512)하는 도 6의 예시적 방법은 데이터 액세스 정보(914)를 확인된 데이터 소스(522)에 제시하는 단계(916)를 또한 포함한다. 도 6의 방법에 따라 데이터 액세스 정보(914)를 확인된 데이터 소스(522)에 제시하는 단계(916)는 요구에 대한 파라메터로서 데이터 액세스 정보를 요구에 제공하는 단계 또는 데이터 소스에 의해 상기 데이터 액세스 정보에 대한 프롬프트에 응답하여 데이터 액세스 정보를 제공하는 단계에 의해 수행될 수 있다. 즉, 데이터 액세스 정보(914)를 확인된 데이터 소스(522)에 제시하는 단계(916)는 그러한 데이터 액세스 정보의 프롬프트에 응답하여 확인된 데이터 소스(522)에 데이터 액세스 정보(914)를 제공하는 디스패처의 선택된 데이터 소스 지정 플러그 인에 의해 수행될 수 있다. 대안적으로, 데이터 액세스 정보(914)를 확인된 데이터 소스(522)에 제시하는 단계(916)는 프롬프트없이 확인된 데이터 소스(522)용의 데이터 액세스 정보(914)를 요구하기 위한 파라메터로서 통과시키는 디스패처의 선택된 데이터 소스 지정 플러그 인에 의해 수행될 수 있다.
전술한 바와 같이, 본 발명의 실시예에 따라 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하는 단계는 전형적으로 집성 처리에 대하여 불균일한 데이터 소스를 확인하는 단계를 포함한다. 즉, 특수한 데이터 소스로부터 데이터를 요구하기 전에, 그 데이터 소스는 전형적으로 집성 처리를 위하여 확인된다. 그러므로, 추가의 설명을 위해, 도 7은 집성 처리(502)를 위하여 불균일한 데이터 소스(1008)를 확인하는 단계(1006)를 포함하는 본 발명에 따라 불균일한 데이터 소스(404, 522)로부터 불균일한 데이터 유형의 데이터(404, 522)를 집성하기 위한 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 7의 방법에서, 집성 처리(502)를 위해 불균일한 데이터 소스(1008)를 확인하는 단계(1006)는 사용자로부터 불균일한 데이터 소스의 선택(1004)을 수신하는 단계(1002)를 포함한다. 사용자는 전형적으로 본 발명에 따라 불균일한 데이터 소스(1008)로부터 불균일한 데이터 유형의 데이터(402, 408)를 관리 및 렌더링하기 위한 데이터 관리 및 데이터 렌더링 시스템을 이용하는 사람이다. 사용자로부터 불균일한 데이터 소스의 선택(1004)을 수신하는 단계(1002)는 데이터 관리 및 데이터 렌더링 애플리케이션의 사용자 인터페이스를 통하여 불균일한 데이터 소스의 선택을 포함한 사용자 명령을 사용자로부터 수신하는 단계와, 상기 선택(1004)에 의존해서 집성 처리(502)를 위하여 불균일한 데이터 소스(404, 522)를 확인하는 단계(1009)에 의해 수행될 수 있다. 사용자 명령은 키보드 또는 키패드를 이용한 키스트로크의 사용자 입력, 사용자로부터의 스피치 수신, 마우스를 이용한 시각적 디스플레이 상의 아이콘 클릭킹 수신, 터치패드상의 아이콘 누름, 또는 당업자라면 잘 알 수 있는 기타의 사용자 행동의 결과로서 생성된 이벤트와 같이, 사용자의 행동에 응답하여 수신된 이벤트이다. 데이터 관리 및 데이터 렌더링 애플리케이션의 사용자 인터페이스는 특수한 불균일한 데이터 소스의 사용자 선택을 수신하기 위한 베히클을 유용하게 제공할 수 있다.
도 7의 예에서, 집성 처리를 위해 불균일한 데이터 소스를 확인하는 단계는 사용자에 의해 수행될 수 있다. 불균일한 데이터 소스 확인 단계는 제한된 즉 어떠한 사용자 상호작용도 요구하지 않는 처리에 의해 또한 수행될 수 있다. 추가의 설명을 위해, 도 8은 집성 처리(502)를 위해 불균일한 데이터 소스(1008)를 확인하는 단계(1006) 및 데이터의 요구(508)로부터 데이터 유형 정보(1106)를 확인하는 단계(1102)를 포함하는, 사용자 액션을 거의 또는 전혀 요구하지 않는 불균일한 데이터 소스로부터 불균일한 데이터 유형의 데이터를 집성하는 예시적 방법을 나타내는 흐 름도를 도시하고 있다. 불균일한 데이터 유형은 종류 및 형태가 다른 데이터를 확인한다. 즉, 불균일한 데이터 유형은 종류가 다른 데이터이다. 불균일한 데이터 유형을 정의하는 데이터의 구별은 데이터 구조, 파일 형식, 데이터를 전송하는 프로토콜의 차이 및 당업자라면 잘 알 수 있는 기타의 구별을 포함한다. 데이터 유형 정보(1106)는 불균일한 데이터 유형을 정의하는 상기와 같은 데이터 구별을 표시하는 정보이다.
도 8의 방법에 따라 데이터의 요구(508)로부터 데이터 유형 정보(1106)를 확인하는 단계(1102)는 데이터의 요구로부터 데이터 유형 코드를 추출하는 단계에 의해 수행될 수 있다. 대안적으로, 데이터의 요구(508)로부터 데이터 유형 정보(1106)를 확인하는 단계(1102)는 요구로부터 데이터 요소들을 추출하고 그 데이터 요소로부터 피요구 데이터의 데이터 유형을 추론하는 것과 같이, 요구 자체로부터 요구되는 데이터의 데이터 유형을 추론하는 단계, 또는 당업자라면 잘 알 수 있는 기타의 방법에 의해 수행될 수 있다.
도 8의 집성 방법에서, 집성 처리(502)를 위하여 불균일한 데이터 소스를 확인하는 단계(1006)는 데이터 소스 테이블(1104)로부터 데이터 유형에 대응하는 데이터의 소스(1116)를 확인하는 단계(1110)를 또한 포함한다. 데이터 소스 테이블은 상기 불균일한 데이터 소스로부터 검색된 데이터의 데이터 유형에 의해 색인된 불균일한 데이터 소스의 확인을 포함하는 테이블이다. 데이터 소스 테이블(1104)로부터 데이터 유형에 대응하는 데이터의 소스(1116)를 확인하는 단계(1110)는 확인된 데이터 유형에 의존해서 데이터 소스 테이블을 조사하는 단계에 의해 수행될 수 있 다.
일부 경우, 데이터 소스가 데이터 유형을 찾지 못하거나 데이터 소스 테이블이 불균일한 데이터 소스를 확인하는데 이용될 수 없는 경우가 있다. 그러므로, 도 8의 방법은 데이터 유형 정보(1106)에 의존해서 데이터 소스를 탐색하는 단계(1108) 및 데이터 소스 탐색에 복귀된 탐색 결과(1112)로부터 데이터 유형에 대응하는 데이터의 소스(1116)를 확인하는 단계(1114)를 포함하는, 집성 처리(502)를 위하여 불균일한 데이터 소스를 확인(1006)하는 대안적 방법을 포함한다. 데이터 유형 정보(1106)에 의존해서 데이터 소스를 탐색하는 단계(1108)는 데이터 유형 정보에 의존해서 탐색 엔진 질의(query)를 생성하는 단계 및 탐색 엔진을 생성된 질의에 의해 질의하는 단계에 의해 수행될 수 있다. 탐색 엔진을 질의하는 단계는 예를 들면 HTTP GET 또는 HTTP POST 기능에 의해 탐색 엔진에 전달된 URL 부호화 데이터를 사용함으로써 수행될 수 있다. URL 부호화 데이터는 데이터 통신, 이 경우에는 탐색 엔진에 대한 질의를 통과시키는 데이터 통신을 위해 URL에 패키지된 데이터이다. HTTP 통신의 경우, HTTP GET 및 POST 기능은 종종 URL 부호화 데이터를 전송하기 위해 사용된다. 이 콘텍스트에서, URL은 단순히 파일 전송을 요구하는 것 이상의 것을 행한다는 것을 기억하는 것이 유용하다. URL은 서버 상의 리소스를 확인한다. 이러한 리소스는 파일명을 가진 파일일 수 있지만, URL에 의해 확인된 리소스는 예를 들면 데이터베이스에 대한 질의를 또한 포함한다. 이러한 질의의 결과는 반드시 파일에 존재할 필요가 없고, 그럼에도 불구하고 상기 결과들은 URL에 의해 확인되고 탐색 엔진에 의해 확인된 데이터 리소스 및 그러한 리소스를 생성하는 질의 데이터(query data)이다. URL 부호화 데이터의 예는 다음의 것이 있다;
http://www.example.com/search?field1=value1&field2=value2
이 URL 부호화 데이터의 예는 웹을 통해 탐색 엔진에 보내진 질의를 나타낸다. 더 구체적으로, 상기 예는 탐색 엔진에 대한 질의를 나타내는 URL 관련 부호화 데이터이고, 상기 질의는 스트링 "field1=value1&field2=value2"이다. 예시적인 부호화 방법은 '&' 와 '='에 의해 분리된 스트링 필드명 및 필드값을 연결하는 것이고 URL에 "탐색"(search)을 포함시킴으로써 질의로서 부호화를 표시한다. 예시적인 URL 부호화 탐색 질의는 설명을 위한 것이며 제한적인 것이 아니다. 사실, 다른 탐색 엔진은 데이터 부호화 URL에서 질의를 표시함에 있어서 다른 구문을 사용할 수 있고, 따라서 데이터 부호화의 특수 구문은 질의되는 특수한 탐색 엔진에 따라 다를 수 있다.
데이터 소스 탐색에 복귀된 탐색 결과(1112)로부터 데이터 유형에 대응하는 데이터의 소스(1116)를 확인하는 단계(1114)는 탐색 엔진에 의해 복귀된 탐색 결과 페이지의 하이퍼링크로부터 데이터 소스에 대한 URL을 검색하는 단계에 의해 수행될 수 있다.
집성 데이터의 합성
전술한 바와 같이, 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링은 불균일한 데이터 유형의 집성 데이터를 균일한 데이터 유형의 데이터에 합성하는 단계를 포함한다. 추가적인 설명을 위해, 도 9는 불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성(414)하는 방법을 나타내는 흐름 도를 도시하고 있다. 전술한 바와 같이, 불균일한 데이터 유형의 집성 데이터(412)는 불균일한 유형의 데이터의 단일 위치에서의 누적물이다. 이 집성 데이터의 위치는 예를 들면 집성 데이터를 내포하는 단일 컴퓨터 상에서와 같은 물리적인 것일 수도 있고, 예를 들면 집성 데이터에 대한 액세스를 제공하는 단일 인터페이스와 같은 논리적인 것일 수도 있다. 또한, 전술한 바와 같이, 불균일한 데이터 유형은 종류 및 형태가 다른 데이터이다. 즉, 불균일한 데이터 유형은 다른 종류의 데이터이다. 균일한 데이터 유형의 데이터는 미리 정해진 유형의 형식으로 생성 또는 변환된 데이터이다. 즉, 균일한 데이터 유형은 균일한 데이터 유형의 데이터를 렌더링할 수 있는 장치에서 렌더링되는 단일 종류의 데이터이다. 불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성(414)하는 것은 바람직하게 불균일한 데이터의 콘텐트를 단일 장치에서 렌더링할 수 있게 한다.
도 9의 방법에서, 불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성하는 단계(414)는 불균일한 데이터 유형의 집성 데이터를 수신하는 단계(612)를 포함한다. 불균일한 데이터 유형의 집성 데이터(412)를 수신하는 단계(612)는 균일한 데이터 유형에 합성하기 위한 불균일한 소스로부터의 불균일한 데이터 유형의 데이터를 불균일한 데이터를 누적한 집성 처리로부터 수신함으로써 수행될 수 있다.
도 9의 합성 방법에서, 불균일한 데이터 유형(610)의 집성 데이터(406)를 균일한 데이터 유형의 데이터에 합성하는 단계(414)는 불균일한 데이터 유형(610)의 집성 데이터 각각을 텍스트(617) 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업 (619)으로 변환하는 단계(614)를 또한 포함한다. 도 9의 방법에 따라 불균일한 데이터 유형(610)의 집성 데이터 각각을 텍스트(617) 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업(619)으로 변환하는 단계(614)는 텍스트 및 마크업을 렌더링할 수 있는 브라우저가 합성 전에 집성 데이터에 내포된 동일한 콘텐트를 상기 변환 데이터로부터 렌더링할 수 있도록 집성 데이터의 콘텐트를 텍스트 및 마크업으로 표시하는 단계를 포함한다.
도 9의 방법에서, 불균일한 데이터 유형(610)의 집성 데이터 각각을 텍스트(617) 콘텐트 및 마크업(619)으로 변환하는 단계(614)는 도 10과 관련하여 뒤에서 자세히 설명하는 바와 같이 텍스트, 마크업, 그래머 등을 포함하는 집성 데이터용의 X+V 문서를 생성함으로써 수행될 수 있다. X+V의 사용은 설명을 위한 것이며 제한적인 것이 아니다. 사실, XML, VXML 또는 당업자라면 잘 알 수 있는 임의의 다른 마크업 언어와 같은 다른 마크업 언어가 본 발명에 따라 불균일한 데이터 유형(610)의 집성 데이터(406)를 균일한 데이터 유형의 데이터에 합성(414)하는 데에 유용할 수 있다.
텍스트 및 마크업을 렌더링할 수 있는 브라우저가 합성 전에 집성 데이터에 내포된 동일한 콘텐트를 변환 데이터로부터 렌더링하도록 불균일한 데이터 유형(610)의 집성 데이터 각각을 텍스트(617) 콘텐트 및 마크업(619)으로 변환하는 단계(614)는 동일한 방법으로의 변환에 있어서 콘텐트를 증대시키는 단계를 포함할 수 있다. 즉, 집성 데이터 유형을 텍스트 및 마크업으로 변환하는 것은 데이터의 콘텐트에 약간의 수정을 가하거나 정확히 변환될 수 없는 일부 콘텐트를 삭제시킬 수 있다. 이러한 수정 및 삭제의 양은 변환되는 데이터의 유형 및 당업자라면 잘 알 수 있는 기타의 요인에 따라 변화될 수 있다.
불균일한 데이터 유형(610)의 집성 데이터 각각을 텍스트(617) 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업(619)으로 변환하는 단계(614)는 집성 데이터를 텍스트 및 마크업으로 변환하는 단계 및 변환된 콘텐트를 데이터 유형에 따라 분석하는 단계에 의해 수행될 수 있다. 데이터 유형에 따라 변환 콘텐트를 분석하는 것은 변환 콘텐트의 구조를 확인하고 콘텐트 자체의 태양을 확인하며 확인된 구조 및 콘텐트를 표시하는 마크업(619)을 생성하는 것을 의미한다.
추가의 설명을 위해, 하기와 같은 대통령을 설명하는 오디오 클립의 단편(snippet)의 마크업 언어 표시를 생각하자.
<head> original file type='MP3' keyword='president' number='50',
keyword='air force' number='1' keyword='white house' number='2'>
</head>
<content>
Some content about the president
</content>
상기 예에서, MP3 오디오 파일은 텍스트 및 마크업으로 변환된다. 상기 예에서 헤더는 MP3 오디오 파일로부터 변환되었을 때 변환 데이터를 확인한다. 예시적인 헤더는 변환된 문서의 콘텐트에 포함된 키워드 및 이들 키워드가 나타나는 빈도를 또한 포함한다. 예시적인 변환 데이터는 'some content about the president'라 고 확인된 콘텐트를 또한 포함한다.
전술한 바와 같이, 합성 데이터용의 하나의 유용한 균일 데이터 유형은 XHTML 플러스 음성(Voice)이다. XHTML 플러스 음성('X+V')은 음성 마크업으로 음성을 인에이블함으로써 멀티모달 애플리케이션을 개발하기 위한 웹 마크업 언어이다. X+V는 음성과 시각 요소를 둘 다 이용하는 장치에서 음성 기반 대화를 제공한다. 본 발명의 실시예에 따라 데이터 관리 및 데이터 렌더링을 위해 합성 데이터를 음성 인에이블하는 것은 전형적으로 합성 데이터의 텍스트 콘텐트에 대한 그래머 세트를 생성함으로써 수행된다. 그래머는 말하여질 수 있는 한 세트의 단어(word), 이 단어가 말하여질 수 있는 패턴, 또는 스피치 인식 엔진에 의해 인식되는 스피치를 정의하는 다른 언어 요소이다. 이러한 스피치 인식 엔진은 사용자에게 합성 데이터의 음성 내비게이션 및 합성 데이터에 의한 음성 대화를 제공하도록 데이터 관리 및 렌더링 엔진에서 유용하다.
그러므로, 추가의 설명을 위해, 도 10은 사용자와의 음성 대화를 위해 합성 데이터의 텍스트 콘텐트에 대한 그래머를 동적으로 생성하는 단계를 포함한, 불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성(414)하는 방법을 나타내는 흐름도를 도시하고 있다. 도 10의 방법에 따라 불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성(414)하는 방법은 불균일한 데이터 유형의 집성 데이터(412)를 수신하는 단계(612)를 포함한다. 전술한 바와 같이, 불균일한 데이터 유형의 집성 데이터(412)를 수신하는 단계(612)는 균일한 데이터 유형에 합성하기 위해, 불균일한 데이터가 누적된 집성 처 리로부터, 불균일한 소스로부터의 불균일한 데이터 유형의 데이터를 수신하는 단계에 의해 수행될 수 있다.
불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성(414)하는 도 10의 방법은 불균일한 데이터 유형의 집성 데이터(412) 각각을 텍스트 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업을 포함한 변환 데이터(1204)로 변환하는 단계(614)를 또한 포함한다. 전술한 바와 같이, 불균일한 데이터 유형의 집성 데이터(412) 각각을 텍스트 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업으로 변환하는 단계(614)는 텍스트 및 마크업을 렌더링할 수 있는 브라우저가 합성 전에 집성 데이터에 포함된 동일한 콘텐트를 변환 데이터로부터 렌더링할 수 있도록 집성 데이터의 콘텐트를 텍스트 및 마크업으로 표시하는 단계를 포함한다. 일부의 경우, 브라우저가 텍스트 및 마크업을 렌더링할 수 있도록 불균일한 데이터 유형의 집성 데이터(412)를 텍스트 콘텐트 및 마크업으로 변환하는 단계(614)는 당업자라면 잘 알 수 있는 임의 방법으로 변환되는 콘텐트의 일부를 증가시키거나 삭제하는 단계를 포함할 수 있다.
도 10의 방법에서, 불균일한 데이터 유형의 집성 데이터(412) 각각을 텍스트 콘텐트 및 마크업을 포함한 변환 데이터(1204)로 변환하는 단계(1202)는 뒤에서 자세히 설명하는 바와 같이 텍스트, 마크업, 그래머 등을 포함하는 합성 데이터용의 X+V 문서를 생성하는 단계에 의해 수행될 수 있다. X+V의 사용은 설명을 위한 것이고 제한적인 것은 아니다. 사실, 당업자라면 잘 알 수 있는 바와 같이, 다른 마크업 언어가 불균일한 데이터 유형의 집성 데이터(412) 각각을 텍스트 콘텐트 및 이 텍스트 콘텐트와 관련된 마크업을 포함한 변환 데이터(1204)로 변환하는 단계(614)에서 유용할 수 있다.
불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성(414)하기 위한 도 10의 방법은 텍스트 콘텐트용의 그래머 세트(1216)를 동적으로 생성하는 단계(1206)를 포함할 수 있다. 전술한 바와 같이, 그래머는 말하여질 수 있는 한 세트의 단어, 이 단어들이 말하여질 수 있는 패턴, 또는 스피치 인식 엔진에 의해 인식되는 스피치를 정의하는 다른 언어 요소이다.
도 10의 방법에서, 텍스트 콘텐트용의 그래머 세트(1216)를 동적으로 생성하는 단계(1206)는 콘텐트 또는 논리 구조를 한정하는 변환 데이터(1204)의 키워드(1210)를 확인하는 단계(1208) 및 확인된 키워드를 변환 데이터와 관련된 그래머에 포함시키는 단계를 또한 포함한다. 콘텐트를 한정하는 키워드는 데이터의 콘텐트의 토픽 및 데이터의 콘텐트를 제시하는 정보를 정의하는 단어 및 구(phrase)이다. 논리 구조를 한정하는 키워드는 데이터의 콘텐트의 정보가 제시되는 형태를 제안하는 키워드이다. 논리 구조의 예로는 인쇄 구조, 계층 구조, 관계 구조, 및 당업자라면 잘 알 수 있는 기타의 논리 구조가 있다.
콘텐트를 한정하는 변환 데이터(1204)의 키워드(1210)를 확인하는 단계(1208)는 텍스트에서 가끔 어떤 미리 규정된 임계치 이상 발생하는 단어의 변환 텍스트를 탐색하는 단계에 의해 수행될 수 있다. 임계치를 초과하는 단어의 빈도는 미리 정해진 임계치가 단지 우연히 발생될 것으로 기대되지 않는 사용 빈도로서 설정되기 때문에 단어가 변환 텍스트의 콘텐트와 관계되는 것을 표시한다. 대안적으 로, 임계치는 고정 값이 아닌 함수로서 설정될 수도 있다. 이 경우, 변환 텍스트에서 단어 빈도의 임계치는 변환 텍스트의 단어 빈도를 훨씬 더 큰 자료(corpus)로부터 통계적으로 유도된 예상 빈도와 비교하는 통계적 테스트를 사용하여 동적으로 설정될 수 있다. 상기 더 큰 자료는 일반 언어 사용을 위한 기준으로서 작용한다.
논리 구조를 한정하는 변환 데이터(1204)에서 키워드(1210)를 확인하는 단계(1208)는 구조를 한정하는 미리 규정된 단어의 변환 데이터를 탐색함으로써 수행될 수 있다. 논리 구조를 한정하는 이러한 단어의 예로는 '머리말'(introduction), '목차', '장'(chapter), '연'(stanza), '색인'(index) 및 당업자라면 잘 알 수 있는 많은 기타의 것들이 있다.
도 10의 방법에서, 텍스트 콘텐트용의 그래머 세트(1216)를 동적으로 생성하는 단계(1206)는 확인된 키워드(1210) 및 그래머 생성 규칙(1212)에 의존해서 그래머를 생성하는 단계(1214)를 또한 포함한다. 그래머 생성 규칙은 그래머 생성을 위한 명령 및 그래머 형태의 미리 규정된 세트이다. 확인된 키워드(1210) 및 그래머 생성 규칙(1212)에 의존해서 그래머를 생성하는 단계(1214)는 자바서버 페이지, 액티브 서버 페이지, PHP, 펄(Perl), 변환 데이터로부터의 XML 등의 스크립팅 프레임워크를 이용하여 수행될 수 있다. 이러한 동적으로 생성된 그래머는 외적으로 저장되고, 외부 그래머를 참조하기 위해 사용되는 예컨대 X+V <grammar src=""/> 태그에서 참조될 수 있다.
불균일한 데이터 유형의 집성 데이터(412)를 균일한 데이터 유형의 데이터에 합성(414)하는 도 10의 방법은 그래머 세트(1216)를 텍스트 콘텐트와 연관시키는 단계(1220)를 포함한다. 그래머 세트(1216)를 텍스트 콘텐트와 연관시키는 단계(1220)는 생성된 그래머를 규정하는 마크업(1224)을 변환 데이터(1204)에 삽입하는 단계(1218)를 포함한다. 마크업을 변환 데이터(1204)에 삽입하는 단계(1218)는 동적으로 생성된 그래머를 규정하는 마크업을 생성하는 단계 및 생성된 마크업을 변환 문서에 삽입하는 단계에 의해 수행될 수 있다.
도 10의 방법은 액션(420)을 그래머와 연관시키는 단계(1222)를 또한 포함한다. 전술한 바와 같이, 액션은 실행시 미리 규정된 타스크를 수행하는 컴퓨터 명령 세트이다. 액션(420)을 그래머와 연관시키는 단계(1222)는 연관된 액션이 그래머의 하나 이상의 단어 또는 구의 인식에 응답하여 호출되도록 액션의 음성 개시를 제공한다.
합성 데이터에 의존한 액션 확인
전술한 바와 같이, 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링은 합성 데이터에 의존하여 액션을 확인하는 단계를 포함한다. 추가의 설명을 위하여, 도 11은 사용자 명령(620)을 수신하는 단계(616)와 합성 데이터(416) 및 사용자 명령에 의존해서 액션을 확인하는 단계를 포함하는, 합성 데이터(416)에 의존해서 액션을 확인하는 예시적인 방법을 나타내는 흐름도를 도시하고 있다. 도 11의 방법에서, 액션을 확인하는 단계는 액션 리스트로부터 액션 ID를 검색하는 단계에 의해 수행될 수 있다. 도 11의 방법에서, 액션 리스트로부터 액션 ID를 검색하는 단계는 사용자 명령 및 합성 데이터에 의존해서 실행될 액션의 식별(액션 ID)을 리스트로부터 검색하는 단계를 포함한다. 액션 리스트는 예를 들면 자바 리스트 콘테이너로 서, 랜덤 액세스 메모리의 테이블로서, 하드 드라이브 또는 CD ROM 상에 기억 장치를 가진 SQL 데이터베이스 테이블로서, 및 당업자라면 잘 알 수 있는 기타의 방법으로 구현될 수 있다. 전술한 바와 같이, 액션들 자체는 소프트웨어를 포함하고, 따라서 예를 들면 컴파일시에 데이터 관리 및 데이터 렌더링 모듈에 내포된 자바 패키지에서 구체화되는 구체적인 액션 부류로서 구현될 수 있고, 따라서 런타임 중에 항상 이용가능하다.
도 11의 방법에서, 사용자 명령(620)을 수신하는 단계(616)는 사용자로부터 스피치(1502)를 수신하는 단계(1504), 스피치(1502)를 텍스트(1508)로 변환하는 단계(1506), 텍스트(1508) 및 그래머(1510)에 의존해서 사용자 명령(620)을 결정하는 단계(1512) 및 텍스트(1508) 및 그래머(1510)에 의존해서 사용자 명령(620)에 대한 파라메터(1604)를 결정하는 단계(1602)를 포함한다. 도 4를 참조하여 전술한 바와 같이, 사용자 명령은 사용자의 행동에 응답하여 수신된 이벤트이다. 사용자 명령에 대한 파라메터는 명령을 추가로 한정하는 추가의 데이터이다. 예를 들어서 '이메일 삭제'(delete email)에 대한 사용자 명령은 2005년 8월 11일자 이메일이 사용자 명령에 의해 호출된 액션이 수행되어지는 합성 데이터임을 나타내는 파라메터 '2005년 8월 11일'(August 11, 2005)을 포함할 수 있다. 사용자로부터 스피치(1502)를 수신하는 단계(1504), 스피치(1502)를 텍스트(1508)로 변환하는 단계(1506), 텍스트(1508) 및 그래머(1510)에 의존해서 사용자 명령(620)을 결정하는 단계(1512) 및 텍스트(1508) 및 그래머(1510)에 의존해서 사용자 명령(620)에 대한 파라메터(1604)를 결정하는 단계(1602)는 본 발명에 따라서 데이터 관리 및 데이터 렌더링 모듈에 통합된 스피치 인식 엔진에 의해 수행될 수 있다.
도 11의 방법에 따라서 합성 데이터(416)에 의존하여 액션을 확인하는 단계는 사용자 명령(620)에 응답하여 합성 데이터(416)를 선택하는 단계(618)를 또한 포함한다. 사용자 명령(620)에 응답하여 합성 데이터(416)를 선택하는 단계(618)는 사용자 명령(620)에 의해 확인된 합성 데이터를 선택하는 단계에 의해 수행될 수 있다. 합성 데이터(416)를 선택하는 단계(618)는 사용자 명령(620)의 파라메터(1604)에 의존해서 합성 데이터(416)를 선택하는 단계에 의해 또한 수행될 수 있다.
사용자 명령(620)에 응답하여 합성 데이터(416)를 선택하는 단계(618)는 합성 데이터 콘텍스트 정보(1802)를 선택하는 단계에 의해 수행될 수 있다. 콘텍스트 정보는 예를 들면 현재 디스플레이되는 합성 데이터의 상태 정보, 일 중 시간(time of day), 주 중 날짜(day of week), 시스템 구성, 합성 데이터의 특성, 또는 당업자라면 잘 알 수 있는 기타의 콘텍스트 정보와 같은 사용자 명령이 수신되는 콘텍스트를 나타내는 데이터이다. 콘텍스트 정보는 스피치에서 확인된 사용자 명령에 대한 파라메터 대신에 또는 사용자 명령에 대한 파라메터와 함께 유용하게 사용될 수 있다. 예를 들어서, 이메일 문서로부터 변환된 합성 데이터가 현재 디스플레이되고 있음을 확인하는 콘텍스트 정보는 스피치 사용자 명령 '이메일 삭제'를 보충하여 어떤 합성 데이터가 이메일 삭제를 위해 액션을 수행하는지를 확인하기 위해 사용될 수 있다.
도 11의 방법에 따라 합성 데이터(416)에 의존해서 액션을 확인하는 단계는 사용자 명령(620) 및 선택된 데이터(622)에 의존해서 액션(420)을 선택하는 단계(624)를 또한 포함한다. 사용자 명령(620) 및 선택된 데이터(622)에 의존해서 액션(420)을 선택하는 단계(624)는 사용자 명령에 의해 확인된 액션을 선택하는 단계에 의해 수행될 수 있다. 액션(420)을 선택하는 단계(624)는 사용자 명령(620)의 파라메터(1604)에 의존해서 액션(420)을 선택하는 단계 및 콘텍스트 정보(1802)에 의존해서 액션(420)을 선택하는 단계에 의해 또한 수행될 수 있다. 도 11의 예에서, 액션(420)을 선택하는 단계(624)는 하나 이상의 사용자 명령, 파라메터 또는 콘텍스트 정보에 의존해서 액션 데이터베이스(1105)로부터 액션을 검색함으로써 수행된다.
확인된 액션의 실행은 데이터 관리 및 데이터 렌더링 모듈의 액션 에이전트 내 스위치 서술문(switch() statement)을 사용함으로써 수행될 수 있다. 이러한 스위치 서술문은 액션 ID에 의존해서 동작하고, 예를 들면 의사 코드(pseudocode)의 하기 세그멘트에 의해 표시되는 바와 같이 구현될 수 있다.
switch (actionID) {
Case 1: actionNumber1.take_action(); break;
Case 2: actionNumber2.take_action(); break;
Case 3: actionNumber3.take_action(); break;
Case 4: actionNumber4.take_action(); break;
Case 5: actionNumber5.take_action(); break;
// and so on
} // end switch()
예시적인 스위치 서술문은 액션 ID에 따른 실행을 위해 합성 데이터에서 수행될 액션을 선택한다. 이 예에서 스위치(switch())에 의해 관리되는 타스크는 actionNumber1, actionNumber2 등으로 명칭이 부여된 구체적인 액션 부류이고, 각 액션 부류는 각 액션 부류에 의해 구현되는 실제 작업(work)을 수행하는 'take_action()'이라고 명칭이 부여된 실행가능한 멤버 방법을 가진다.
액션의 실행은 이러한 실시예에서 데이터 관리 및 데이터 렌더링 모듈의 액션 에이전트 내 해시 테이블(hash table)의 사용에 의해 또한 수행될 수 있다. 이러한 해시 테이블은 이하의 의사 코드 예에서 나타낸 것처럼 액션 ID에 의해 키되는(keyed) 액션 오브젝트에 대한 기준들을 저장할 수 있다. 이 예는 사용자 명령과 관련된 구체적인 액션 부류의 오브젝트에 대한 기준인 액션의 해시 테이블을 생성하는 액션 서비스에서부터 시작한다. 많은 실시예에서, 이것은 상기와 같은 해시 테이블을 생성하고, 특수한 사용자 명령에 관계되는 액션 오브젝트에 대한 기준들로 해시 테이블을 채우고, 해시 테이블에 대한 기준을 호출 액션 에이전트에 복귀시키는 액션 서비스이다.
Hashtable ActionHashTable=new Hashtable();
ActionHashTable.put("1", new Action1());
ActionHashTable.put("2", new Action2());
ActionHashTable.put("3", new Action3());
이 때, 특수한 액션의 실행은 하기의 의사 코드에 따라 수행될 수 있다.
Action anAction=(Action) ActionHashTable.get("2");
if(anAction !=null) anAction.take_action();
액션의 실행은 리스트를 사용함으로써 또한 수행될 수 있다. 리스트는 가끔 해시 테이블과 유사하게 기능한다. 특수 액션의 실행은, 예를 들면, 하기의 의사 코드에 따라 수행될 수 있다.
List ActionList=new List();
ActionList.add(1, new Action1());
ActionList.add(2, new Action2());
ActionList.add(3, new Action3());
이 때, 특수 액션의 실행은 하기의 의사 코드에 따라 수행될 수 있다.
Action anAction=(Action) ActionList.get(2);
if(anAction !=null) anAction.take_action();
상기 3개의 예는 본 발명의 실시예에 따른 액션 실행을 설명하기 위해 스위치 서술문, 해시 테이블 및 리스트 오브젝트를 사용하고 있다. 이들 예에서 스위치 서술문, 해시 테이블 및 리스트 오브젝트의 사용은 설명을 위한 것이고 제한적인 것이 아니다. 사실, 당업자라면 잘 알 수 있는 바와 같이 본 발명의 실시예에 따라 액션을 실행하는 많은 방법이 있고, 이러한 방법들은 모두 본 발명의 범위에 포함된다.
합성 데이터에 의존해서 액션을 확인하는 추가의 설명을 위해, 액션을 확인하는 사용자 명령, 액션에 대한 파라메터 및 액션을 수행할 합성 데이터에 관한 하 기의 예를 생각하자. 사용자는 현재 이메일로부터 변환된 합성 데이터를 보고 있고 "2005년 8월 15일자 이메일 삭제"라는 스피치 명령을 발행한다. 이 예에서, 합성 데이터에 의존한 액션의 확인은 사용자 명령에 의존해서 삭제할 액션 및 합성 데이터를 선택하는 단계, 단지 하나의 이메일만 삭제되어야 함을 확인하는 삭제 이메일 액션에 대한 파라메터를 확인하는 단계, 및 사용자 명령에 응답하여 2005년 8월 15일자 이메일로부터 변환된 합성 데이터를 선택하는 단계에 의해 수행된다.
합성 데이터에 의존해서 액션을 확인하는 추가의 설명을 위해, 액션을 수행할 합성 데이터를 특별히 확인하지 않는 사용자 명령에 관한 하기의 예를 생각하자. 사용자는 현재 일련의 이메일로부터 변환된 합성 데이터를 보고 있고 "현재 이메일 삭제"라는 스피치 명령을 발행한다. 이 예에서, 합성 데이터에 의존한 액션의 확인은 사용자 명령에 의존해서 합성 데이터를 삭제할 액션을 선택하는 단계에 의해 수행된다. 그러나, 이 예에서 액션을 수행할 합성 데이터의 선택은 콘텍스트 정보를 사용하는 하기의 데이터 선택 규칙에 의존해서 수행된다.
If synthesized data = displayed;
Then synthesized data = 'current'.
If systhesized includes = email type code;
Then synthesized data = email.
상기 예시적인 데이터 선택 규칙은 만일 합성 데이터가 디스플레이되면 디스플레이된 합성 데이터는 '현재'이고, 만일 합성 데이터가 이메일 유형 코드를 포함하면 합성 데이터는 이메일이라는 것을 확인한다. 콘텍스트 정보는 이메일로부터 변환되고 이메일 유형 코드를 가진 현재 디스플레이된 합성 데이터를 확인하기 위해 사용된다. 그러므로, 데이터 선택 규칙을 예시적인 사용자 명령인 '현재 이메일 삭제"에 적용하면 이메일 유형 코드를 가진 현재 디스플레이된 합성 데이터를 삭제시킨다.
합성 데이터의 채널화
전술한 바와 같이, 불균일한 데이터 유형에 대한 데이터 관리 및 데이터 렌더링은 가끔 합성 데이터의 채널화를 포함한다. 합성 데이터(416)의 채널화는 바람직하게 합성 데이터의 논리 채널로의 분리를 가져온다. 채널은 유사한 특성들을 가진 공통 속성들을 공유하는 합성 데이터의 논리적 누적으로서 구현된다. 이러한 채널들의 예로는 오락과 관계된 합성 데이터의 '오락 채널', 작업과 관계된 합성 데이터의 '작업 채널', 사용자 가족과 관계된 합성 데이터의 '가족 채널' 등이 있다.
그러므로, 추가의 설명을 위해 도 12는 합성 데이터의 속성(804)들을 확인하는 단계(802)를 포함하는, 본 발명의 실시예에 따른 합성 데이터(416)의 채널화(422)를 위한 예시적 방법을 나타내는 흐름도를 도시하고 있다. 합성 데이터의 속성(804)은 합성 데이터(416)를 특징지우기 위해 사용될 수 있는 데이터의 태양(aspect)이다. 예시적 속성(804)은 데이터의 유형, 데이터에서 제시하는 메타데이터, 데이터의 논리 구조, 데이터의 콘텐트에서 특수 키워드의 존재, 데이터의 소스, 데이터를 생성한 애플리케이션, 소스의 URL, 저자, 주제, 생성 일자 등을 포함한다. 합성 데이터의 속성(804)을 확인하는 단계(802)는 합성 데이터의 콘텐트(804)를 미리 규정된 속성들의 리스트와 비교하는 단계에 의해 수행될 수 있다. 합 성 데이터의 속성(804)을 확인(802)하는 다른 하나의 방법은 합성 데이터(804)와 관련된 메타데이터를 미리 규정된 속성들의 리스트와 비교함으로써 수행될 수 있다.
합성 데이터(416)를 채널화(422)하기 위한 도 12의 방법은 합성 데이터의 속성(804)을 특징화하는 단계(808)를 포함한다. 합성 데이터의 속성(804)을 특징화하는 단계(808)는 합성 데이터의 확인된 속성을 평가하는 단계에 의해 수행될 수 있다. 합성 데이터의 확인된 속성을 평가하는 단계는 특징화 규칙(806)을 확인된 속성에 적용하는 단계를 포함할 수 있다. 추가의 설명을 위하여 하기의 특징화 규칙을 생각하자:
If synthesized data = email; AND
If email to = "Joe"; AND
If email from = "Bob";
Then email = 'work email.'
상기 예에서, 특징화 규칙은 만일 합성 데이터가 이메일이고 이메일이 '죠'에게 전송되었으며 이메일이 '밥'으로부터 전송되었으면, 예시적인 이메일은 '작업 이메일'로서 특징화된다는 것을 나타낸다.
합성 데이터의 속성(804)을 특징화하는 단계(808)는 각각의 확인된 속성에 대하여 확인된 속성의 특징화를 나타내는 특성 태그를 생성하는 단계에 의해 추가로 수행될 수 있다. 추가의 설명을 위해 특성 태그가 내부에 삽입된 이메일로부터 변환된 합성 데이터의 하기 예를 생각하자.
<head>
original message type = 'email' to = 'joe' from = 'bob' re ='I will be
late tomorrow'</head>
<characteristic>
characteristic = 'work'
<characteristic>
<body>
Some body content
</body>
상기 예에서, 합성 데이터는 '나 내일 늦을거야'(I will be late tommorrow)라는 텍스트를 포함한 주제 라인을 가진 '밥'으로부터 '죠'에게 보내진 이메일로부터 변환된다. 상기 예에서, <characteristic> 태그는 이메일을 관련된 작업으로서 특징지우는 값 '작업'을 가진 특성 필드를 확인한다. 특성 태그는 데이터를 채널화하는데 유용한 데이터의 특성들을 확인함으로써 합성 데이터의 채널화를 돕는다.
합성 데이터(416)를 채널화(422)하기 위한 도 12의 방법은 데이터를 특징화 속성(810) 및 채널 할당 규칙(812)에 의존해서 미리 정해진 채널(816)에 할당하는 단계(814)를 또한 포함한다. 채널 할당 규칙(812)은 합성 데이터(416)를 특징화 속성(810)에 의존해서 채널에 할당하기 위한 미리 정해진 명령이다. 추가의 설명을 위하여 하기의 채널 할당 규칙을 생각하자:
If synthesized data = 'email'; and
If Characterization = 'work related email'
Then channel = 'work channel.'
상기 예에서, 만일 합성 데이터가 이메일로부터 변환되고 만일 이메일이 '작업 관련 이메일'(work related email)로서 특징지어졌으면, 합성 데이터는 '작업 채널'에 할당된다.
미리 정해진 채널(816)에 데이터를 할당하는 단계(814)는 사용자 선호도 및 당업자라면 잘 알 수 있는 기타의 인자에 의존해서 또한 수행될 수 있다. 사용자 선호도는 가끔 비즈니스 로직으로부터 분리된 데이터 구조에 유지되는 구성에 대한 사용자 선정의 집합이다. 사용자 선호도는 본 발명에 따른 합성 데이터 채널화를 위한 추가적인 입상(granularity)을 제공한다.
일부 채널 할당 규칙(812) 하에서, 합성 데이터(416)는 하나 이상의 채널(816)에 할당될 수 있다. 즉, 사실은 동일한 합성 데이터가 하나 이상의 채널에 적용될 수 있다. 그러므로, 데이터를 미리 정해진 채널(816)에 할당하는 단계(814)는 합성 데이터의 단일 부분에 대하여 1회 이상 수행될 수 있다.
합성 데이터(416)를 채널화(422)하는 도 12의 방법은 합성 데이터(416)를 하나 이상의 채널(816)을 통해 사용자에게 제시하는 단계(426)를 또한 포함할 수 있다. 합성 데이터(416)를 하나 이상의 채널(816)을 통해 사용자에게 제시(426)하는 하나의 방법은 사용자 액세스를 허용하는 사용자 인터페이스 내 가용 채널의 요약 또는 표제를 그 채널의 콘텐트에 제시하는 단계에 의해 수행될 수 있다. 이 채널들은 합성 데이터(416)에 액세스하기 위해 상기 제시(presentation)를 통해 액세스될 수 있다. 합성 데이터는 채널에 포함된 합성 데이터(416)를 디스플레이 또는 플레이함으로써 선택된 채널을 통해 사용자에게 추가적으로 된다.
합성 데이터 음성 렌더링용 동적 운율 조정
전술한 바와 같이, 액션은 가끔 합성 데이터에 의존해서 확인되고 실행된다. 불균일한 데이터 유형의 데이터 관리 및 데이터 렌더링에 유용한 이러한 액션 중의 하나는 합성 데이터를 사용자에게 제시하는 단계를 포함한다. 합성 데이터를 사용자에게 제시하는 단계는 합성 데이터의 음성 렌더링에 의해 수행될 수 있고, 이것은 바람직하게 합성 데이터에 대한 개선된 사용자 액세스를 가져온다. 합성 데이터의 음성 렌더링은 데이터에 액세스하는 시각적 방법이 불편한 환경에서 가끔 합성 데이터에 대한 액세스에 있어서 개선된 유연성을 사용자에게 제공할 수 있다. 데이터에 대해 액세스하는 시각적 방법이 불편한 환경의 예는 혼잡한 장소 또는 기차나 자동차와 같이 불편한 장소에서 작업하는 것 또는 걷기나 운전 중과 같이 시각적으로 집중하는 행동과 관계되는 것, 및 당업자라면 잘 알 수 있는 기타의 환경을 포함한다.
그러므로, 추가의 설명을 위해, 도 13은 음성 렌더링할 합성 데이터를 검색하는 단계를 포함하는, 합성 데이터를 음성 렌더링하기 위한 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 13의 방법에 따라 음성 렌더링할 합성 데이터를 검색하는 단계(304)는 예를 들면 도 3을 참조하여 위에서 설명한 바와 같이, 합성 데이터 저장소로부터 합성 데이터를 검색하는 것과 같이, 로컬 메모리로부터 합성 데이터를 검색하는 단계에 의해 수행될 수 있다. 합성 데이터 저장소는 합성 데이터 용 데이터 기억 장치이다.
음성 렌더링할 합성 데이터(302)는 합성 데이터에 합성된 불균일한 데이터 소스로부터의 집성 데이터이다. 합성 데이터의 균일한 형식은 전형적으로 예를 들면 XHTML 플러스 음성('X+V') 형식과 같이 음성 렌더링이 가능하도록 설계된 형식이다. 전술한 바와 같이, X+V는 제시층(presentation layer) 내의 음성을 음성 마크업으로 인에이블함으로써 멀티모달 애플리케이션을 개발하기 위한 웹 마크업 언어이다. X+V는 3개의 주요 표준, 즉 XHTML, 음성 XML(VoiceXML) 및 XML 이벤트(XML Event)로 구성된다.
합성 데이터를 음성 렌더링하기 위한 도 13의 예시적인 방법은 음성 렌더링할 합성 데이터(302)에 대하여 특수한 운율 세팅을 확인하는 단계(308)를 또한 포함한다. 운율 세팅은 음절 강세의 변화, 억양, 말하는 언어의 타이밍, 단어간 피치의 변화, 스피치 속도, 스피치 크기(loudness), 휴지(pause) 기간, 및 당업자라면 잘 알 수 있는 기타의 독특한 스피치 특성들과 같은, 음성 엔진에 의해 구현되는 독특한 스피치 특성들을 통제하는 하나 이상의 개별 세팅의 집합이다. 운율 세팅은 렌더링할 합성 데이터의 텍스트 및 마크업으로서, 구성 파일의 세팅으로서, 또는 당업자라면 잘 알 수 있는 임의의 기타 방법으로 구현될 수 있다. 텍스트 및 마크업으로서 구현되는 운율 세팅은 예를 들면 월드 와이드 웹 컨소시엄에서 발표된 스피치 합성 마크업 언어('SSML'), 자바 스피치 API 마크업 언어 명세서('JSML'), 및 당업자라면 잘 알 수 있는 기타 표준과 같이, 이러한 언어에 대해 발표된 표준에 따라 스피치 합성 마크업 언어로 전형적으로 구현된다. 전형적으로 운율 세팅은 개 별 스피치 속성들로 구성되지만, 운율 세팅은 음성이라고 알려진 개별 스피치 속성의 이름이 붙여진 집합(named collection)으로서 또한 선택될 수 있다. 스피치 합성 마크업 언어를 지원하는 스피치 합성 엔진은 가끔 성별 및 나이에 기초하여 음성 유형을 모사하는 포괄적 음성(generic voice)을 제공한다. 이러한 스피치 합성 엔진은 또한 전형적으로 주문 음성(customized voice)의 생성을 지원한다. 스피치 합성 엔진은 전술한 바와 같이 운율 세팅에 따라 텍스트를 음성 렌더링한다. 이러한 스피치 합성 엔진의 예로는 IBM의 비아보이스 텍스트 투 스피치(ViaVoice Text-to-Speech), 아카펠라 멀티미디어(Acapela Multimedia) TTS, AT&T 네이쳐럴 보이스™ 텍스트 투 스피치 엔진, 및 당업자라면 잘 알 수 있는 기타의 스피치 합성 엔진이 있다.
특정 운율 세팅을 확인하는 단계(308)는 여러 가지 방법으로 수행될 수 있다. 특정 운율 세팅을 확인하는 단계(308)는 예를 들면 음성 렌더링될 합성 데이터(302)로부터 운율 식별을 검색하는 단계; 사용자 명령에 의존해서 특정 운율을 확인하는 단계; 사용자 운율 이력에 의존해서 특정 운율 세팅을 선택하는 단계; 및 사용자의 현재 음성 특성을 결정하고 이 사용자의 현재 음성 특성에 의존해서 특정 운율 세팅을 선택하는 단계에 의해 수행될 수 있다. 음성 렌더링될 합성 데이터(302)에 대하여 특정 운율 세팅을 확인(308)하기 위한 전술한 각 방법은 도 14a 내지 도 14d를 참조하여 뒤에서 자세히 설명된다.
합성 데이터를 음성 렌더링하기 위한 도 13의 방법은 음성 렌더링될 합성 데이터(302) 및 콘텍스트 정보(306)에 의존해서 렌더링될 합성 데이터의 구획(314)을 판정하는 단계(312)를 또한 포함한다. 합성 데이터의 구획은 합성 데이터의 임의의 일부, 즉 서브 엘리멘트이고, 예를 들면 합성 데이터 내의 개별적인 합성 이메일; 합성 데이터에서 RSS 피드의 최초 2개 라인; 합성 데이터의 RSS 피드로부터의 개별 아이템; 키워드를 포함하는 RSS 피드로부터 개별 아이템의 2개의 문장(sentence); 칼렌더 설명의 최초 50 단어; 합성 데이터의 각 합성 이메일의 "수신인:"(To:), "발신인:"(From:), "주제:"(Subject:), "본문"(Body) 구획의 최초 50 문자; (도 12를 참조하여 위에서 설명한 바와 같이) 채널 내의 모든 데이터; 및 당업자라면 잘 알 수 있는 합성 데이터의 임의의 다른 구획을 비롯한 합성 데이터 전부를 포함한다.
콘텍스트 정보(306)는 예를 들면 현재 디스플레이되는 합성 데이터의 상태 정보, 일 중 시간, 주 중 날짜, 시스템 구성, 합성 데이터의 특성, 또는 당업자라면 잘 알 수 있는 기타 콘텍스트 정보(306)와 같은, 합성 데이터가 음성 렌더링되는 콘텍스트를 설명하는 데이터이다. 콘텍스트 정보(306)는 가끔 렌더링될 합성 데이터(314)의 구획을 결정하기 위해 사용된다. 예를 들어서, 랩톱의 콘텍스트를 설명하는 콘텍스트 정보는 랩톱의 커버가 현재 닫혀있음을 확인한다. 이 콘텍스트 정보는 현재 콘텍스트에 적합한 음성 렌더링될 합성 데이터의 구획을 결정하기 위해 사용될 수 있다. 이러한 구획은 예를 들면, 합성 데이터에서 각 합성 이메일의 "발신인:" 라인 및 콘텐트만을 포함할 수 있고, 이는 전체 합성 이메일이 "수신인:" 라인, "발신인:" 라인, "주제:" 라인, "수신일자:" 라인, "특성" 라인 및 랩톱의 커버가 열려있는 경우의 콘텐트를 포함하는 것과 대조적이다.
음성 렌더링될 합성 데이터(302) 및 콘텍스트 정보(306)에 의존해서 음성 렌더링될 합성 데이터의 구획(314)을 결정하는 단계(312)는 예를 들면, 도 15를 참조하여 뒤에서 자세히 설명하는 바와 같이, 합성 데이터가 음성 렌더링되는 콘텍스트 정보(306)를 결정하는 단계; 콘텍스트 정보(306)에 의존해서 구획 길이를 확인하는 단계; 및 확인된 구획 길이에 의존해서 렌더링될 합성 데이터의 구획을 선택하는 단계를 포함할 수 있다.
합성 데이터를 음성 렌더링하기 위한 도 13의 방법은 확인된 특정 운율 세팅(310)에 의존해서 합성 데이터의 구획(314)을 렌더링하는 단계(316)를 또한 포함한다. 확인된 특정 운율 세팅(310)에 의존해서 합성 데이터의 구획(314)을 렌더링하는 단계(316)는 특수한 확인 운율 세팅에 따라 합성 데이터의 구획의 콘텐트를 스피치로서 플레이하는 단계에 의해 수행될 수 있다. 이러한 구획은 렌더링될 구획 및 구획이 렌더링되는 콘텍스트용으로 제작되는 방식으로 특수 사용자에게 제시될 수 있다.
전술한 바와 같이, 합성 데이터의 음성 렌더링은 가끔 음성 렌더링될 합성 데이터(302)에 대하여 특정 운율 세팅을 확인하는 단계(308)를 포함한다. 운율 세팅은 음절 강세의 변화, 억양, 말하는 언어의 타이밍, 단어간 피치의 변화, 스피치 속도, 스피치의 크기, 휴지 기간, 및 당업자라면 잘 알 수 있는 기타의 독특한 스피치 특성 등 음성 엔진에 의해 구현되는 독특한 스피치 특성을 통제하는 하나 이상의 개별 세팅의 집합이다.
그러므로, 추가의 설명을 위해, 도 14a 내지 도 14d는 음성 렌더링될 합성 데이터(302)에 대하여, 특정 운율 세팅을 확인(308)하는 4개의 다른 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 14a의 방법에서, 음성 렌더링될 합성 데이터(302)에 대하여, 특정 운율 세팅을 확인하는 단계(308)는 음성 렌더링될 합성 데이터(302)로부터 운율 식별(318)을 검색하는 단계(324)를 포함한다. 이러한 운율 식별(318)은 합성 데이터를 렌더링하는데 사용되는 개별 스피치 속성의 지정, 합성 데이터의 음성 렌더링에서 에뮬레이트될 음성의 지정, 음성 및 개별 스피치 속성의 임의 조합의 지정, 또는 당업자라면 잘 알 수 있는 임의의 다른 운율 식별(318)을 포함할 수 있다. 개별 스피치 속성의 예로는 속도, 볼륨, 피치, 범위 및 당업자라면 잘 알 수 있는 다른 개별 스피치 속성이 있다.
합성 데이터는 가끔 개별 스피치 속성을 포함하는 운율 식별을 지정하기 위한 텍스트 및 마크업을 포함할 수 있다. 예를 들면, X+V 형식을 부분적으로 포함하는 VXML 버젼인 음성 XML 2.0 형식은 운율 요소하에서 개별 스피치 속성의 지정을 지원한다. 운율 요소는 마크업 태그 <prosody> 및 </prosody>에 의해 표시되고, 윤곽, 기간, 피치, 범위, 속도 및 볼륨과 같은 개별 스피치 속성은 속성명 및 <prosody> 태그의 대응 값을 포함함으로써 지정될 수 있다. 운율 식별(318)에 포함되지만 <prosody> 태그에 의해 표시되지 않은 다른 개별화 스피치 속성은 예를 들면 <emphasis> 및 </emphasis> 마크업 태그에 의해 표시되고 텍스트가 강조(emphasis)에 의해 렌더링되어야 함을 표시하는 강조 속성과 같은 음성 XML 2.0 형식에서 또한 지원된다.
추가의 설명을 위하여 특정 운율에 따라 합성 데이터의 음성 렌더링을 가능 하게 하기 위해 텍스트 및 마크업을 포함하는 음성 인에이블 합성 데이터의 하기 의사 코드 예를 생각하자.
<head>
<title>Top Stories</title>
<block>
<prosody rate="slow" volume="loud">
Top Stories.
</prosody>
</block>
</head>
<body>
<h1>World is Round</h1>
<p>Scientists discovered today that the Earth is round, not flat.</p>
<block>
<prosody rate="medium">
Scientists discovered today that the Earth is round, not flat.
</prosody>
</block>
</body>
상기 예시적인 음성 인에이블 합성 데이터에서, 텍스트 "Top Stories"는 <title>과 </title> 마크업 태그 사이에 포함됨으로써 타이틀로서 표시된다. 또한, 동일한 텍스트가 <block>과 </block> 마크업 태그 사이에 포함됨으로써 음성 인에이블된다. 음성 인에이블된 브라우저로 렌더링될 때, 텍스트 'Top Stories'는 시뮬레이트된 스피치로 음성 렌더링될 것이다. 개별 스피치 속성은 운율 요소의 사용에 의해 음성 렌더링될 텍스트에 대해 지정된다. 영향을 받을 텍스트 'Top Stories'는 마크업 태그 <prosody rate="slow" volume="loud">와 </prosody> 사이에 위치된다. 저속(slow rate)과 고음량(loud volume)의 개별 스피치 속성은 마크업 태그 <prosody rate="slow" volume="loud">에 'rate="slow"' 및 'volume="loud"' 구를 포함시킴으로써 지정된다. 개별 스피치 속성 'rate="slow"' 및 'volume="loud"'의 지정은 텍스트 'Top Stories'가 저속의 스피치 및 고음량에서 렌더링되게 할 것이다.
상기 예의 다음 구획에서, 텍스트 'World is Round'는 <h1>과 </h1> 마크업 태그 사이에 포함됨으로써 표제로서 표시된다. 이 텍스트는 음성 인에이블되지 않는다.
상기 예의 다음 구획에서, 텍스트 'Scientists discovered today that the Earth is round, not flat.'은 <p>와 </p> 사이에 포함됨으로써 절(paragraph)로서 표시된다. 동일한 텍스트가 또한 <block>과 </block> 마크업 태그 사이에 포함됨으로써 음성 인에이블된다. 음성 인에이블된 브라우저로 렌더링될 때, 텍스트 'Scientists discovered today that the Earth is round, not flat.'은 시뮬레이트 된 스피치로 음성 렌더링될 것이다. 개별 스피치 속성은 운율 요소의 사용에 의해 음성 렌더링될 텍스트에 대해 지정된다. 영향을 받을 텍스트 'Scientists discovered today that the Earth is round, not flat.'는 마크업 태그 <prosody rate="medium">과 </prosody> 사이에 위치된다. 중간 속도(medium rate)의 개별 스피치 속성은 마크업 태그 <prosody rate="medium">에 'rate="medium"' 구를 포함시킴으로써 지정된다. 개별 스피치 속성 'rate="medium"'의 지정은 텍스트 'Scientists discovered today that the Earth is round, not flat.'이 중간 속도의 스피치에서 렌더링되게 할 것이다.
전술한 바와 같이, 운율 식별(318)은 합성 데이터의 음성 렌더링에서 에뮬레이트되는 음성의 지정을 또한 포함할 수 있다. 음성의 지정은 지정된 음성을 시뮬레이트하기 위해 '음성'으로서 함께 패키지된 개별 스피치 속성의 집합의 지정이다. 음성의 지정은 합성 데이터의 음성 렌더링에서 에뮬레이트할 성별 또는 나이의 지정, 성별 또는 나이 지정의 변체(variant)의 지정, 성별 및 나이의 조합의 변체 지정, 및 개별 속성의 미리 규정된 그룹명에 의한 지정을 포함할 수 있다.
합성 데이터는 합성 데이터의 음성 렌더링에서 에뮬레이트될 음성을 지정하기 위한 텍스트 및 마크업을 포함할 수 있다. 예를 들어서, 자바 스피치 API 마크업 언어('JSML')는 그 음성 요소 하에서 합성 데이터의 음성 렌더링에서 에뮬레이트할 음성의 지정을 지원한다. JSML은 말하여질 마크업 텍스트에 대한 특정 요소 세트를 규정하고, 문서의 음성 렌더링이 가능하도록 상기 요소들의 해석을 규정하는 XML 기반 애플리케이션이다. JSML 요소 세트는 태그 <voice> 및 </voice>에 의 해 표시되는 음성 요소를 포함한다. 합성 데이터의 음성 렌더링에서 에뮬레이트할 음성의 지정은 '성별' 및 '나이'와 같은 음성 속성 뿐만 아니라 '변체' 및 '성명'과 같은 음성 지명(naming) 속성, 및 대응하는 값을 <voice> 태그에 포함시킴으로써 수행된다.
추가의 설명을 위해, 합성 데이터의 음성 렌더링을 가능하게 하는 텍스트 및 마크업을 포함하는 음성 인에이블 합성 데이터의 하기 의사 코드 예를 생각하자.
<item>
<title>Top Stories</title>
<block>
<voice gender="male" age="older_adult" name="Roy">
Top Stories.
</voice>
</block>
</item>
<item>
<title>Sports</title>
<block>
<voice gender="male" volume="middle-age_adult">
Sports.
</voice>
</block>
</item>
<item>
<title>Entertainment</title>
<block>
<voice gender="female" age="30"> Entertainment.
</voice>
</block>
</item>
상기 예시적인 음성 인에이블 합성 데이터에서, 마크업 태그 <item> 및 </item>을 사용함으로써 RSS 형태 피드(form feed)로부터 3개의 아이템이 표시된다. 첫번째 아이템에서, 텍스트 "Top Stories"는 <title>과 </title> 마크업 태그 사이에 포함됨으로써 타이틀로서 표시된다. 또한, 동일한 텍스트가 <block>과 </block> 마크업 태그 사이에 포함됨으로써 음성 인에이블된다. 음성 인에이블된 브라우저로 렌더링될 때, 텍스트 'Top Stories'는 시뮬레이트된 스피치로 음성 렌더링된다. 음성은 음성 요소의 사용에 의해 음성 렌더링될 텍스트에 대해 지정된다. 영향을 받을 텍스트 'Top Stories'는 마크업 태그 <voice gender="male" age="older_adult" name="Roy">와 </voice> 사이에 위치된다. 늙은 성인 남성의 음 성은 마크업 태그 <voice gender="male" age="older_adult" name="Roy">에 포함된 'gender="male"' 및 'age="older_adult"' 구를 삽입함으로써 지정된다. 늙은 성인 남성의 음성의 지정은 텍스트 'Top Stories'가 늙은 성인 남성의 미리 규정된 개별 스피치 속성을 이용하여 렌더링되게 할 것이다. 마크업 태그 <voice gender="male" age="older_adult" name="Roy">에 포함된 구 'name="Roy"'는 추후 사용을 위한 음성 세팅을 지명한다.
다음 아이템에서, 텍스트 "Sports"는 <title>과 </title> 마크업 태그 사이에 포함됨으로써 타이틀로서 표시된다. 또한, 동일한 텍스트가 <block>과 </block> 마크업 태그 사이에 포함됨으로써 음성 인에이블된다. 음성 인에이블된 브라우저로 렌더링될 때, 텍스트 'Sports'는 시뮬레이트된 스피치로 음성 렌더링될 것이다. 음성은 음성 요소의 사용에 의해 음성 렌더링될 텍스트에 대해 지정된다. 영향을 받을 텍스트 'Sports'는 마크업 태그 <voice gender="male" age="middle-age_adult">와 </voice> 사이에 위치된다. 중년 성인 남성의 음성은 마크업 태그 <voice gender="male" age="middle-age_adult">에 포함된 'gender="male"' 및 'age="middle-age_adult"' 구를 삽입함으로써 지정된다. 중년 성인 남성의 음성의 지정은 텍스트 'Sports'가 중년 성인 남성의 미리 규정된 개별 스피치 속성을 이용하여 렌더링되게 할 것이다.
상기 예의 마지막 아이템에서, 텍스트 "Entertainment"는 <title>과 </title> 마크업 태그 사이에 포함됨으로써 타이틀로서 표시된다. 또한, 동일한 텍스트가 <block>과 </block> 마크업 태그 사이에 포함됨으로써 음성 인에이블된다. 음성 인에이블된 브라우저로 렌더링될 때, 텍스트 'Entertainment'는 시뮬레이트된 스피치로 음성 렌더링될 것이다. 음성은 음성 요소의 사용에 의해 음성 렌더링될 텍스트에 대해 지정된다. 영향을 받을 텍스트 'Entertainment'는 마크업 태그 <voice gender="female" age="30">과 </voice> 사이에 위치된다. 30세 여성의 음성은 마크업 태그 <voice gender="female" age="30">에 포함된 'gender="female"' 및 'age="30"' 구를 삽입함으로써 지정된다. 30세 여성의 음성의 지정은 텍스트 'Entertainment'가 30세 여성의 미리 규정된 개별 스피치 속성을 이용하여 렌더링되게 할 것이다.
이제, 도 14b를 참조하면, 도 14b는 합성 데이터를 음성 렌더링하기 위해 특정 운율 세팅을 확인(308)하는 다른 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 14b의 방법에서, 특정 운율 세팅의 확인(308) 방법은 사용자 명령(340)에 의존해서 특정 운율을 확인하는 단계(342)를 포함한다. 사용자 명령은 사용자의 행동에 응답하여 수신된 이벤트이다. 예시적인 사용자 명령은 키보드 또는 키패드를 이용한 키스트로크 조합의 사용자 입력의 결과로서 이벤트를 수신하는 단계, 사용자로부터의 스피치의 결과로서 이벤트를 수신하는 단계, 마우스를 이용한 시각적 디스플레이 상의 아이콘의 클릭의 결과로서 이벤트를 수신하는 단계, 터치패드 상의 아이콘의 사용자 누름의 결과로서 이벤트를 수신하는 단계, 또는 당업자라면 잘 알 수 있는 기타의 사용자 명령을 포함한다.
사용자 명령(340)에 의존해서 특정 운율을 확인하는 단계(342)는 사용자 명령을 수신하는 단계, 사용자 명령(340)으로부터 특정 운율 세팅을 확인하는 단계, 및 합성 데이터가 렌더링될 때 특정 운율 세팅을 실시하는 단계에 의해 수행될 수 있다. 예를 들어서, 합성 데이터의 음성 렌더링 중에 사용자가 크게 말할 때의 구 'read fast'는 사용자 명령을 해석하기 위해 수신되어 그래머와 비교될 수 있다. 정합 그래머는 호출되었을 때 음성 엔진이 합성 데이터를 고속으로 렌더링하도록 명령하는 특정 운율 세팅 'fast'를 음성 엔진에 확립하는 관련 액션을 가질 수 있다.
이제, 도 14c를 참조하면, 도 14c는 합성 데이터를 음성 렌더링하기 위해 특정 운율 세팅을 확인(308)하는 다른 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 14c의 방법에서, 특정 운율 세팅의 확인(308) 방법은 사용자 운율 이력(332)에 의존해서 특정 운율 세팅(336)을 확인하는 단계(338)를 또한 포함한다. 사용자 운율 이력(332)은 전형적으로 사용자에 대하여 합성 데이터 음성 렌더링에 사용된 다른 운율 세팅을 나타내는 엔트리 및 다른 운율 세팅이 사용된 콘텍스트를 포함하는 데이터 구조로서 구현된다. 다른 운율 세팅이 사용된 콘텍스트는 예를 들면 일 중 시간, 주 중 날짜, 년 중 날짜, 음성 렌더링되는 합성 데이터의 원시 데이터 유형 등과 같은 합성 데이터를 음성 렌더링하기 위한 다른 운율 세팅의 사용을 포괄하는 환경을 포함한다.
사용자 운율 이력은 합성 데이터의 선택을 위한 운율 세팅의 사전 지정이 없을 때 운율 세팅을 선택하는데 유용하다. 따라서, 사용자 운율 이력(332)에 의존해서 특정 운율 세팅(336)을 선택하는 단계(338)는 사용자 운율 이력(332)에서 가장 많이 사용된 운율 세팅을 확인하는 단계 및 합성 데이터에 대하여 다른 운율 세팅 이 선택되지 않았을 때 가장 많이 사용된 운율 세팅을 합성 데이터의 음성 렌더링의 디폴트 운율 세팅으로서 적용하는 단계에 의해 수행될 수 있다.
추가의 설명을 위하여, 운율 세팅이 없는 경우 합성 데이터의 음성 렌더링에 사용하기 위한 특정 운율 세팅을 확인하는 하기 예를 생각하자:
IF ProsodySetting = none;
AND MostUsedProsodySettingInProsodyHistory = rate medium;
THEN Render(Synthesized Data) = rate medium.
상기 예에서, 합성 데이터를 렌더링하기 위해 존재하는 운율 세팅은 없다. 운율 세팅을 기록하는 사용자 운율 이력은 가장 많이 사용된 운율 세팅이 중간 속도 스피치의 현재 운율 세팅임을 나타낸다. 합성 데이터의 음성 렌더링용의 운율 세팅이 존재하지 않기 때문에, 사용자 운율 이력으로부터 가장 많이 사용된 운율 세팅인 중간 속도의 스피치가 합성 데이터의 음성 렌더링을 위해 사용된다.
이제, 도 14d를 참조하면, 도 14d는 합성 데이터의 음성 렌더링을 위한 특정 운율 세팅을 확인(308)하기 위한 다른 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 14d의 방법에서, 특정 운율 세팅을 확인(308)하는 방법은 사용자의 현재 음성 특성(328)을 결정하는 단계(326) 및 사용자의 현재 음성 특성(328)에 의존해서 특정 운율 세팅(310)을 선택하는 단계(330)를 또한 포함한다. 사용자의 음성 특성은 음절 강세의 변화, 억양, 말하여진 언어의 타이밍, 단어간 피치의 변화, 스피치 속도, 스피치 크기, 휴지 기간, 및 당업자라면 잘 알 수 있는 기타의 독특한 스피치 특성을 포함한다.
사용자의 현재 음성 특성(328)을 결정하는 단계(326)는 사용자로부터 스피치를 수신하는 단계 및 스피치의 개별 특성을 관련 운율 세팅을 가진 미리 정해진 음성 패턴 프로필과 비교하는 단계에 의해 수행될 수 있다. 음성 패턴 프로필은 값 범위 내로 변환되는 속도(rate), 강조(emphasis), 볼륨 등과 같은 음성 특성의 개별 태양의 집합이다. 이러한 음성 패턴 프로필은 음성 프로필용의 관련 운율 세팅을 또한 갖는다.
사용자의 현재 음성 특성(328)이 음성 패턴 프로필의 개별 범위 내에 있으면, 현재 음성 특성은 음성 패턴 프로필과 일치하는 것으로 판정된다. 이 때, 음성 패턴 프로필과 관련된 운율 세팅은 합성 데이터의 구획을 음성 렌더링하기 위해 선택된다.
사용자의 현재 음성 특성(328)에 의존해서 특정 운율 세팅(310)을 선택하는 단계(330)는 예를 들면 스피치 속도 등의 음성 특성의 개별 태양을 판정하는 단계 및 사용자의 음성 특성 각각의 대응하는 태양에 가장 밀접하게 정합되는 개별적인 특정 운율 세팅을 선택하는 단계에 의해 음성 패턴 프로필없이 또한 수행될 수 있다. 다시 말해서, 특정 운율 세팅은 사용자의 스피치와 가장 밀접하게 정합되게 선택된다.
전술한 바와 같이, 본 발명에 따른 합성 데이터의 음성 렌더링은 렌더링될 합성 데이터의 구획을 판정하는 단계를 또한 포함한다. 합성 데이터의 구획은 합성 데이터의 임의의 일부 즉 서브 엘리멘트이고 합성 데이터의 전체를 포함한다. 렌더링될 합성 데이터의 구획은 합성 데이터의 인접 구획일 필요는 없다. 렌더링될 합 성 데이터의 구획은 합성 데이터의 비인접 단편(snippet)을 포함할 수 있다. 렌더링될 합성 데이터의 구획을 결정하는 단계는 전형적으로 렌더링될 합성 데이터 및 합성 데이터가 음성 렌더링될 콘텍스트를 나타내는 콘텍스트 정보에 의존해서 수행된다.
추가의 설명을 위하여, 도 15는 음성 렌더링될 합성 데이터(302) 및 합성 데이터가 음성 렌더링되는 콘텍스트의 콘텍스트 정보(306)에 의존해서, 렌더링될 합성 데이터의 구획(314)을 결정(312)하는 예시적 방법을 나타내는 흐름도를 도시하고 있다. 도 15의 방법은 합성 데이터가 음성 렌더링되는 콘텍스트의 콘텍스트 정보(306)를 결정하는 단계(350)를 포함한다. 합성 데이터가 음성 렌더링되는 콘텍스트의 콘텍스트 정보(306)를 결정하는 단계(350)는 장치에서 구동하는 다른 프로세스로부터, 하드웨어로부터, 또는 당업자라면 잘 알 수 있는 콘텍스트 정보(306)의 임의의 다른 소스로부터 콘텍스트 정보(306)를 수신함으로써 수행될 수 있다.
도 15의 방법에 따라서, 렌더링될 합성 데이터의 구획(314)을 결정하는 단계(312)는 콘텍스트 정보(306)에 의존해서 구획 길이(362)를 확인하는 단계(354)를 또한 포함한다. 구획 길이는 전형적으로 예컨대 합성 데이터의 특정 바이트 수, 텍스트의 특정 라인 수, 텍스트의 특정 절(paragraph) 수, 콘텐트의 특정 장(chapter) 수 등과 같은 합성 콘텐트(364)의 양(quantity)으로서, 또는 당업자라면 잘 알 수 있는 합성 콘텐트(364)의 임의의 다른 양으로서 구현된다.
콘텍스트 정보(306)에 의존해서 구획 길이(362)를 확인하는 단계(354)는 콘텍스트에 의해 색인된 미리 정해진 구획 길이 및 가끔은 렌더링될 합성 데이터의 원시 데이터 유형을 포함하는 구획 길이 테이블에서 조사를 수행함으로써 수행될 수 있다. 추가의 설명을 위하여, 사용자가 전형적으로 작업을 위해 운전 중에 있을 때 사용자의 랩톱이 오전 8시에 폐쇄되는 경우 사용자가 단어 'read email'을 말하는 예를 생각하자. 구획 길이의 확인은 오전 8시에 합성 이메일을 읽기 위해 콘텍스트 ID를 선택하기 위해 콘텍스트 정보 테이블에서 조사를 수행함으로써 수행될 수 있다. 선택된 콘텍스트 ID는 합성 이메일에 대하여 5개 라인의 미리 정해진 구획 길이를 갖는다.
콘텍스트 정보(306)에 의존해서 구획 길이(362)를 확인하는 단계(354)는 콘텍스트 정보(306)에 의존해서 렌더링 시간(358)을 확인하는 단계(356); 및 운율 세팅(334) 및 렌더링 시간(358)에 의존해서 렌더링될 구획 길이(362)를 결정하는 단계(360)에 의해 수행될 수 있다. 렌더링하는 시간은 합성 데이터의 구획을 렌더링하기 위해 할당된 시간을 표시하는 값이다. 렌더링 시간은 운율 세팅과 함께 음성 렌더링될 수 있는 콘텐트의 양을 결정한다. 예를 들어서, 저속 스피치용의 운율 세팅은 급속 스피치용의 운율 세팅을 하는 콘텐트의 동일한 양을 음성 렌더링하기 위하여 더 긴 렌더링 시간을 요구한다.
콘텍스트 정보(306)에 의존해서 렌더링 시간(358)을 확인하는 단계는 렌더링 시간 테이블에서 조사를 수행함으로써 수행될 수 있다. 이러한 렌더링 시간 테이블에서의 각 엔트리는 운율 세팅에 의해 색인된 렌더링 시간, 콘텍스트 정보 및 합성 데이터의 원시 데이터 유형을 갖는다.
추가의 설명을 위해, 렌더링 시간 테이블의 단일 엔트리에 포함된 예시적인 렌더링 시간 테이블 정보를 생각하자:
Prosody_Settings; rate=slow;
Context_Information; laptop closed
Native_Data_Type; email
Rendering_Time; 30 seconds
상기 예시적인 렌더링 시간 테이블 엔트리 정보에서, 30초의 렌더링 시간은 렌더링될 데이터의 운율 세팅이 저속 스피치이고, 랩톱이 폐쇄되었으며, 렌더링될 합성 데이터의 원시 데이터 유형이 이메일일 때 합성 데이터의 구획을 렌더링하기 위해 미리 정해진다.
도 15의 방법에 따라 렌더링될 합성 데이터의 구획(314)을 결정하는 단계(312)는 확인된 구획 길이(362)에 의존해서 렌더링될 합성 데이터의 구획(302)을 선택하는 단계(366)를 또한 포함한다. 이렇게 선택된 구획은 확인된 구획 길이를 가진 구획이다. 전술한 바와 같이, 구획은 합성 데이터의 인접한 구획 길이가 될 것을 요구하지 않는다. 렌더링될 합성 데이터의 구획은 합성 데이터의 비인접 단편들을 포함할 수 있으며, 이 단편들은 함께 확인된 구획 길이의 구획을 형성한다.
확인된 구획 길이(362)에 의존해서 렌더링될 합성 데이터의 구획(302)을 선택하는 단계(366)는 구획 선택 규칙을 합성 데이터에 적용함으로써 수행될 수 있다. 구획 선택 규칙은 음성 렌더링할 합성 데이터의 구획을 형성하기 위해 합성 데이터의 선택을 통제하는 규칙이다.
추가의 설명을 위하여, 하기의 구획 선택 규칙을 생각하자:
IF Native Data Type of Synthesized data = email
AND Section length = 5 lines
Select FROM: line
Select First 4 lines of content
상기 예시적인 구획 선택 규칙에서, 합성 데이터의 원시 데이터 유형이 이메일이고 구획 길이가 5 라인이면, 렌더링될 합성 데이터의 구획은 합성 이메일의 'From:' 라인 및 합성 이메일의 콘텐트의 최초 4 라인을 포함한다.
본 발명의 예시적인 실시예들은 불균일한 데이터 유형의 데이터를 관리 및 렌더링하기 위한 전기능 컴퓨터 시스템(fully functional computer system)의 콘텍스트 정보에 있어서 폭넓게 설명하였다. 그러나, 이 기술에 숙련된 독자라면 본 발명이 임의의 적당한 데이터 처리 시스템과 함께 사용하기 위한 신호 운반 매체에 배치된 컴퓨터 프로그램 제품으로 또한 구체화될 수 있다는 것을 알 것이다. 이러한 신호 운반 매체는 자기 매체, 광학 매체, 또는 다른 적당한 매체를 포함한 기계 판독성 정보의 전송 매체 또는 기록 매체일 수 있다. 기록 매체의 예로는 하드 드라이브의 자기 디스크 또는 디스켓, 광학 드라이브용의 콤팩트 디스크, 자기 테이프 및 당업자라면 잘 알 수 있는 기타의 매체가 있다. 전송 매체의 예로는 음성 통신용의 전화 네트워크 및 예컨데 이더넷™ 과 같은 디지털 데이터 통신 네트워크, 인터넷 프로토콜 및 월드 와이드 웹과 통신하는 네트워크가 있다. 당업자라면 프로그램 제품으로 구체화하는 것처럼 적당한 프로그래밍 수단을 가진 임의의 컴퓨터 시스템이 본 발명의 방법의 단계들을 실행할 수 있음을 즉시 인식할 것이다. 이 기 술에 숙련된 사람이라면 비록 이 명세서에서 설명한 예시적인 실시예의 일부가 컴퓨터 하드웨어에서 인스톨 및 실행되는 소프트웨어로 지향되어 있지만, 펌웨어 또는 하드웨어로서 구현되는 다른 실시예도 본 발명의 범위에 포함된다는 것을 즉시 알 것이다.
전술한 설명으로부터 본 발명의 진정한 정신에서 벗어나지 않고 본 발명의 각종 실시예를 여러 가지로 수정 및 변경할 수 있다는 것을 이해할 것이다. 이 명세서에서의 설명은 단지 설명을 위한 것일 뿐 제한적인 의미로 해석되어서는 안된다. 본 발명의 범위는 첨부된 청구범위에 의해서만 제한된다.
본 발명에 따르면, 불균일한 데이터 소스로부터의 콘텐트에 대한 균일한 데이터 유형 액세스를 제공하는 불균일한 데이터 유형에 대한 데이터 관리 및 데이터 렌더링을 제공함으로써 외부 환경에 상관없이 편리하게 통신을 행할 수 있다.

Claims (24)

  1. 합성 데이터 음성 렌더링의 컴퓨터 구현 방법에 있어서,
    a) 음성 렌더링될 합성 데이터를 검색하는 단계와;
    b) 상기 음성 렌더링될 합성 데이터에 대하여 특정 운율 세팅을 확인하는 단계와;
    c) 상기 음성 렌더링될 합성 데이터 및 합성 데이터가 음성 렌더링되는 콘텍스트에 대한 콘텍스트 정보에 의존해서, 상기 음성 렌더링될 합성 데이터의 구획을 결정하는 단계와;
    d) 확인된 특정 운율 세팅에 의존해서 상기 합성 데이터의 구획을 렌더링하는 단계를 포함하되,
    상기 b) 단계는
    b1) 사용자의 현재 음성 특성을 결정하는 단계와;
    b2) 사용자의 현재 음성 특성에 의존해서 특정 운율 세팅을 선택하는 단계 를 포함하고,
    상기 c) 단계는
    c1) 상기 합성 데이터가 음성 렌더링되는 콘텍스트에 대한 콘텍스트 정보를 결정하는 단계와;
    c2) 콘텍스트 정보에 의존해서 구획 길이를 확인하는 단계와;
    c3) 확인된 구획 길이에 의존해서 렌더링될 합성 데이터의 구획을 선택하는 단계를 포함하고,
    상기 c2) 단계는
    상기 콘텍스트 정보에 의존해서 렌더링 시간을 확인하는 단계와;
    운율 세팅 및 렌더링 시간에 의존해서 렌더링될 구획 길이를 결정하는 단계를 더 포함하는
    합성 데이터 음성 렌더링의 컴퓨터 구현 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 합성 데이터 음성 렌더링용 시스템으로서,
    컴퓨터 프로세서와;
    상기 컴퓨터 프로세서에 동작적으로 결합되어, 제1항에 기재된 방법의 각 단계를 수행하는 컴퓨터 프로그램 명령이 내부에 저장된 컴퓨터 메모리를 포함하는 합성 데이터 음성 렌더링용 시스템.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제1항에 기재된 방법의 각 단계를 수행하기 위한 각각의 컴퓨터 프로그램 명령을 포함하는 합성 데이터 음성 렌더링용 컴퓨터 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020060104866A 2005-11-03 2006-10-27 합성 데이터 음성 렌더링의 동적 운율 조정 방법, 시스템및 컴퓨터 프로그램 제품 KR100861860B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/266,559 2005-11-03
US11/266,559 US8694319B2 (en) 2005-11-03 2005-11-03 Dynamic prosody adjustment for voice-rendering synthesized data

Publications (2)

Publication Number Publication Date
KR20070048118A KR20070048118A (ko) 2007-05-08
KR100861860B1 true KR100861860B1 (ko) 2008-10-06

Family

ID=37997638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060104866A KR100861860B1 (ko) 2005-11-03 2006-10-27 합성 데이터 음성 렌더링의 동적 운율 조정 방법, 시스템및 컴퓨터 프로그램 제품

Country Status (3)

Country Link
US (1) US8694319B2 (ko)
KR (1) KR100861860B1 (ko)
CN (1) CN101004806B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051252B1 (ko) 2006-03-09 2011-07-21 뉘앙스 커뮤니케이션즈, 인코포레이티드 디지털 오디오 플레이어에서 전자메일을 렌더링하기 위한 전자메일 관리용 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3924583B2 (ja) * 2004-02-03 2007-06-06 松下電器産業株式会社 ユーザ適応型装置およびその制御方法
KR100719776B1 (ko) * 2005-02-25 2007-05-18 에이디정보통신 주식회사 휴대형 코드인식 음성 합성출력장치
US7958131B2 (en) * 2005-08-19 2011-06-07 International Business Machines Corporation Method for data management and data rendering for disparate data types
US8977636B2 (en) 2005-08-19 2015-03-10 International Business Machines Corporation Synthesizing aggregate data of disparate data types into data of a uniform data type
US20070061371A1 (en) * 2005-09-14 2007-03-15 Bodin William K Data customization for data of disparate data types
US8266220B2 (en) 2005-09-14 2012-09-11 International Business Machines Corporation Email management and rendering
US20070061712A1 (en) * 2005-09-14 2007-03-15 Bodin William K Management and rendering of calendar data
US20070165538A1 (en) * 2006-01-13 2007-07-19 Bodin William K Schedule-based connectivity management
US8271107B2 (en) 2006-01-13 2012-09-18 International Business Machines Corporation Controlling audio operation for data management and data rendering
US20070192675A1 (en) * 2006-02-13 2007-08-16 Bodin William K Invoking an audio hyperlink embedded in a markup document
US20070192673A1 (en) * 2006-02-13 2007-08-16 Bodin William K Annotating an audio file with an audio hyperlink
US9135339B2 (en) * 2006-02-13 2015-09-15 International Business Machines Corporation Invoking an audio hyperlink
US9196241B2 (en) 2006-09-29 2015-11-24 International Business Machines Corporation Asynchronous communications using messages recorded on handheld devices
US9318100B2 (en) 2007-01-03 2016-04-19 International Business Machines Corporation Supplementing audio recorded in a media file
US8725513B2 (en) * 2007-04-12 2014-05-13 Nuance Communications, Inc. Providing expressive user interaction with a multimodal application
US9274847B2 (en) * 2007-05-04 2016-03-01 Microsoft Technology Licensing, Llc Resource management platform
WO2009003281A1 (en) * 2007-07-03 2009-01-08 Tlg Partnership System, method, and data structure for providing access to interrelated sources of information
US8583438B2 (en) * 2007-09-20 2013-11-12 Microsoft Corporation Unnatural prosody detection in speech synthesis
US8249225B2 (en) * 2008-03-14 2012-08-21 International Business Machines Corporation Identifying caller preferences based on voice print analysis
CN102237081B (zh) * 2010-04-30 2013-04-24 国际商业机器公司 语音韵律评估方法与系统
CN101867695A (zh) * 2010-05-21 2010-10-20 中山大学 一种基于浏览器的数字电视机顶盒
JP2013072957A (ja) * 2011-09-27 2013-04-22 Toshiba Corp 文書読み上げ支援装置、方法及びプログラム
US9824695B2 (en) * 2012-06-18 2017-11-21 International Business Machines Corporation Enhancing comprehension in voice communications
JP5999839B2 (ja) * 2012-09-10 2016-09-28 ルネサスエレクトロニクス株式会社 音声案内システム及び電子機器
US8856007B1 (en) * 2012-10-09 2014-10-07 Google Inc. Use text to speech techniques to improve understanding when announcing search results
US9064318B2 (en) 2012-10-25 2015-06-23 Adobe Systems Incorporated Image matting and alpha value techniques
US10638221B2 (en) 2012-11-13 2020-04-28 Adobe Inc. Time interval sound alignment
US9355649B2 (en) 2012-11-13 2016-05-31 Adobe Systems Incorporated Sound alignment using timing information
US9201580B2 (en) 2012-11-13 2015-12-01 Adobe Systems Incorporated Sound alignment user interface
US9076205B2 (en) 2012-11-19 2015-07-07 Adobe Systems Incorporated Edge direction and curve based image de-blurring
US10249321B2 (en) * 2012-11-20 2019-04-02 Adobe Inc. Sound rate modification
US9451304B2 (en) 2012-11-29 2016-09-20 Adobe Systems Incorporated Sound feature priority alignment
US9135710B2 (en) 2012-11-30 2015-09-15 Adobe Systems Incorporated Depth map stereo correspondence techniques
US10455219B2 (en) 2012-11-30 2019-10-22 Adobe Inc. Stereo correspondence and depth sensors
US9208547B2 (en) 2012-12-19 2015-12-08 Adobe Systems Incorporated Stereo correspondence smoothness tool
US10249052B2 (en) 2012-12-19 2019-04-02 Adobe Systems Incorporated Stereo correspondence model fitting
US9214026B2 (en) 2012-12-20 2015-12-15 Adobe Systems Incorporated Belief propagation and affinity measures
US9384728B2 (en) * 2014-09-30 2016-07-05 International Business Machines Corporation Synthesizing an aggregate voice
CN106547511B (zh) 2015-09-16 2019-12-10 广州市动景计算机科技有限公司 一种语音播读网页信息的方法、浏览器客户端及服务器
US10896286B2 (en) 2016-03-18 2021-01-19 Audioeye, Inc. Modular systems and methods for selectively enabling cloud-based assistive technologies
US10423709B1 (en) 2018-08-16 2019-09-24 Audioeye, Inc. Systems, devices, and methods for automated and programmatic creation and deployment of remediations to non-compliant web pages or user interfaces
US11727195B2 (en) 2016-03-18 2023-08-15 Audioeye, Inc. Modular systems and methods for selectively enabling cloud-based assistive technologies
US10444934B2 (en) 2016-03-18 2019-10-15 Audioeye, Inc. Modular systems and methods for selectively enabling cloud-based assistive technologies
US10867120B1 (en) 2016-03-18 2020-12-15 Audioeye, Inc. Modular systems and methods for selectively enabling cloud-based assistive technologies
US10319365B1 (en) * 2016-06-27 2019-06-11 Amazon Technologies, Inc. Text-to-speech processing with emphasized output audio
US10157607B2 (en) * 2016-10-20 2018-12-18 International Business Machines Corporation Real time speech output speed adjustment
US10586079B2 (en) 2016-12-23 2020-03-10 Soundhound, Inc. Parametric adaptation of voice synthesis
US10592203B2 (en) * 2017-12-18 2020-03-17 Mitel Networks Corporation Device including a digital assistant for personalized speech playback and method of using same
CN108197115B (zh) * 2018-01-26 2022-04-22 上海智臻智能网络科技股份有限公司 智能交互方法、装置、计算机设备和计算机可读存储介质
CN109582271B (zh) * 2018-10-26 2020-04-03 北京蓦然认知科技有限公司 一种动态设置tts播放参数的方法、装置及设备
US10902841B2 (en) 2019-02-15 2021-01-26 International Business Machines Corporation Personalized custom synthetic speech
US11741965B1 (en) * 2020-06-26 2023-08-29 Amazon Technologies, Inc. Configurable natural language output
US12100384B2 (en) * 2022-01-04 2024-09-24 Capital One Services, Llc Dynamic adjustment of content descriptions for visual components

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020107A (en) 1989-12-04 1991-05-28 Motorola, Inc. Limited vocabulary speech recognition system
EP0817002A2 (en) * 1996-07-01 1998-01-07 International Business Machines Corporation Speech supported navigation of a pointer in a graphical user interface
KR20010071517A (ko) * 1998-06-17 2001-07-28 존 플레이스 지능형 텍스트/음성 합성
KR20030046494A (ko) * 2000-10-10 2003-06-12 인텔 코오퍼레이션 언어 독립적 음성-기반 검색 시스템
KR20040078888A (ko) * 2003-03-05 2004-09-13 마이크로소프트 코포레이션 사용자 입력에 기초한 데이터의 프리젠테이션
WO2004097684A1 (en) * 2003-04-25 2004-11-11 At & T Corp. System for low-latency animation of talking heads
EP1577797A2 (en) 2004-03-18 2005-09-21 Microsoft Corporation Rendering tables with natural language commands

Family Cites Families (345)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4785408A (en) 1985-03-11 1988-11-15 AT&T Information Systems Inc. American Telephone and Telegraph Company Method and apparatus for generating computer-controlled interactive voice services
GB8918553D0 (en) 1989-08-15 1989-09-27 Digital Equipment Int Message control system
US5341469A (en) 1991-05-13 1994-08-23 Arcom Architectural Computer Services, Inc. Structured text system
EP0598514B1 (en) 1992-11-18 1999-12-29 Canon Information Systems, Inc. Method and apparatus for extracting text from a structured data file and converting the extracted text to speech
US5406626A (en) 1993-03-15 1995-04-11 Macrovision Corporation Radio receiver for information dissemenation using subcarrier
CA2119397C (en) * 1993-03-19 2007-10-02 Kim E.A. Silverman Improved automated voice synthesis employing enhanced prosodic treatment of text, spelling of text and rate of annunciation
US6088026A (en) 1993-12-21 2000-07-11 International Business Machines Corporation Method and apparatus for multimedia information association to an electronic calendar event
US5537618A (en) * 1993-12-23 1996-07-16 Diacom Technologies, Inc. Method and apparatus for implementing user feedback
US5564043A (en) 1994-03-24 1996-10-08 At&T Global Information Solutions Launching computer program upon download of data created by program
US5613032A (en) * 1994-09-02 1997-03-18 Bell Communications Research, Inc. System and method for recording, playing back and searching multimedia events wherein video, audio and text can be searched and retrieved
KR970002384B1 (ko) 1994-10-26 1997-03-03 엘지전자 주식회사 휴대형 단말기의 사운드 발생 및 디스플레이 제어장치
DE4440598C1 (de) 1994-11-14 1996-05-23 Siemens Ag Durch gesprochene Worte steuerbares Hypertext-Navigationssystem, Hypertext-Dokument für dieses Navigationssystem und Verfahren zur Erzeugung eines derartigen Dokuments
AUPN520495A0 (en) * 1995-09-04 1995-09-28 Charon Holdings Pty Ltd Reading aid
US6965569B1 (en) 1995-09-18 2005-11-15 Net2Phone, Inc. Flexible scalable file conversion system and method
US5892825A (en) 1996-05-15 1999-04-06 Hyperlock Technologies Inc Method of secure server control of local media via a trigger through a network for instant local access of encrypted data on local media
US6115482A (en) * 1996-02-13 2000-09-05 Ascent Technology, Inc. Voice-output reading system with gesture-based navigation
US5953392A (en) 1996-03-01 1999-09-14 Netphonic Communications, Inc. Method and apparatus for telephonically accessing and navigating the internet
US5901287A (en) 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
US6141693A (en) 1996-06-03 2000-10-31 Webtv Networks, Inc. Method and apparatus for extracting digital data from a video stream and using the digital data to configure the video stream for display on a television set
US5903727A (en) 1996-06-18 1999-05-11 Sun Microsystems, Inc. Processing HTML to embed sound in a web page
US6434567B1 (en) 1996-07-30 2002-08-13 Carlos De La Huerga Method for specifying enterprise-wide database address formats
GB2317070A (en) 1996-09-07 1998-03-11 Ibm Voice processing/internet system
US5819220A (en) 1996-09-30 1998-10-06 Hewlett-Packard Company Web triggered word set boosting for speech interfaces to the world wide web
US6006187A (en) * 1996-10-01 1999-12-21 Lucent Technologies Inc. Computer prosody user interface
US5732216A (en) 1996-10-02 1998-03-24 Internet Angles, Inc. Audio message exchange system
US6199076B1 (en) 1996-10-02 2001-03-06 James Logan Audio program player including a dynamic program selection controller
US6233318B1 (en) 1996-11-05 2001-05-15 Comverse Network Systems, Inc. System for accessing multimedia mailboxes and messages over the internet and via telephone
US6282511B1 (en) 1996-12-04 2001-08-28 At&T Voiced interface with hyperlinked information
US5911776A (en) 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
US6317714B1 (en) 1997-02-04 2001-11-13 Microsoft Corporation Controller and associated mechanical characters operable for continuously performing received control data while engaging in bidirectional communications over a single communications channel
US6823225B1 (en) 1997-02-12 2004-11-23 Im Networks, Inc. Apparatus for distributing and playing audio information
US5884266A (en) 1997-04-02 1999-03-16 Motorola, Inc. Audio interface for document based information resource navigation and method therefor
US5978463A (en) 1997-04-18 1999-11-02 Mci Worldcom, Inc. Reservation scheduling system for audio conferencing resources
US6044347A (en) 1997-08-05 2000-03-28 Lucent Technologies Inc. Methods and apparatus object-oriented rule-based dialogue management
US6944214B1 (en) 1997-08-27 2005-09-13 Gateway, Inc. Scheduled audio mode for modem speaker
US6487277B2 (en) 1997-09-19 2002-11-26 Siemens Information And Communication Networks, Inc. Apparatus and method for improving the user interface of integrated voice response systems
US6266664B1 (en) 1997-10-01 2001-07-24 Rulespace, Inc. Method for scanning, analyzing and rating digital information content
US6959220B1 (en) 1997-11-07 2005-10-25 Microsoft Corporation Digital audio signal filtering mechanism and method
US6032260A (en) 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
US6055525A (en) 1997-11-25 2000-04-25 International Business Machines Corporation Disparate data loader
US6092121A (en) 1997-12-18 2000-07-18 International Business Machines Corporation Method and apparatus for electronically integrating data captured in heterogeneous information systems
US6931587B1 (en) * 1998-01-29 2005-08-16 Philip R. Krause Teleprompter device
US6282512B1 (en) 1998-02-05 2001-08-28 Texas Instruments Incorporated Enhancement of markup language pages to support spoken queries
US6012098A (en) 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6115686A (en) 1998-04-02 2000-09-05 Industrial Technology Research Institute Hyper text mark up language document to speech converter
US6178511B1 (en) 1998-04-30 2001-01-23 International Business Machines Corporation Coordinating user target logons in a single sign-on (SSO) environment
US6563769B1 (en) 1998-06-11 2003-05-13 Koninklijke Philips Electronics N.V. Virtual jukebox
US6064961A (en) * 1998-09-02 2000-05-16 International Business Machines Corporation Display for proofreading text
JP2000090151A (ja) 1998-09-10 2000-03-31 Ibm Japan Ltd スケジュール表示方法、スケジュール変更方法、スケジュール管理装置、スケジュール管理プログラムを格納した記憶媒体
JP2000090156A (ja) 1998-09-14 2000-03-31 Ibm Japan Ltd スケジュール表示方法、スケジュール変更方法、スケジュール管理システム、スケジュール管理プログラムを格納した記憶媒体
US6266649B1 (en) 1998-09-18 2001-07-24 Amazon.Com, Inc. Collaborative recommendations using item-to-item similarity mappings
US6324511B1 (en) * 1998-10-01 2001-11-27 Mindmaker, Inc. Method of and apparatus for multi-modal information presentation to computer users with dyslexia, reading disabilities or visual impairment
US6839669B1 (en) 1998-11-05 2005-01-04 Scansoft, Inc. Performing actions identified in recognized speech
US6859212B2 (en) 1998-12-08 2005-02-22 Yodlee.Com, Inc. Interactive transaction center interface
US20020015480A1 (en) 1998-12-08 2002-02-07 Neil Daswani Flexible multi-network voice/data aggregation system architecture
US8290034B2 (en) 1998-12-21 2012-10-16 Zin Stai Pte. In, Llc Video transmission and display including bit-wise sub-sampling video compression
US6802041B1 (en) 1999-01-20 2004-10-05 Perfectnotes Corporation Multimedia word processor
US6480860B1 (en) 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
US6272461B1 (en) * 1999-03-22 2001-08-07 Siemens Information And Communication Networks, Inc. Method and apparatus for an enhanced presentation aid
CN1168068C (zh) * 1999-03-25 2004-09-22 松下电器产业株式会社 语音合成系统与语音合成方法
US6397185B1 (en) * 1999-03-29 2002-05-28 Betteraccent, Llc Language independent suprasegmental pronunciation tutoring system and methods
US6574599B1 (en) 1999-03-31 2003-06-03 Microsoft Corporation Voice-recognition-based methods for establishing outbound communication through a unified messaging system including intelligent calendar interface
US6463440B1 (en) 1999-04-08 2002-10-08 International Business Machines Corporation Retrieval of style sheets from directories based upon partial characteristic matching
US6519617B1 (en) 1999-04-08 2003-02-11 International Business Machines Corporation Automated creation of an XML dialect and dynamic generation of a corresponding DTD
US6859527B1 (en) 1999-04-30 2005-02-22 Hewlett Packard/Limited Communications arrangement and method using service system to facilitate the establishment of end-to-end communication over a network
US6240391B1 (en) 1999-05-25 2001-05-29 Lucent Technologies Inc. Method and apparatus for assembling and presenting structured voicemail messages
US6721713B1 (en) 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US20020032564A1 (en) 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
US6468084B1 (en) * 1999-08-13 2002-10-22 Beacon Literacy, Llc System and method for literacy development
US6993476B1 (en) 1999-08-26 2006-01-31 International Business Machines Corporation System and method for incorporating semantic characteristics into the format-driven syntactic document transcoding framework
US6912691B1 (en) 1999-09-03 2005-06-28 Cisco Technology, Inc. Delivering voice portal services using an XML voice-enabled web server
US6850603B1 (en) 1999-09-13 2005-02-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized dynamic and interactive voice services
US6611876B1 (en) 1999-10-28 2003-08-26 International Business Machines Corporation Method for establishing optimal intermediate caching points by grouping program elements in a software system
JP2003514261A (ja) 1999-11-09 2003-04-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ インターネットページのハイパーリンクを作動させる音声認識方法
US6593943B1 (en) 1999-11-30 2003-07-15 International Business Machines Corp. Information grouping configuration for use with diverse display devices
US20020130891A1 (en) * 1999-12-08 2002-09-19 Michael Singer Text display with user-defined appearance and automatic scrolling
US6563770B1 (en) 1999-12-17 2003-05-13 Juliette Kokhab Method and apparatus for the distribution of audio data
FI113231B (fi) 2000-01-17 2004-03-15 Nokia Corp Menetelmä sanomien sisältämän informaation esittämiseksi multimediapäätelaitteessa, multimediasanomien välitysjärjestelmä ja multimediapäätelaite
US20030028380A1 (en) * 2000-02-02 2003-02-06 Freeland Warwick Peter Speech system
US7437408B2 (en) 2000-02-14 2008-10-14 Lockheed Martin Corporation Information aggregation, processing and distribution system
US6532477B1 (en) 2000-02-23 2003-03-11 Sun Microsystems, Inc. Method and apparatus for generating an audio signature for a data item
US6901403B1 (en) 2000-03-02 2005-05-31 Quovadx, Inc. XML presentation of general-purpose data sources
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US6731993B1 (en) 2000-03-16 2004-05-04 Siemens Information & Communication Networks, Inc. Computer telephony audio configuration
US6694297B2 (en) 2000-03-30 2004-02-17 Fujitsu Limited Text information read-out device and music/voice reproduction device incorporating the same
WO2001075679A1 (en) 2000-04-04 2001-10-11 Metamatrix, Inc. A system and method for accessing data in disparate information sources
US7702995B2 (en) 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US6644973B2 (en) * 2000-05-16 2003-11-11 William Oster System for improving reading and speaking
JP2001339424A (ja) 2000-05-26 2001-12-07 Nec Corp 電子メール処理システム、処理方法及び処理装置
US7346649B1 (en) 2000-05-31 2008-03-18 Wong Alexander Y Method and apparatus for network content distribution using a personal server approach
US20020120451A1 (en) * 2000-05-31 2002-08-29 Yumiko Kato Apparatus and method for providing information by speech
CA2310943A1 (en) 2000-06-02 2001-12-02 Michael J. Sikorsky Methods, techniques, software and systems for providing context independent, protocol independent portable or reusable development tools
US6816835B2 (en) 2000-06-15 2004-11-09 Sharp Kabushiki Kaisha Electronic mail system and device
US6510413B1 (en) * 2000-06-29 2003-01-21 Intel Corporation Distributed synthetic speech generation
FI115868B (fi) 2000-06-30 2005-07-29 Nokia Corp Puhesynteesi
US6944591B1 (en) 2000-07-27 2005-09-13 International Business Machines Corporation Audio support system for controlling an e-mail system in a remote computer
US7185360B1 (en) 2000-08-01 2007-02-27 Hereuare Communications, Inc. System for distributed network authentication and access control
US7092370B2 (en) 2000-08-17 2006-08-15 Roamware, Inc. Method and system for wireless voice channel/data channel integration
US6779022B1 (en) 2000-08-17 2004-08-17 Jens Horstmann Server that obtains information from multiple sources, filters using client identities, and dispatches to both hardwired and wireless clients
US7779097B2 (en) 2000-09-07 2010-08-17 Sonic Solutions Methods and systems for use in network management of content
JP2002092261A (ja) 2000-09-13 2002-03-29 Yamaha Corp コンテンツ評価方法
JP3661768B2 (ja) 2000-10-04 2005-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 音響機器およびコンピュータ装置
US7454346B1 (en) 2000-10-04 2008-11-18 Cisco Technology, Inc. Apparatus and methods for converting textual information to audio-based output
EP1197884A3 (en) 2000-10-12 2006-01-11 Siemens Corporate Research, Inc. Method and apparatus for authoring and viewing audio documents
US6636875B1 (en) 2000-10-25 2003-10-21 International Business Machines Corporation System and method for synchronizing related data elements in disparate storage systems
US6976082B1 (en) 2000-11-03 2005-12-13 At&T Corp. System and method for receiving multi-media messages
US6975988B1 (en) 2000-11-10 2005-12-13 Adam Roth Electronic mail method and system using associated audio and visual techniques
US6728680B1 (en) * 2000-11-16 2004-04-27 International Business Machines Corporation Method and apparatus for providing visual feedback of speed production
ATE391986T1 (de) 2000-11-23 2008-04-15 Ibm Sprachnavigation in webanwendungen
CA2327632C (en) 2000-12-05 2008-10-07 Mitchell J. Shnier Methods for creating and playing a customized program of a variety of sources
GB2369955B (en) 2000-12-07 2004-01-07 Hewlett Packard Co Encoding of hyperlinks in sound signals
US7178100B2 (en) 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US7349867B2 (en) 2000-12-22 2008-03-25 Invenda Corporation Tracking transactions by using addresses in a communications network
US6823312B2 (en) 2001-01-18 2004-11-23 International Business Machines Corporation Personalized system for providing improved understandability of received speech
GB2374501B (en) 2001-01-29 2005-04-13 Hewlett Packard Co Facilitation of clear presenentation in audio user interface
CN1156751C (zh) 2001-02-02 2004-07-07 国际商业机器公司 用于自动生成语音xml文件的方法和系统
US7062437B2 (en) * 2001-02-13 2006-06-13 International Business Machines Corporation Audio renderings for expressing non-audio nuances
US7191133B1 (en) * 2001-02-15 2007-03-13 West Corporation Script compliance using speech recognition
US7664641B1 (en) * 2001-02-15 2010-02-16 West Corporation Script compliance and quality assurance based on speech recognition and duration of interaction
US7194411B2 (en) 2001-02-26 2007-03-20 Benjamin Slotznick Method of displaying web pages to enable user access to text information that the user has difficulty reading
US20020120693A1 (en) 2001-02-27 2002-08-29 Rudd Michael L. E-mail conversion service
US7171411B1 (en) 2001-02-28 2007-01-30 Oracle International Corporation Method and system for implementing shared schemas for users in a distributed computing system
US7120702B2 (en) 2001-03-03 2006-10-10 International Business Machines Corporation System and method for transcoding web content for display by alternative client devices
US20020128837A1 (en) 2001-03-12 2002-09-12 Philippe Morin Voice binding for user interface navigation system
US6643635B2 (en) 2001-03-15 2003-11-04 Sagemetrics Corporation Methods for dynamically accessing, processing, and presenting data acquired from disparate data sources
EP1246142A1 (en) 2001-03-30 2002-10-02 Nokia Corporation Download of audio files to a detachable memory for playing in separate terminal
US6792407B2 (en) * 2001-03-30 2004-09-14 Matsushita Electric Industrial Co., Ltd. Text selection and recording by feedback and adaptation for development of personalized text-to-speech systems
US6832196B2 (en) 2001-03-30 2004-12-14 International Business Machines Corporation Speech driven data selection in a voice-enabled program
US20020152210A1 (en) 2001-04-03 2002-10-17 Venetica Corporation System for providing access to multiple disparate content repositories with a single consistent interface
US7107533B2 (en) * 2001-04-09 2006-09-12 International Business Machines Corporation Electronic book with multimode I/O
US7039643B2 (en) 2001-04-10 2006-05-02 Adobe Systems Incorporated System, method and apparatus for converting and integrating media files
DE10119067A1 (de) 2001-04-18 2002-10-31 Bosch Gmbh Robert Verfahren zum Abspielen von Multimediadaten mit einem Unterhaltungsgerät
US20020169770A1 (en) 2001-04-27 2002-11-14 Kim Brian Seong-Gon Apparatus and method that categorize a collection of documents into a hierarchy of categories that are defined by the collection of documents
JP4225703B2 (ja) 2001-04-27 2009-02-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報アクセス方法、情報アクセスシステムおよびプログラム
US7890517B2 (en) 2001-05-15 2011-02-15 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
JP2002351878A (ja) 2001-05-18 2002-12-06 Internatl Business Mach Corp <Ibm> デジタルコンテンツ再生装置、データ取得システム、デジタルコンテンツ再生方法、メタデータ管理方法、電子透かし埋め込み方法、プログラム及び記録媒体
US7366712B2 (en) 2001-05-31 2008-04-29 Intel Corporation Information retrieval center gateway
JP2002359647A (ja) 2001-06-01 2002-12-13 Canon Inc 情報提供装置及び情報処理装置及びシステムとそれらの方法
US6810146B2 (en) * 2001-06-01 2004-10-26 Eastman Kodak Company Method and system for segmenting and identifying events in images using spoken annotations
US6990451B2 (en) * 2001-06-01 2006-01-24 Qwest Communications International Inc. Method and apparatus for recording prosody for fully concatenated speech
JP2002366186A (ja) * 2001-06-11 2002-12-20 Hitachi Ltd 音声合成方法及びそれを実施する音声合成装置
US7565212B2 (en) 2001-06-13 2009-07-21 Yamaha Corporation Configuration method of digital audio mixer
JP3672245B2 (ja) 2001-06-15 2005-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション メール発信システム、メールサーバ、メール転送システム、メール転送方法、メール発信方法、メール配信方法、プログラム
US20020198714A1 (en) 2001-06-26 2002-12-26 Guojun Zhou Statistical spoken dialog system
US20050234727A1 (en) 2001-07-03 2005-10-20 Leo Chiu Method and apparatus for adapting a voice extensible markup language-enabled voice system for natural speech recognition and system response
US7609829B2 (en) * 2001-07-03 2009-10-27 Apptera, Inc. Multi-platform capable inference engine and universal grammar language adapter for intelligent voice application execution
JP2003037847A (ja) 2001-07-26 2003-02-07 Matsushita Electric Ind Co Ltd 画像処理システム及び撮像装置並びに画像処理装置
US6810378B2 (en) * 2001-08-22 2004-10-26 Lucent Technologies Inc. Method and apparatus for controlling a speech synthesis system to provide multiple styles of speech
US20030055835A1 (en) 2001-08-23 2003-03-20 Chantal Roth System and method for transferring biological data to and from a database
US6985939B2 (en) 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
EP1303097A3 (en) 2001-10-16 2005-11-30 Microsoft Corporation Virtual distributed security system
US6987947B2 (en) 2001-10-30 2006-01-17 Unwired Technology Llc Multiple channel wireless communication system
US20030110185A1 (en) 2001-12-10 2003-06-12 Rhoads Geoffrey B. Geographically-based databases and methods
US20030110272A1 (en) 2001-12-11 2003-06-12 Du Castel Bertrand System and method for filtering content
US7076051B2 (en) 2001-12-12 2006-07-11 International Business Machines Corporation Promoting caller voice browsing in a hold queue
US20030110297A1 (en) 2001-12-12 2003-06-12 Tabatabai Ali J. Transforming multimedia data for delivery to multiple heterogeneous devices
US20030115289A1 (en) 2001-12-14 2003-06-19 Garry Chinn Navigation in a voice recognition system
US7058565B2 (en) 2001-12-17 2006-06-06 International Business Machines Corporation Employing speech recognition and key words to improve customer service
US7046772B1 (en) 2001-12-17 2006-05-16 Bellsouth Intellectual Property Corporation Method and system for call, facsimile and electronic message forwarding
US6915246B2 (en) 2001-12-17 2005-07-05 International Business Machines Corporation Employing speech recognition and capturing customer speech to improve customer service
US20040068552A1 (en) 2001-12-26 2004-04-08 David Kotz Methods and apparatus for personalized content presentation
US20030126293A1 (en) 2001-12-27 2003-07-03 Robert Bushey Dynamic user interface reformat engine
US7493259B2 (en) 2002-01-04 2009-02-17 Siebel Systems, Inc. Method for accessing data via voice
US20030145062A1 (en) 2002-01-14 2003-07-31 Dipanshu Sharma Data conversion server for voice browsing system
US20030132953A1 (en) 2002-01-16 2003-07-17 Johnson Bruce Alan Data preparation for media browsing
US7159174B2 (en) 2002-01-16 2007-01-02 Microsoft Corporation Data preparation for media browsing
US7139756B2 (en) 2002-01-22 2006-11-21 International Business Machines Corporation System and method for detecting duplicate and similar documents
US7031477B1 (en) 2002-01-25 2006-04-18 Matthew Rodger Mella Voice-controlled system for providing digital audio content in an automobile
WO2004107094A2 (en) 2002-01-25 2004-12-09 Seurat Company Data integration system and method for presenting 360° customer views
US7149788B1 (en) 2002-01-28 2006-12-12 Witness Systems, Inc. Method and system for providing access to captured multimedia data from a multimedia player
US7139713B2 (en) 2002-02-04 2006-11-21 Microsoft Corporation Systems and methods for managing interactions from multiple speech-enabled applications
US7149694B1 (en) 2002-02-13 2006-12-12 Siebel Systems, Inc. Method and system for building/updating grammars in voice access systems
US20030158737A1 (en) 2002-02-15 2003-08-21 Csicsatka Tibor George Method and apparatus for incorporating additional audio information into audio data file identifying information
US7246063B2 (en) 2002-02-15 2007-07-17 Sap Aktiengesellschaft Adapting a user interface for voice control
US20030160770A1 (en) 2002-02-25 2003-08-28 Koninklijke Philips Electronics N.V. Method and apparatus for an adaptive audio-video program recommendation system
DE10208295A1 (de) 2002-02-26 2003-09-04 Philips Intellectual Property Verfahren zum Betrieb eines Sprach-Dialogsystems
US7096183B2 (en) * 2002-02-27 2006-08-22 Matsushita Electric Industrial Co., Ltd. Customizing the speaking style of a speech synthesizer based on semantic analysis
US7424459B2 (en) 2002-03-01 2008-09-09 Lightsurf Technologies, Inc. System providing methods for dynamic customization and personalization of user interface
US7712020B2 (en) 2002-03-22 2010-05-04 Khan Emdadur R Transmitting secondary portions of a webpage as a voice response signal in response to a lack of response by a user
US20030182000A1 (en) 2002-03-22 2003-09-25 Sound Id Alternative sound track for hearing-handicapped users and stressful environments
JP4088131B2 (ja) 2002-03-28 2008-05-21 富士通株式会社 同期コンテンツ情報生成プログラム、同期コンテンツ情報生成装置および同期コンテンツ情報生成方法
US20030187668A1 (en) 2002-03-28 2003-10-02 International Business Machines Corporation Group administration of universal resource identifiers
US7392102B2 (en) 2002-04-23 2008-06-24 Gateway Inc. Method of synchronizing the playback of a digital audio broadcast using an audio waveform sample
US8611919B2 (en) 2002-05-23 2013-12-17 Wounder Gmbh., Llc System, method, and computer program product for providing location based services and mobile e-commerce
US20030225599A1 (en) 2002-05-30 2003-12-04 Realty Datatrust Corporation System and method for data aggregation
KR20030095048A (ko) 2002-06-11 2003-12-18 엘지전자 주식회사 멀티미디어 재생 방법 및 장치
US7072452B1 (en) 2002-06-24 2006-07-04 Bellsouth Intellectual Property Corporation Saving and forwarding customized messages
US20040003394A1 (en) 2002-07-01 2004-01-01 Arun Ramaswamy System for automatically matching video with ratings information
US7966184B2 (en) 2006-03-06 2011-06-21 Audioeye, Inc. System and method for audible web site navigation
US20040034653A1 (en) 2002-08-14 2004-02-19 Maynor Fredrick L. System and method for capturing simultaneous audiovisual and electronic inputs to create a synchronized single recording for chronicling human interaction within a meeting event
US20040041835A1 (en) 2002-09-03 2004-03-04 Qiu-Jiang Lu Novel web site player and recorder
US7454423B2 (en) 2002-09-06 2008-11-18 Oracle International Corporation Enterprise link for a software database
US7455522B2 (en) * 2002-10-04 2008-11-25 Fuji Xerox Co., Ltd. Systems and methods for dynamic reading fluency instruction and improvement
US6992451B2 (en) 2002-10-07 2006-01-31 Denso Corporation Motor control apparatus operable in fail-safe mode
WO2004034276A1 (en) 2002-10-11 2004-04-22 Matsushita Electric Industrial Co. Ltd. A method and apparatus for delivering programme-associated data to generate relevant visual displays for audio contents
US8494859B2 (en) * 2002-10-15 2013-07-23 Gh, Llc Universal processing system and methods for production of outputs accessible by people with disabilities
JP2004145055A (ja) 2002-10-25 2004-05-20 Yokogawa Electric Corp オーディオ配信システム
US20040088349A1 (en) 2002-10-30 2004-05-06 Andre Beck Method and apparatus for providing anonymity to end-users in web transactions
US7660820B2 (en) 2002-11-12 2010-02-09 E.Piphany, Inc. Context-based heterogeneous information integration system
US7296295B2 (en) 2002-12-11 2007-11-13 Broadcom Corporation Media processing system supporting different media formats via server-based transcoding
DE10258668A1 (de) 2002-12-13 2004-06-24 Basf Ag Verfahren zur Herstellung von Flexodruckformen mittels Lasergravur unter Verwendung von fotopolymeren Flexodruckelementen und fotopolymerisierbares Flexodruckelementen
US7215743B2 (en) 2002-12-20 2007-05-08 International Business Machines Corporation Telephony signals containing an IVR decision tree
US7349949B1 (en) 2002-12-26 2008-03-25 International Business Machines Corporation System and method for facilitating development of a customizable portlet
WO2004066125A2 (en) 2003-01-14 2004-08-05 V-Enable, Inc. Multi-modal information retrieval system
US7369988B1 (en) 2003-02-24 2008-05-06 Sprint Spectrum L.P. Method and system for voice-enabled text entry
US8392834B2 (en) 2003-04-09 2013-03-05 Hewlett-Packard Development Company, L.P. Systems and methods of authoring a multimedia file
US8145743B2 (en) 2003-04-17 2012-03-27 International Business Machines Corporation Administering devices in dependence upon user metric vectors
US20050021826A1 (en) 2003-04-21 2005-01-27 Sunil Kumar Gateway controller for a multimodal system that provides inter-communication among different data and voice servers through various mobile devices, and interface for that controller
EP1639440A4 (en) 2003-04-25 2009-03-11 Apple Inc GRAPHIC USER INTERFACE FOR BROWSING, BROWSING AND PRESENTING MEDIA ARTICLES
US20050203959A1 (en) 2003-04-25 2005-09-15 Apple Computer, Inc. Network-based purchase and distribution of digital media items
US20050045373A1 (en) 2003-05-27 2005-03-03 Joseph Born Portable media device with audio prompt menu
US7149810B1 (en) 2003-05-30 2006-12-12 Microsoft Corporation System and method for managing calendar items
JP2005012282A (ja) 2003-06-16 2005-01-13 Toshiba Corp 電子商品流通システム、電子商品受信端末、及び電子商品流通方法
US7848493B2 (en) 2003-06-24 2010-12-07 Hewlett-Packard Development Company, L.P. System and method for capturing media
US7610306B2 (en) 2003-06-30 2009-10-27 International Business Machines Corporation Multi-modal fusion in content-based retrieval
GB2418757B (en) 2003-07-07 2006-11-08 Progress Software Corp Multi-platform single sign-on database driver
JP4425859B2 (ja) 2003-07-11 2010-03-03 日本電信電話株式会社 アドレスに基づく認証システム、その装置およびプログラム
US20050015718A1 (en) 2003-07-16 2005-01-20 Sambhus Mihir Y. Method and system for client aware content aggregation and rendering in a portal server
US7757173B2 (en) 2003-07-18 2010-07-13 Apple Inc. Voice menu system
US7313528B1 (en) 2003-07-31 2007-12-25 Sprint Communications Company L.P. Distributed network based message processing system for text-to-speech streaming data
US8200775B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7561932B1 (en) 2003-08-19 2009-07-14 Nvidia Corporation System and method for processing multi-channel audio
US20050043940A1 (en) 2003-08-20 2005-02-24 Marvin Elder Preparing a data source for a natural language query
KR100493902B1 (ko) 2003-08-28 2005-06-10 삼성전자주식회사 콘텐츠 추천방법 및 시스템
US20050119894A1 (en) * 2003-10-20 2005-06-02 Cutler Ann R. System and process for feedback speech instruction
US7933226B2 (en) * 2003-10-22 2011-04-26 Palo Alto Research Center Incorporated System and method for providing communication channels that each comprise at least one property dynamically changeable during social interactions
US20050091271A1 (en) * 2003-10-23 2005-04-28 Kasy Srinivas Systems and methods that schematize audio/video data
JP2005128782A (ja) 2003-10-23 2005-05-19 Canon Inc 情報処理装置および情報処理方法ならびにプログラム、記憶媒体
GB2407657B (en) 2003-10-30 2006-08-23 Vox Generation Ltd Automated grammar generator (AGG)
US20050152344A1 (en) 2003-11-17 2005-07-14 Leo Chiu System and methods for dynamic integration of a voice application with one or more Web services
US20050108754A1 (en) 2003-11-19 2005-05-19 Serenade Systems Personalized content application
US20050144002A1 (en) 2003-12-09 2005-06-30 Hewlett-Packard Development Company, L.P. Text-to-speech conversion with associated mood tag
CN1627311B (zh) 2003-12-10 2010-08-11 国际商业机器公司 服务提供商个性化对于客户的事件通知的方法和系统
KR100561228B1 (ko) 2003-12-23 2006-03-15 한국전자통신연구원 보이스엑스엠엘 문서를 엑스에이치티엠엘플러스보이스문서로 변환하기 위한 방법 및 이를 이용한 멀티모달서비스 시스템
US20050144022A1 (en) 2003-12-29 2005-06-30 Evans Lori M. Web-based system, method, apparatus and software to manage performance securely across an extended enterprise and between entities
US7552055B2 (en) * 2004-01-10 2009-06-23 Microsoft Corporation Dialog component re-use in recognition systems
US7430707B2 (en) 2004-01-13 2008-09-30 International Business Machines Corporation Differential dynamic content delivery with device controlling action
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
WO2005072405A2 (en) 2004-01-27 2005-08-11 Transpose, Llc Enabling recommendations and community by massively-distributed nearest-neighbor searching
US7542903B2 (en) * 2004-02-18 2009-06-02 Fuji Xerox Co., Ltd. Systems and methods for determining predictive models of discourse functions
US7430510B1 (en) 2004-03-01 2008-09-30 At&T Corp. System and method of using modular spoken-dialog components
US7617012B2 (en) 2004-03-04 2009-11-10 Yamaha Corporation Audio signal processing system
US7162502B2 (en) 2004-03-09 2007-01-09 Microsoft Corporation Systems and methods that synchronize data with representations of the data
US20050203887A1 (en) 2004-03-12 2005-09-15 Solix Technologies, Inc. System and method for seamless access to multiple data sources
US20050234894A1 (en) 2004-04-05 2005-10-20 Rene Tenazas Techniques for maintaining collections of generated web forms that are hyperlinked by subject
US7522549B2 (en) 2004-04-16 2009-04-21 Broadcom Corporation Registering access device multimedia content via a broadband access gateway
US20070282607A1 (en) 2004-04-28 2007-12-06 Otodio Limited System For Distributing A Text Document
KR100590553B1 (ko) * 2004-05-21 2006-06-19 삼성전자주식회사 대화체 운율구조 생성방법 및 장치와 이를 적용한음성합성시스템
US20050262119A1 (en) 2004-05-24 2005-11-24 Gary Mawdsley Data processing systems and methods
JP2005346747A (ja) 2004-05-31 2005-12-15 Pioneer Electronic Corp 情報再生装置
US7844045B2 (en) * 2004-06-16 2010-11-30 Panasonic Corporation Intelligent call routing and call supervision method for call centers
US8156123B2 (en) 2004-06-25 2012-04-10 Apple Inc. Method and apparatus for processing metadata
US20050288926A1 (en) 2004-06-25 2005-12-29 Benco David S Network support for wireless e-mail using speech-to-text conversion
US7478152B2 (en) 2004-06-29 2009-01-13 Avocent Fremont Corp. System and method for consolidating, securing and automating out-of-band access to nodes in a data network
KR20060004053A (ko) 2004-07-08 2006-01-12 삼성전자주식회사 오디오 파일의 재생모드 변경 장치 및 방법
US7540051B2 (en) 2004-08-20 2009-06-02 Spatial Systems, Inc. Mapping web sites based on significance of contact and category
US7406329B2 (en) 2004-09-04 2008-07-29 Varun Khurana Method and apparatus for subscribing and receiving personalized updates in a format customized for handheld mobile communication devices
US7433819B2 (en) * 2004-09-10 2008-10-07 Scientific Learning Corporation Assessing fluency based on elapsed time
US8086575B2 (en) 2004-09-23 2011-12-27 Rovi Solutions Corporation Methods and apparatus for integrating disparate media formats in a networked media system
US20060075224A1 (en) 2004-09-24 2006-04-06 David Tao System for activating multiple applications for concurrent operation
US20060085199A1 (en) 2004-10-19 2006-04-20 Yogendra Jain System and method for controlling the behavior of a device capable of speech recognition
US7735012B2 (en) 2004-11-04 2010-06-08 Apple Inc. Audio user interface for computing devices
US20060165104A1 (en) 2004-11-10 2006-07-27 Kaye Elazar M Content management interface
CN1773536A (zh) * 2004-11-11 2006-05-17 国际商业机器公司 生成话音纪要的方法、设备和系统
WO2006060744A2 (en) 2004-12-03 2006-06-08 Convoq, Inc. System and method of initiating an on-line meeting or teleconference via a web page link or a third party application
TW200620239A (en) * 2004-12-13 2006-06-16 Delta Electronic Inc Speech synthesis method capable of adjust prosody, apparatus, and its dialogue system
US7634492B2 (en) 2004-12-20 2009-12-15 Microsoft Corporation Aggregate data view
CA2571843C (en) 2004-12-27 2014-12-30 Bce Inc. Methods and systems for rendering voice mail messages amenable to electronic processing by mailbox owners
US20060155698A1 (en) 2004-12-28 2006-07-13 Vayssiere Julien J System and method for accessing RSS feeds
US8065604B2 (en) 2004-12-30 2011-11-22 Massachusetts Institute Of Technology Techniques for relating arbitrary metadata to media files
US20060168507A1 (en) 2005-01-26 2006-07-27 Hansen Kim D Apparatus, system, and method for digitally presenting the contents of a printed publication
US8347088B2 (en) 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US20060190616A1 (en) 2005-02-04 2006-08-24 John Mayerhofer System and method for aggregating, delivering and sharing audio content
US20060184679A1 (en) 2005-02-16 2006-08-17 Izdepski Erich J Apparatus and method for subscribing to a web logging service via a dispatch communication system
US7561677B2 (en) 2005-02-25 2009-07-14 Microsoft Corporation Communication conversion between text and audio
US7680835B2 (en) 2005-02-28 2010-03-16 Microsoft Corporation Online storage with metadata-based retrieval
US7627811B2 (en) 2005-03-04 2009-12-01 Hewlett-Packard Development Company, L.P. Content-based synchronization method and system for data streams
US7720935B2 (en) 2005-03-29 2010-05-18 Microsoft Corporation Storage aggregator
US20060282822A1 (en) 2005-04-06 2006-12-14 Guoqing Weng System and method for processing RSS data using rules and software agents
US7729478B1 (en) * 2005-04-12 2010-06-01 Avaya Inc. Change speed of voicemail playback depending on context
US20060242663A1 (en) * 2005-04-22 2006-10-26 Inclue, Inc. In-email rss feed delivery system, method, and computer program product
US7686215B2 (en) 2005-05-21 2010-03-30 Apple Inc. Techniques and systems for supporting podcasting
US20060282317A1 (en) 2005-06-10 2006-12-14 Outland Research Methods and apparatus for conversational advertising
US9104773B2 (en) 2005-06-21 2015-08-11 Microsoft Technology Licensing, Llc Finding and consuming web subscriptions in a web browser
US7610187B2 (en) * 2005-06-30 2009-10-27 International Business Machines Corporation Lingual translation of syndicated content feeds
US7587395B2 (en) 2005-07-27 2009-09-08 John Harney System and method for providing profile matching with an unstructured document
US9508077B2 (en) 2005-07-29 2016-11-29 At&T Intellectual Property I, L.P. Podcasting having inserted content distinct from the podcast content
US20070073725A1 (en) 2005-08-05 2007-03-29 Realnetworks, Inc. System and method for sharing personas
US7958131B2 (en) 2005-08-19 2011-06-07 International Business Machines Corporation Method for data management and data rendering for disparate data types
US8977636B2 (en) 2005-08-19 2015-03-10 International Business Machines Corporation Synthesizing aggregate data of disparate data types into data of a uniform data type
US20070043735A1 (en) 2005-08-19 2007-02-22 Bodin William K Aggregating data of disparate data types from disparate data sources
US8266220B2 (en) 2005-09-14 2012-09-11 International Business Machines Corporation Email management and rendering
US20070061711A1 (en) 2005-09-14 2007-03-15 Bodin William K Management and rendering of RSS content
US20070061712A1 (en) 2005-09-14 2007-03-15 Bodin William K Management and rendering of calendar data
US20070061132A1 (en) 2005-09-14 2007-03-15 Bodin William K Dynamically generating a voice navigable menu for synthesized data
US8103545B2 (en) 2005-09-14 2012-01-24 Jumptap, Inc. Managing payment for sponsored content presented to mobile communication facilities
US20070061371A1 (en) 2005-09-14 2007-03-15 Bodin William K Data customization for data of disparate data types
US20070078655A1 (en) 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. Report generation system with speech output
US20070077921A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Pushing podcasts to mobile devices
EP1941658A4 (en) 2005-10-20 2009-01-21 Viigo Inc ADMINISTRATION OF CONTENTS OF RESTRICTED EQUIPMENT
US20070091206A1 (en) 2005-10-25 2007-04-26 Bloebaum L S Methods, systems and computer program products for accessing downloadable content associated with received broadcast content
US7467353B2 (en) 2005-10-28 2008-12-16 Microsoft Corporation Aggregation of multi-modal devices
US20070100836A1 (en) 2005-10-28 2007-05-03 Yahoo! Inc. User interface for providing third party content as an RSS feed
US7793206B2 (en) 2005-11-02 2010-09-07 Creative Technology Ltd System for downloading digital content published in a media channel
US8756057B2 (en) 2005-11-02 2014-06-17 Nuance Communications, Inc. System and method using feedback speech analysis for improving speaking ability
US20070101313A1 (en) 2005-11-03 2007-05-03 Bodin William K Publishing synthesized RSS content as an audio file
US20070100629A1 (en) 2005-11-03 2007-05-03 Bodin William K Porting synthesized email data to audio files
US20070124458A1 (en) 2005-11-30 2007-05-31 Cisco Technology, Inc. Method and system for event notification on network nodes
US7657006B2 (en) 2005-12-15 2010-02-02 At&T Intellectual Property I, L.P. Messaging translation services
US8539590B2 (en) 2005-12-20 2013-09-17 Apple Inc. Protecting electronic devices from extended unauthorized use
US7817587B2 (en) 2005-12-22 2010-10-19 Sony Ericsson Mobile Communications, Ab Personal information management using content with embedded personal information manager data
US8271107B2 (en) 2006-01-13 2012-09-18 International Business Machines Corporation Controlling audio operation for data management and data rendering
US20070165538A1 (en) 2006-01-13 2007-07-19 Bodin William K Schedule-based connectivity management
US20070168194A1 (en) 2006-01-13 2007-07-19 Bodin William K Scheduling audio modalities for data management and data rendering
US20070174326A1 (en) 2006-01-24 2007-07-26 Microsoft Corporation Application of metadata to digital media
US7996754B2 (en) 2006-02-13 2011-08-09 International Business Machines Corporation Consolidated content management
US20070192673A1 (en) 2006-02-13 2007-08-16 Bodin William K Annotating an audio file with an audio hyperlink
US20070192683A1 (en) 2006-02-13 2007-08-16 Bodin William K Synthesizing the content of disparate data types
US7505978B2 (en) 2006-02-13 2009-03-17 International Business Machines Corporation Aggregating content of disparate data types from disparate data sources for single point access
US20070192674A1 (en) 2006-02-13 2007-08-16 Bodin William K Publishing content through RSS feeds
US9135339B2 (en) 2006-02-13 2015-09-15 International Business Machines Corporation Invoking an audio hyperlink
US20070192675A1 (en) 2006-02-13 2007-08-16 Bodin William K Invoking an audio hyperlink embedded in a markup document
US20070192676A1 (en) 2006-02-13 2007-08-16 Bodin William K Synthesizing aggregated data of disparate data types into data of a uniform data type with embedded audio hyperlinks
US7827289B2 (en) 2006-02-16 2010-11-02 Dell Products, L.P. Local transmission for content sharing
US20070214148A1 (en) 2006-03-09 2007-09-13 Bodin William K Invoking content management directives
US8849895B2 (en) 2006-03-09 2014-09-30 International Business Machines Corporation Associating user selected content management directives with user selected ratings
US8510277B2 (en) 2006-03-09 2013-08-13 International Business Machines Corporation Informing a user of a content management directive associated with a rating
US9037466B2 (en) 2006-03-09 2015-05-19 Nuance Communications, Inc. Email administration for rendering email on a digital audio player
US9361299B2 (en) 2006-03-09 2016-06-07 International Business Machines Corporation RSS content administration for rendering RSS content on a digital audio player
US9092542B2 (en) 2006-03-09 2015-07-28 International Business Machines Corporation Podcasting content associated with a user account
WO2007117626A2 (en) 2006-04-05 2007-10-18 Yap, Inc. Hosted voice recognition system for wireless devices
US7668369B2 (en) 2006-04-26 2010-02-23 Hewlett-Packard Development Company, L.P. Using camera metadata to classify images into scene type classes
US20070276837A1 (en) 2006-05-24 2007-11-29 Bodin William K Content subscription
US8286229B2 (en) 2006-05-24 2012-10-09 International Business Machines Corporation Token-based content subscription
US20070277088A1 (en) 2006-05-24 2007-11-29 Bodin William K Enhancing an existing web page
US20070276865A1 (en) 2006-05-24 2007-11-29 Bodin William K Administering incompatible content for rendering on a display screen of a portable media player
US7778980B2 (en) 2006-05-24 2010-08-17 International Business Machines Corporation Providing disparate content as a playlist of media files
US20080034278A1 (en) 2006-07-24 2008-02-07 Ming-Chih Tsou Integrated interactive multimedia playing system
US9196241B2 (en) 2006-09-29 2015-11-24 International Business Machines Corporation Asynchronous communications using messages recorded on handheld devices
US7831432B2 (en) 2006-09-29 2010-11-09 International Business Machines Corporation Audio menus describing media contents of media players
US20080162131A1 (en) 2007-01-03 2008-07-03 Bodin William K Blogcasting using speech recorded on a handheld recording device
US9318100B2 (en) 2007-01-03 2016-04-19 International Business Machines Corporation Supplementing audio recorded in a media file
US20080162559A1 (en) 2007-01-03 2008-07-03 Bodin William K Asynchronous communications regarding the subject matter of a media file stored on a handheld recording device
US7873520B2 (en) * 2007-09-18 2011-01-18 Oon-Gil Paik Method and apparatus for tagtoe reminders
US8594995B2 (en) 2008-04-24 2013-11-26 Nuance Communications, Inc. Multilingual asynchronous communications of speech messages recorded in digital media files

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020107A (en) 1989-12-04 1991-05-28 Motorola, Inc. Limited vocabulary speech recognition system
EP0817002A2 (en) * 1996-07-01 1998-01-07 International Business Machines Corporation Speech supported navigation of a pointer in a graphical user interface
KR20010071517A (ko) * 1998-06-17 2001-07-28 존 플레이스 지능형 텍스트/음성 합성
KR20030046494A (ko) * 2000-10-10 2003-06-12 인텔 코오퍼레이션 언어 독립적 음성-기반 검색 시스템
KR20040078888A (ko) * 2003-03-05 2004-09-13 마이크로소프트 코포레이션 사용자 입력에 기초한 데이터의 프리젠테이션
WO2004097684A1 (en) * 2003-04-25 2004-11-11 At & T Corp. System for low-latency animation of talking heads
EP1577797A2 (en) 2004-03-18 2005-09-21 Microsoft Corporation Rendering tables with natural language commands

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051252B1 (ko) 2006-03-09 2011-07-21 뉘앙스 커뮤니케이션즈, 인코포레이티드 디지털 오디오 플레이어에서 전자메일을 렌더링하기 위한 전자메일 관리용 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체

Also Published As

Publication number Publication date
US8694319B2 (en) 2014-04-08
US20070100628A1 (en) 2007-05-03
KR20070048118A (ko) 2007-05-08
CN101004806A (zh) 2007-07-25
CN101004806B (zh) 2011-11-02

Similar Documents

Publication Publication Date Title
KR100861860B1 (ko) 합성 데이터 음성 렌더링의 동적 운율 조정 방법, 시스템및 컴퓨터 프로그램 제품
US8266220B2 (en) Email management and rendering
US8271107B2 (en) Controlling audio operation for data management and data rendering
US20070061711A1 (en) Management and rendering of RSS content
US7958131B2 (en) Method for data management and data rendering for disparate data types
US20070192675A1 (en) Invoking an audio hyperlink embedded in a markup document
US20070061712A1 (en) Management and rendering of calendar data
US20070061132A1 (en) Dynamically generating a voice navigable menu for synthesized data
US20070192676A1 (en) Synthesizing aggregated data of disparate data types into data of a uniform data type with embedded audio hyperlinks
US20070168194A1 (en) Scheduling audio modalities for data management and data rendering
US8977636B2 (en) Synthesizing aggregate data of disparate data types into data of a uniform data type
US8849895B2 (en) Associating user selected content management directives with user selected ratings
US8510277B2 (en) Informing a user of a content management directive associated with a rating
US7505978B2 (en) Aggregating content of disparate data types from disparate data sources for single point access
US7996754B2 (en) Consolidated content management
US9092542B2 (en) Podcasting content associated with a user account
CA2627146A1 (en) Dynamic creation of user interfaces for data management and data rendering
US20070101313A1 (en) Publishing synthesized RSS content as an audio file
US20070165538A1 (en) Schedule-based connectivity management
US20070192674A1 (en) Publishing content through RSS feeds
US20070214148A1 (en) Invoking content management directives
US20070192683A1 (en) Synthesizing the content of disparate data types
US20070061371A1 (en) Data customization for data of disparate data types
US20070043735A1 (en) Aggregating data of disparate data types from disparate data sources
US20070100629A1 (en) Porting synthesized email data to audio files

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20061027

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20061113

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20061027

Comment text: Patent Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20071128

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20080829

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080929

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080929

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20110902

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20120824

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20120824

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130827

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130827

Start annual number: 6

End annual number: 6

LAPS Lapse due to unpaid annual fee