KR20140115697A - 사운드 가상화 방법 및 장치 - Google Patents

사운드 가상화 방법 및 장치 Download PDF

Info

Publication number
KR20140115697A
KR20140115697A KR1020130030601A KR20130030601A KR20140115697A KR 20140115697 A KR20140115697 A KR 20140115697A KR 1020130030601 A KR1020130030601 A KR 1020130030601A KR 20130030601 A KR20130030601 A KR 20130030601A KR 20140115697 A KR20140115697 A KR 20140115697A
Authority
KR
South Korea
Prior art keywords
sound
virtual
devices
virtual audio
mapping relationship
Prior art date
Application number
KR1020130030601A
Other languages
English (en)
Other versions
KR102028339B1 (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 한국전자통신연구원
Priority to KR1020130030601A priority Critical patent/KR102028339B1/ko
Priority to US14/038,214 priority patent/US20140287835A1/en
Publication of KR20140115697A publication Critical patent/KR20140115697A/ko
Application granted granted Critical
Publication of KR102028339B1 publication Critical patent/KR102028339B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Stereophonic System (AREA)

Abstract

사운드 가상화 방법 및 장치가 개시된다. 사운드 가상화 방법은, 가상 사운드 디바이스를 생성하는 단계, 오디오 디바이스를 기반으로 가상 오디오 디바이스를 생성하는 단계, 가상 사운드 디바이스에 의해 생성된 사운드와 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑 관계를 획득하는 단계, 매핑 관계를 기반으로 사운드를 메모리로부터 획득하는 단계, 및 사운드를 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력하는 단계를 포함한다. 따라서, 복수의 사용자에게 사운드를 제공할 수 있다.

Description

사운드 가상화 방법 및 장치{METHOD AND APPARATUS FOR VIRTUALIZATION OF SOUND}
본 발명은 가상화 기술에 관한 것으로, 더욱 상세하게는 사운드(sound)를 가상화하기 위한 사운드 가상화 방법 및 장치에 관한 것이다.
일반적으로 온라인 게임(online game)은 단일 서버(server)/클라이언트(client) 기반의 게임이며, 이는 높은 사양의 클라이언트 환경을 요구한다. 특히 클라이언트의 성능에 따라 제공되는 게임 서비스의 기능과 성능이 달라진다.
온라인 게임을 실행하기 위해, 클라이언트는 높은 사양을 가지는 프로세서(processor), 메모리(memory), 그래픽 카드(graphics card), 저장 공간 등을 필요로 하며, 이로 인해 불필요한 자원이 낭비되는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 사운드 디바이스의 가상화를 통해 복수의 사용자에게 사운드를 지원하기 위한 사운드 가상화 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 사운드 디바이스의 가상화를 통해 복수의 사용자에게 사운드를 지원하기 위한 사운드 가상화 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 사운드 가상화 방법은, 사운드 디바이스를 기반으로 복수의 가상 사운드 디바이스를 생성하는 단계, 상기 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성하는 단계, 상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑 관계를 획득하는 단계, 상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드를 상기 매핑 관계를 기반으로 메모리로부터 획득하는 단계, 및 상기 메모리로부터 획득한 사운드를 상기 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력하는 단계를 포함한다.
여기서, 상기 복수의 가상 사운드 디바이스를 생성하는 단계는, 사운드를 수신하는 단말의 수를 결정하는 단계, 및 결정된 상기 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성하는 단계를 더 포함할 수 있다.
여기서, 상기 복수의 가상 오디오 디바이스를 생성하는 단계는, 상기 복수의 가상 사운드 디바이스의 수와 동일한 개수의 가상 오디오 디바이스를 생성할 수 있다.
여기서, 상기 매핑 관계를 획득하는 단계는, 상기 복수의 가상 사운드 디바이스에 의해 생성된 각각의 사운드를 캡쳐하는 단계, 상기 복수의 가상 오디오 디바이스에 의해 출력되는 각각의 사운드를 캡쳐하는 단계, 및 상기 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 사운드와 상기 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 사운드 간의 대응 관계를 기반으로, 상기 매핑 관계를 획득하는 단계를 더 포함할 수 있다.
여기서, 상기 매핑 관계를 기반으로 메모리로부터 획득하는 단계는, 상기 매핑 관계를 기반으로, 상기 복수의 가상 오디오 디바이스를 통해 출력할 사운드가 저장된 메모리 주소를 획득하는 단계, 및 상기 메모리 주소에 저장된 사운드를 획득하는 단계를 더 포함할 수 있다.
여기서, 상기 사운드 가상화 방법은, 상기 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍하는 단계를 더 포함할 수 있다.
여기서, 상기 매핑 관계는, 상기 복수의 가상 사운드 디바이스에 의해 생성된 하나의 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 하나의 사운드 간의 일대일 매핑 관계일 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 사운드 가상화 장치는, 사운드 디바이스를 기반으로 복수의 가상 사운드 디바이스를 생성하고, 상기 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성하고, 상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑 관계를 획득하고, 상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드를 상기 매핑 관계를 기반으로 메모리로부터 획득하고, 상기 메모리로부터 획득한 사운드를 상기 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력하는 처리부, 및 상기 처리부에서 처리되는 정보 및 처리된 정보를 저장하는 저장부를 포함한다.
여기서, 상기 처리부는, 상기 복수의 가상 사운드 디바이스를 생성하는 경우, 사운드를 수신하는 단말의 수를 결정하고, 결정된 상기 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성할 수 있다.
여기서, 상기 처리부는, 상기 복수의 가상 오디오 디바이스를 생성하는 경우, 상기 복수의 가상 사운드 디바이스의 수와 동일한 개수의 가상 오디오 디바이스를 생성할 수 있다.
여기서, 상기 처리부는, 상기 매핑 관계를 획득하는 경우, 상기 복수의 가상 사운드 디바이스에 의해 생성된 각각의 사운드를 캡쳐하고, 상기 복수의 가상 오디오 디바이스에 의해 출력되는 각각의 사운드를 캡쳐하고, 상기 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 사운드와 상기 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 사운드 간의 대응 관계를 기반으로, 상기 매핑 관계를 획득할 수 있다.
여기서, 상기 처리부는, 상기 매핑 관계를 기반으로 사운드를 메모리로부터 획득하는 경우, 상기 매핑 관계를 기반으로, 상기 복수의 가상 오디오 디바이스를 통해 출력할 사운드가 저장된 메모리 주소를 획득하고, 상기 메모리 주소에 저장된 사운드를 획득할 수 있다.
여기서, 상기 처리부는, 상기 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍할 수 있다.
여기서, 상기 매핑 관계는, 상기 복수의 가상 사운드 디바이스에 의해 생성된 하나의 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 하나의 사운드 간의 일대일 매핑 관계일 수 있다.
본 발명에 의하면, 사운드 디바이스의 가상화를 통해 복수의 사용자에게 사운드를 제공할 수 있다.
도 1은 온라인 게임 시스템의 구성에 대한 일 실시예를 도시한 개념도이다.
도 2는 게임 서버의 구성에 대한 일 실시예를 도시한 블록도이다.
도 3은 온라인 게임의 제공 과정에 대한 일 실시예를 도시한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 사운드 가상화 방법을 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 사운드 가상화 방법에 있어서 가상 사운드 디바이스를 생성하는 과정을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 사운드 가상화 방법에 있어서 매핑 관계를 획득하는 과정을 도시한 흐름도이다.
도 7은 매핑 관계를 기반으로 사운드를 출력하는 과정에 대한 일 실시예를 도시한 개념도이다.
도 8은 본 발명의 일 실시예에 따른 사운드 가상화 방법에 있어서 메모리로부터 사운드를 획득하는 과정을 도시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 사운드 가상화 장치를 도시한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 온라인 게임 시스템의 구성에 대한 일 실시예를 도시한 개념도이다.
도 1을 참조하면, 게임 서버(game server)(10)는 적어도 하나의 단말(21, 22, …, 28, 29)과 유선 또는 무선을 통해 연결될 수 있다. 여기서, 단말(21, 22, …, 28, 29)은 클라이언트(client)가 사용하는 단말을 의미할 수 있다. 게임 서버(10)는 단말(21, 22, …, 28, 29)의 요청을 기반으로 온라인(online) 게임을 제공할 수 있다. 즉, 게임 서버(10)는 단말(21, 22, …, 28, 29)의 요청을 기반으로 게임 서버(10) 자체에서 게임을 실행할 수 있고, 실행되는 게임에 대한 실행 화면 정보와 실행되는 게임에 대한 사운드(sound) 정보를 단말(21, 22, …, 28, 29)에 제공할 수 있다. 이와 같은 구성을 통해, 단말(21, 22, …, 28, 29)은 자신의 사양(spec)에 관계없이 온라인 게임을 실행할 수 있다.
본 발명의 일 실시예에 따른 사운드 가상화 방법과 사운드 가상화 장치는 도 1에 도시된 온라인 게임 시스템에 적용될 수 있다.
여기서, 게임 서버(10)와 단말(21, 22, …, 28, 29)이 무선을 통해 연결되는 경우, 무선망(network)으로 WiFi(Wireless Fidelity)와 같은 무선인터넷, WiBro(Wireless Broadband Internet) 또는 WiMax(World Interoperability for Microwave Access)와 같은 휴대인터넷, GSM(Global System for Mobile communication) 또는 CDMA(Code Division Multiple Access)와 같은 2G 이동통신망, WCDMA(Wideband Code Division Multiple Access) 또는 CDMA2000과 같은 3G 이동통신망, HSDPA(High Speed Downlink Packet Access) 또는 HSUPA(High Speed Uplink Packet Access)와 같은 3.5G 이동통신망, 및 LTE(Long Term Evolution)망 또는 LTE-Advanced망과 같은 4G 이동통신망 등을 사용할 수 있다.
여기서, 단말(21, 22, …, 28, 29)은 통신이 가능한 데스크탑 컴퓨터(Desktop Computer), 랩탑 컴퓨터(Laptop Computer), 태블릿(Tablet) PC, 무선전화기(Wireless Phone), 모바일폰(Mobile Phone), 스마트폰(Smart Phone), e-book 리더기, PMP(Portable Multimedia Player), 휴대용 게임기, 네비게이션(Navigation) 장치, 디지털 카메라(Digital Camera), DMB (Digital Multimedia Broadcasting) 재생기, 디지털 음성 녹음기(Digital Audio Recorder), 디지털 음성 재생기(Digital Audio Player), 디지털 영상 녹화기(Digital Picture Recorder), 디지털 영상 재생기(Digital Picture Player), 디지털 동영상 녹화기(Digital Video Recorder), 디지털 동영상 재생기(Digital Video Player) 등을 의미할 수 있다.
도 2는 게임 서버의 구성에 대한 일 실시예를 도시한 블록도이다.
도 2를 참조하면, 게임 서버(10)는 제어부(11), 사용자 관리부(12), 게임 실행부(13), 게임 화면 처리부(14), 게임 사운드 처리부(15), 버퍼(buffer) 관리부(16), 데이터베이스(database)(17) 및 통신부(18)를 포함할 수 있다. 여기서, 제어부(11)는 게임 서버(10)에 포함된 각 구성의 동작을 제어할 수 있다.
사용자 관리부(12)는 사용자에 대한 정보를 관리할 수 있다. 예를 들어, 사용자 관리부(12)는 사용자의 로그인 정보, 해당 사용자가 사용하는 단말(20, 도 1 참조)의 해상도 정보 등을 관리할 수 있다.
게임 실행부(13)는 데이터베이스(17)에 저장된 게임 목록을 호출할 수 있고, 호출된 게임 목록을 로그인된 사용자의 단말(20)에 제공할 수 있다. 더불어, 게임 실행부(13)는 게임 목록 중 사용자에 의해 선택된 게임을 실행할 수 있다.
게임 화면 처리부(14)는 게임이 실행되는 동안 해당 게임의 실행 화면을 캡쳐(capture)할 수 있고, 캡쳐된 실행 화면을 단말에서 출력 가능한 형태로 인코딩(encoding)할 수 있다. 예를 들어, 게임 화면 처리부(14)는 단말의 해상도가 1024×768인 경우, 해당 게임의 실행 화면을 해상도 1024×768에 맞도록 인코딩할 수 있다. 또한, 게임 화면 처리부(14)는 인코딩된 게임의 실행 화면을 단말로 스트리밍(streaming) 할 수 있다.
게임 사운드 처리부(15)는 게임이 실행되는 동안 해당 게임의 사운드를 캡쳐할 수 있고, 캡쳐된 사운드를 단말로 스트리밍 할 수 있다.
버퍼 관리부(16)는 사용자의 단말(20)로부터 게임 선택 정보가 입력되는 경우, 프레임(frame) 버퍼 중 비어있는 공간에 해당 사용자에 의해 선택된 게임을 배치할 수 있다. 이때, 프레임 버퍼에 배치된 게임 정보는 사용자 테이블(table)에 기록될 수 있고, 게임 정보는 각 버퍼의 공간별로 기록될 수 있다. 또한, 버퍼 관리부(16)는 사용자 단말(20)의 요청에 따라 실행 중인 게임이 종료되는 경우, 해당 게임 정보를 프레임 버퍼에서 제거할 수 있고, 그 후 프레임 버퍼 공간을 재배치할 수 있다.
데이터베이스(17)는 사용자 DB, 게임 DB 등을 포함할 수 있다. 사용자 DB는 사용자의 로그인 정보, 사용자의 단말(20)에 대한 해상도 정보, 사용자에 의해 선택된 게임 정보 등을 포함할 수 있다. 게임 DB는 게임 서버(10)에서 제공 가능한 게임들 및 게임들에 대한 게임 목록 정보를 포함할 수 있다. 또한, 게임 DB는 게임 선택 정보, 게임의 실행 정보 등을 포함할 수 있다.
통신부(18)는 복수의 사용자 단말(20)과 유선 또는 무선으로 연결될 수 있으며, 복수의 사용자 단말(20)과 데이터를 송수신할 수 있다.
본 발명의 일 실시예에 따른 사운드 가상화 방법과 사운드 가상화 장치는 도 2에 도시된 게임 서버에 적용될 수 있다.
도 3은 온라인 게임의 제공 과정에 대한 일 실시예를 도시한 개념도이다.
도 3을 참조하면, 게임 서버(10)는 적어도 하나의 단말(21, 22, …, 28, 29)과 유선 또는 무선을 통해 연결될 수 있으며, 게임 서버(10)는 적어도 하나의 단말(21, 22, …, 28, 29)에 온라임 게임 서비스를 제공할 수 있다.
먼저, 사용자는 자신의 단말(21, 22, …, 28, 29)을 사용하여 게임 서버(10)에 접속할 수 있고(S100), 게임 서버(10)의 요청에 따라 사용자 ID, 단말(21, 22, …, 28, 29)의 해상도 정보 등을 게임 서버(10)에 제공할 수 있다(S101). 단말(21, 22, …, 28, 29)로부터 사용자 ID, 해상도 정보 등을 수신한 게임 서버(10)는, 사용자 인증 과정을 수행할 수 있고, 인증된 사용자의 단말(21, 22, …, 28, 29)에 게임 목록을 제공할 수 있다(S102). 여기서, 게임 목록은 게임 서버(10)가 제공하는 적어도 하나의 게임 정보를 포함할 수 있다. 사용자는 게임 목록에 포함된 게임을 선택할 수 있고, 선택된 게임 정보를 단말(21, 22, …, 28, 29)을 통해 게임 서버(10)에 제공할 수 있다(S103).
게임 서버(10)는 사용자에 의해 선택된 게임을 미리 설정된 화면 영역에 적재할 수 있다(S104). 예를 들어, 게임 서버(10)는 단말 1(21)에 대한 게임을 위치정보 1 영역에 적재할 수 있고, 단말 2(22)에 대한 게임을 위치정보 2 영역에 적재할 수 있고, 단말 n-1(28)에 대한 게임을 위치정보 n-1 영역에 적재할 수 있고, 단말 n(29)에 대한 게임을 위치정보 n 영역에 적재할 수 있다.
게임 서버(10)는 사운드 디바이스(device) 가상화를 통해 게임에 대한 사운드를 생성할 수 있다(S105). 복수의 단말(21, 22, …, 28, 29)에 온라인 게임 서비스를 제공하여야 하는 경우, 게임 서버(10)는 복수의 단말(21, 22, …, 28, 29)의 개수만큼 가상 사운드 디바이스를 생성할 수 있고, 생성된 가상 사운드 디바이스들을 통해 게임에 대한 사운드를 생성할 수 있다.
이때, 게임 서버(10)는 가상 사운드 디바이스 1(즉, 영역정보 1)을 통해 위치정보 1 영역에 적재된 게임에 대한 사운드를 생성할 수 있고, 가상 사운드 디바이스 2(즉, 영역정보 2)를 통해 위치정보 2 영역에 적재된 게임에 대한 사운드를 생성할 수 있고, 가상 사운드 디바이스 n-1(즉, 영역정보 n-1)을 통해 위치정보 n-1 영역에 적재된 게임에 대한 사운드를 생성할 수 있고, 가상 사운드 디바이스 n(즉, 영역정보 n)을 통해 위치정보 n 영역에 적재된 게임에 대한 사운드를 생성할 수 있다.
온라인 게임의 실행 중 사용자에 의해 발생한 이벤트(event)는 게임 서버(10)로 전송될 수 있고(S106), 게임 서버(10)는 사용자 이벤트를 기반으로 게임의 실행 화면과 게임의 사운드를 단말(21, 22, …, 28, 29)에 스트리밍할 수 있다(S107).
도 4는 본 발명의 일 실시예에 따른 사운드 가상화 방법을 도시한 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 사운드 가상화 방법은, 사운드 디바이스를 기반으로 복수의 가상 사운드 디바이스를 생성하는 단계(S200), 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오(audio) 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성하는 단계(S210), 복수의 가상 사운드 디바이스에 의해 생성된 사운드와 복수의 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑(mapping) 관계를 획득하는 단계(S220), 복수의 가상 사운드 디바이스에 의해 생성된 사운드를 매핑 관계를 기반으로 메모리(memory)로부터 획득하는 단계(S230) 및 메모리로부터 획득한 사운드를 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력하는 단계(S240)를 포함할 수 있다.
더불어, 본 발명의 일 실시예에 따른 사운드 가상화 방법은 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍하는 단계(S250)를 더 포함할 수 있다.
여기서, 사운드 디바이스는 사운드를 생성하기 위한 구성으로 물리적 구성인 사운드 카드(card)를 의미할 수 있으며, 가상 사운드 디바이스는 물리적 사운드 디바이스를 기초로 생성된 논리적 구성을 의미할 수 있다. 오디오 디바이스는 사운드 디바이스를 통해 생성된 사운드를 출력하기 위한 물리적 구성을 의미할 수 있으며, 가상 오디오 디바이스는 물리적 오디오 디바이스를 기초로 생성된 논리적 구성을 의미할 수 있다.
상기에서 설명한 각 단계는 도 9에 도시된 사운드 가상화 장치(30)에서 수행될 수 있으며, 사운드 가상화 장치(30)의 상세한 구성 및 그 기능에 대해서는 후술하도록 한다.
단계 S200에서, 사운드 가상화 장치는 사운드 디바이스를 기반으로 복수의 가상 사운드 디바이스를 생성할 수 있다. 이하 도 5를 참조하여 복수의 가상 사운드 디바이스를 생성하는 과정에 대해 상세하게 설명한다.
도 5는 본 발명의 일 실시예에 따른 사운드 가상화 방법에 있어서 가상 사운드 디바이스를 생성하는 과정을 도시한 흐름도이다.
도 5를 참조하면, 복수의 가상 사운드 디바이스를 생성하는 단계(S200)는, 사운드를 수신하는 단말의 수를 결정하는 단계(S201) 및 결정된 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성하는 단계(S202)를 포함할 수 있다.
단계 S201에서, 사운드 가상화 장치는 사운드를 수신하는 단말의 수를 결정할 수 있다. 즉, 사운드 가상화 장치는 게임 서버에 접속하여 온라인 게임을 실행하는(즉, 사운드를 수신하는) 단말의 수를 결정할 수 있다. 이때, 사운드 가상화 장치는 이전에 게임 서버에 접속하여 온라인 게임 서비스를 받은 단말의 수를 기초로 사운드를 수신할 단말의 수를 결정할 수 있다. 또한, 사운드 가상화 장치는 미리 등록된 사용자의 수에 기초하여 사운드를 수신할 단말의 수를 결정할 수 있다.
단계 S202에서, 사운드 가상화 장치는 단계 S201에서 결정된 단말의 수와 대응하도록 가상 사운드 디바이스를 생성할 수 있다. 즉, 사운드 가상화 장치는 단계 S201에서 결정된 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성할 수 있고, 단계 S201에서 결정된 단말의 수보다 미리 설정된 비율(예를 들어, 결정된 단말의 수의 10%)만큼 많은 개수의 가상 사운드 디바이스를 생성할 수 있고, 단계 S201에서 결정된 단말의 수보다 미리 설정된 비율(예를 들어, 결정된 단말의 수의 10%)만큼 적은 개수의 가상 사운드 디바이스를 생성할 수 있다.
상기에서 설명한 단계 S200을 통해 생성된 복수의 가상 사운드 디바이스는 고유의 인덱스(index)를 가질 수 있다. 예를 들어, 복수의 가상 사운드 디바이스는 가상 사운드 디바이스 1, 가상 사운드 디바이스 2, 가상 사운드 디바이스 3, …, 가상 사운드 디바이스 n 과 같이 표현될 수 있다.
여기서, 사운드를 제공할 단말이 n개 존재하는 경우, 가상 사운드 디바이스 1은 단말 1에 전송할 사운드를 생성하는 사운드 디바이스를 의미할 수 있고, 가상 사운드 디바이스 2는 단말 2에 전송할 사운드를 생성하는 사운드 디바이스를 의미할 수 있고, 가상 사운드 디바이스 3은 단말 3에 전송할 사운드를 생성하는 사운드 디바이스를 의미할 수 있다.
다시 도 4를 참조하면 단계 S210에서, 사운드 가상화 장치는 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성할 수 있다. 여기서, 사운드 가상화 장치는 복수의 가상 사운드 디바이스의 수와 동일한 개수의 가상 오디오 디바이스를 생성할 수 있다. 예를 들어, 단계 S200을 통해 생성된 가상 사운드 디바이스의 개수가 n개인 경우, 사운드 가상화 장치는 n개의 가상 오디오 디바이스를 생성할 수 있다.
단계 S210을 통해 생성된 복수의 가상 오디오 디바이스는 고유의 인덱스를 가질 수 있다. 예를 들어, 복수의 가상 오디오 디바이스는 가상 오디오 디바이스 1, 가상 오디오 디바이스 2, 가상 오디오 디바이스3, …, 가상 오디오 디바이스 n과 같이 표현될 수 있다.
또한, 각각의 가상 오디오 디바이스는 각각의 가상 사운드 디바이스와 대응될 수 있다. 예를 들어, 가상 오디오 디바이스 1은 가상 사운드 디바이스 1과 대응될 수 있고, 가상 오디오 디바이스 2는 가상 사운드 디바이스 2과 대응될 수 있고, 가상 오디오 디바이스 3은 가상 사운드 디바이스 3과 대응될 수 있다. 이는, 단말 n에 전송할 사운드는 가상 사운드 디바이스 n에 의해 생성될 수 있고, 가상 사운드 디바이스 n에 의해 생성된 사운드는 가상 오디오 디바이스 n을 통해 출력되는 것을 의미할 수 있다.
단계 S220에서, 사운드 가상화 장치는 복수의 가상 사운드 디바이스에 의해 생성된 사운드와 복수의 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑 관계를 획득할 수 있다. 이하 도 6을 참조하여 사운드들 간의 매핑 관계를 획득하는 과정에 대해 상세하게 설명한다.
도 6은 본 발명의 일 실시예에 따른 사운드 가상화 방법에 있어서 매핑 관계를 획득하는 과정을 도시한 흐름도이다.
도 6을 참조하면, 사운드들 간의 매핑 관계를 획득하는 단계(S220)는 복수의 가상 사운드 디바이스에 의해 생성된 각각의 사운드를 캡쳐하는 단계(S221), 복수의 가상 오디오 디바이스에 의해 출력되는 각각의 사운드를 캡쳐하는 단계(S222) 및 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 사운드와 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 사운드 간의 대응 관계를 기반으로, 매핑 관계를 획득하는 단계(S223)를 포함할 수 있다.
단계 S221에서, 사운드 가상화 장치는 복수의 가상 사운드 디바이스에 의해 생성된 각각의 사운드를 캡쳐할 수 있다. 예를 들어, 사운드 가상화 장치는 가상 사운드 디바이스 1에 의해 생성된 원시 사운드 1을 캡쳐할 수 있고, 가상 사운드 디바이스 2에 의해 생성된 원시 사운드 2를 캡쳐할 수 있고, 가상 사운드 디바이스 3에 의해 생성된 원시 사운드 3을 캡쳐할 수 있고, 가상 사운드 디바이스 n에 의해 생성된 원시 사운드 n을 캡쳐할 수 있다.
단계 S222에서, 사운드 가상화 장치는 복수의 가상 오디오 디바이스에 의해 출력되는 각각의 사운드를 캡쳐할 수 있다. 예를 들어, 사운드 가상화 장치는 가상 오디오 디바이스 1에 의해 출력되는 출력 사운드 1을 캡쳐할 수 있고, 가상 오디오 디바이스 2에 의해 출력되는 출력 사운드 2를 캡쳐할 수 있고, 가상 오디오 디바이스 3에 의해 출력되는 출력 사운드 3을 캡쳐할 수 있고, 가상 오디오 디바이스 n에 의해 출력되는 출력 사운드 n을 캡쳐할 수 있다.
단계 S223에서, 사운드 가상화 장치는 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 원시 사운드와 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 출력 사운드 간의 대응 관계를 기반으로, 매핑 관계를 획득할 수 있다. 즉, 사운드 가상화 장치는 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 원시 사운드와 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 출력 사운드 간의 동일 여부를 판단할 수 있고, 동일한 원시 사운드와 동일한 출력 사운드를 매핑할 수 있다.
예를 들어, 원시 사운드 1과 출력 사운드 3이 동일한 경우 원시 사운드 1과 출력 사운드 3을 매핑할 수 있고, 원시 사운드 2와 출력 사운드 1이 동일한 경우 원시 사운드 2와 출력 사운드 1을 매핑할 수 있고, 원시 사운드 3과 출력 사운드 2가 동일한 경우 원시 사운드 3과 출력 사운드 2를 매핑할 수 있다. 이와 같은 매핑 관계는 아래 표 1과 같이 매핑 테이블로 나타낼 수 있다.
Figure pat00001
이와 같은 매핑 과정은, 복수의 가상 사운드 디바이스와 복수의 가상 오디오 디바이스가 존재하는 환경에서, 가상 사운드 디바이스 n에 의해 생성된 원시 사운드 n이 반드시 가상 오디오 디바이스 n(즉, 가상 사운드 디바이스 n에 대응됨)에 의해 출력되지 않으므로, 가상 사운드 디바이스 n에 의해 생성된 원시 사운드 n을 가상 오디오 디바이스 n을 통해 출력하기 위해 필요하다.
상기에서 설명한 단계 S200, 단계 S210, 단계 S220은 온라인 게임 서비스를 단말에 제공하기 전에 수행되는 전처리 과정을 의미할 수 있다. 즉, 사운드 가상화 장치는 온라인 게임 서비스를 단말에 제공하기 전 테스트(test) 사운드를 사용하여 가상 사운드 디바이스와 가상 오디오 디바이스 간의 매핑 관계를 획득할 수 있고, 획득된 매핑 관계를 사용하여 온라인 게임 서비스를 단말에 제공할 수 있다.
이하 도 7을 참조하여, 단계 S200, 단계 S210, 단계 S220에 대해 추가적으로 설명한다.
도 7은 매핑 관계를 기반으로 사운드를 출력하는 과정에 대한 일 실시예를 도시한 개념도이다.
도 7을 참조하면, '부호 300'은 단계 S200, 단계 S210, 단계 S220을 통해 수행되는 과정을 도시한 것이고, '부호 400'은 단계 S230, 단계 S240, 단계 S250, 단계 S260을 통해 수행되는 과정을 도시한 것이다.
사운드 가상화 장치는 단계 S200을 통해 복수의 가상 사운드 디바이스(310)를 생성할 수 있고, 단계 S210을 통해 복수의 가상 오디오 디바이스(320)를 생성할 수 있다. 그 후, 사운드 가상화 장치는 복수의 가상 사운드 디바이스(310)에 의해 생성된 각각의 원시 사운드와 복수의 가상 오디오 디바이스(320)에 의해 생성된 각각의 출력 사운드 간의 동일 여부를 기반으로, 복수의 가상 사운드 디바이스(310)와 복수의 가상 오디오 디바이스(320) 간의 매핑 관계를 획득할 수 있다.
예를 들어, 가상 사운드 디바이스 1에 의해 생성된 원시 사운드 1과 가상 오디오 디바이스 3에 의해 출력되는 출력 사운드 3이 동일한 경우, 사운드 가상화 장치는 가상 사운드 디바이스 1과 가상 오디오 디바이스 3을 매핑할 수 있다. 가상 사운드 디바이스 2에 의해 생성된 원시 사운드 2와 가상 오디오 디바이스 1에 의해 출력되는 출력 사운드 1이 동일한 경우, 사운드 가상화 장치는 가상 사운드 디바이스 2와 가상 오디오 디바이스 1을 매핑할 수 있다. 가상 사운드 디바이스 3에 의해 생성된 원시 사운드 3과 가상 오디오 디바이스 2에 의해 출력되는 출력 사운드 2가 동일한 경우, 사운드 가상화 장치는 가상 사운드 디바이스 3과 가상 오디오 디바이스 2를 매핑할 수 있다.
다시 도 4를 참조하면 단계 S230에서, 사운드 가상화 장치는 매핑 관계를 기반으로 메모리로부터 사운드를 획득할 수 있다. 이하 도 8을 참조하여 메모리로부터 사운드를 획득하는 과정에 대해 상세하게 설명한다.
도 8은 본 발명의 일 실시예에 따른 사운드 가상화 방법에 있어서 메모리로부터 사운드를 획득하는 과정을 도시한 흐름도이다.
도 8을 참조하면, 매핑 관계를 기반으로 메모리로부터 사운드를 획득하는 단계(S230)는 매핑 관계를 기반으로, 복수의 가상 오디오 디바이스를 통해 출력할 사운드가 저장된 메모리 주소를 획득하는 단계(S231) 및 메모리 주소에 저장된 사운드를 획득하는 단계(S232)를 포함할 수 있다.
단계 S231에서, 사운드 가상화 장치는 매핑 관계를 기반으로, 복수의 가상 오디오 디바이스를 통해 출력할 사운드가 저장된 메모리 주소를 획득할 수 있다.
상기에서 설명한 표 1을 참조하면, 가상 사운드 디바이스 1은 가상 오디오 디바이스 3과 매핑되므로, 사운드 가상화 장치는 가상 오디오 디바이스 1을 통해 출력할 사운드가 저장된 메모리 주소로 메모리 3을 획득할 수 있다. 가상 사운드 디바이스 2는 가상 오디오 1과 매핑되므로, 사운드 가상화 장치는 가상 오디오 디바이스 2를 통해 출력할 사운드가 저장된 메모리 주소로 메모리 1을 획득할 수 있다. 가상 사운드 디바이스 3은 가상 오디오 디바이스 2와 매핑되므로, 사운드 가상화 장치는 가상 오디오 디바이스 3을 통해 출력할 사운드가 저장된 메모리 주소로 메모리 2를 획득할 수 있다.
여기서, 메모리는 복수의 가상 사운드 디바이스의 개수와 동일하게 분류될 수 있으며, 하나의 가상 사운드 디바이스에 의해 생성된 사운드는 하나의 메모리에 저장될 수 있다. 이때, 분류된 메모리는 고유의 인덱스(예를 들어, 메모리 1, 메모리 2, 메모리 3, … ,메모리 n)를 가질 수 있으며, 각각의 가상 사운드 디바이스에 의해 생성된 사운드는 임의의 메모리에 저장될 수 있다.
단계 S232에서, 사운드 가상화 장치는 메모리 주소에 저장된 사운드를 획득할 수 있다. 상기 단계 S231에서 설명한 내용을 참조하면, 사운드 가상화 장치는 가상 오디오 디바이스 1을 통해 출력할 사운드를 메모리 3으로부터 획득할 수 있고, 가상 오디오 디바이스 2를 통해 출력할 사운드를 메모리 1로부터 획득할 수 있고, 가상 오디오 디바이스 3을 통해 출력할 사운드를 메모리 2로부터 획득할 수 있다.
단계 S240에서, 사운드 가상화 장치는 메모리로부터 획득한 사운드를 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력할 수 있다. 상기 단계 S232에서 설명한 내용을 참조하면, 사운드 가상화 장치는 메모리 3으로부터 획득한 사운드를 가상 오디오 디바이스 1을 통해 출력할 수 있고, 메모리 1로부터 획득한 사운드를 가상 오디오 디바이스 2를 통해 출력할 수 있고, 메모리 2로부터 획득한 사운드를 가상 오디오 디바이스 3을 통해 출력할 수 있다.
단계 S250에서, 사운드 가상화 장치는 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍할 수 있다. 상기 단계 S240에서 설명한 내용을 참조하면, 사운드 가상화 장치는 가상 오디오 디바이스 1을 통해 출력되는 사운드를 해당 단말(즉, 가상 오디오 디바이스 1에 대응된 단말)로 스트리밍할 수 있고, 가상 오디오 디바이스 2를 통해 출력되는 사운드를 해당 단말(즉, 가상 오디오 디바이스 2에 대응된 단말)로 스트리밍할 수 있고, 가상 오디오 디바이스 3을 통해 출력되는 사운드를 해당 단말(즉, 가상 오디오 디바이스 3에 대응된 단말)로 스트리밍할 수 있다.
다시 도 7을 참조하면, 사운드 가상화 장치는 매핑 테이블(420)을 사용하여 메모리(430)에 저장된 사운드를 획득할 수 있고, 획득된 사운드를 매핑 관계에 대응된 가상 오디오 디바이스(410)를 통해 출력할 수 있고, 출력된 사운드를 해당 단말로 스트리밍할 수 있다.
본 발명에 따른 사운드 가상화 방법은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 9는 본 발명의 일 실시예에 따른 사운드 가상화 장치를 도시한 블록도이다.
도 9를 참조하면, 사운드 가상화 장치(30)는 처리부(31) 및 저장부(32)를 포함할 수 있다.
처리부(31)는 사운드 디바이스를 기반으로 복수의 가상 사운드 디바이스를 생성할 수 있고, 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성할 수 있고, 복수의 가상 사운드 디바이스에 의해 생성된 사운드와 복수의 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑 관계를 획득할 수 있고, 복수의 가상 사운드 디바이스에 의해 생성된 사운드를 매핑 관계를 기반으로 메모리로부터 획득할 수 있고, 메모리로부터 획득한 사운드를 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력할 수 있다.
더불어, 처리부(31)는 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍 할 수 있다.
여기서, 사운드 디바이스는 사운드를 생성하기 위한 구성으로 물리적 구성인 사운드 카드를 의미할 수 있으며, 가상 사운드 디바이스는 물리적 사운드 디바이스를 기초로 생성된 논리적 구성을 의미할 수 있다. 오디오 디바이스는 사운드 디바이스를 통해 생성된 사운드를 출력하기 위한 물리적 구성을 의미할 수 있으며, 가상 오디오 디바이스는 물리적 오디오 디바이스를 기초로 생성된 논리적 구성을 의미할 수 있다.
복수의 가상 사운드 디바이스를 생성하는 경우, 처리부(31)는 사운드를 수신하는 단말의 수를 결정할 수 있고, 결정된 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성할 수 있다.
구체적으로, 처리부(31)는 게임 서버에 접속하여 온라인 게임을 실행하는(즉, 사운드를 수신하는) 단말의 수를 결정할 수 있다. 이때, 처리부(31)는 이전에 게임 서버에 접속하여 온라인 게임 서비스를 받은 단말의 수를 기초로 사운드를 수신할 단말의 수를 결정할 수 있다. 또한, 처리부(31)는 미리 등록된 사용자의 수에 기초하여 사운드를 수신할 단말의 수를 결정할 수 있다.
처리부(31)는 결정된 단말의 수와 대응하도록 가상 사운드 디바이스를 생성할 수 있다. 즉, 처리부(31)는 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성할 수 있고, 단말의 수보다 미리 설정된 비율(예를 들어, 결정된 단말의 수의 10%)만큼 많은 개수의 가상 사운드 디바이스를 생성할 수 있고, 단말의 수보다 미리 설정된 비율(예를 들어, 결정된 단말의 수의 10%)만큼 적은 개수의 가상 사운드 디바이스를 생성할 수 있다.
이와 같은 과정을 통해 생성된 복수의 가상 사운드 디바이스는 고유의 인덱스(index)를 가질 수 있다. 예를 들어, 복수의 가상 사운드 디바이스는 가상 사운드 디바이스 1, 가상 사운드 디바이스 2, 가상 사운드 디바이스 3, …, 가상 사운드 디바이스 n 과 같이 표현될 수 있다.
여기서, 사운드를 제공할 단말이 n개 존재하는 경우, 가상 사운드 디바이스 1은 단말 1에 전송할 사운드를 생성하는 사운드 디바이스를 의미할 수 있고, 가상 사운드 디바이스 2는 단말 2에 전송할 사운드를 생성하는 사운드 디바이스를 의미할 수 있고, 가상 사운드 디바이스 3은 단말 3에 전송할 사운드를 생성하는 사운드 디바이스를 의미할 수 있다.
한편, 처리부(31)는 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성할 수 있다. 여기서, 처리부(31)는 복수의 가상 사운드 디바이스의 수와 동일한 개수의 가상 오디오 디바이스를 생성할 수 있다. 예를 들어, 가상 사운드 디바이스의 개수가 n개인 경우, 처리부(31)는 n개의 가상 오디오 디바이스를 생성할 수 있다.
이와 같은 과정을 통해 생성된 복수의 가상 오디오 디바이스는 고유의 인덱스를 가질 수 있다. 예를 들어, 복수의 가상 오디오 디바이스는 가상 오디오 디바이스 1, 가상 오디오 디바이스 2, 가상 오디오 디바이스3, …, 가상 오디오 디바이스 n과 같이 표현될 수 있다.
또한, 각각의 가상 오디오 디바이스는 각각의 가상 사운드 디바이스와 대응될 수 있다. 예를 들어, 가상 오디오 디바이스 1은 가상 사운드 디바이스 1과 대응될 수 있고, 가상 오디오 디바이스 2는 가상 사운드 디바이스 2와 대응될 수 있고, 가상 오디오 디바이스 3은 가상 사운드 디바이스 3과 대응될 수 있다. 이는, 단말 n에 전송할 사운드는 가상 사운드 디바이스 n에 의해 생성될 수 있고, 가상 사운드 디바이스 n에 의해 생성된 사운드는 가상 오디오 디바이스 n을 통해 출력되는 것을 의미할 수 있다.
한편, 사운드들 간의 매핑 관계를 획득하는 경우, 처리부(31)는 복수의 가상 사운드 디바이스에 의해 생성된 각각의 사운드를 캡쳐할 수 있고, 복수의 가상 오디오 디바이스에 의해 출력되는 각각의 사운드를 캡쳐할 수 있고, 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 사운드와 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 사운드 간의 대응 관계를 기반으로, 매핑 관계를 획득할 수 있다.
예를 들어, 처리부(31)는 가상 사운드 디바이스 1에 의해 생성된 원시 사운드 1을 캡쳐할 수 있고, 가상 사운드 디바이스 2에 의해 생성된 원시 사운드 2를 캡쳐할 수 있고, 가상 사운드 디바이스 3에 의해 생성된 원시 사운드 3을 캡쳐할 수 있고, 가상 사운드 디바이스 n에 의해 생성된 원시 사운드 n을 캡쳐할 수 있다.
또한, 처리부(31)는 가상 오디오 디바이스 1에 의해 출력되는 출력 사운드 1을 캡쳐할 수 있고, 가상 오디오 디바이스 2에 의해 출력되는 출력 사운드 2를 캡쳐할 수 있고, 가상 오디오 디바이스 3에 의해 출력되는 출력 사운드 3을 캡쳐할 수 있고, 가상 오디오 디바이스 n에 의해 출력되는 출력 사운드 n을 캡쳐할 수 있다.
처리부(31)는 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 원시 사운드와 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 출력 사운드 간의 동일 여부를 판단할 수 있고, 동일한 원시 사운드와 동일한 출력 사운드를 매핑할 수 있다.
예를 들어, 원시 사운드 1과 출력 사운드 3이 동일한 경우 원시 사운드 1과 출력 사운드 3을 매핑할 수 있고, 원시 사운드 2와 출력 사운드 1이 동일한 경우 원시 사운드 2와 출력 사운드 1을 매핑할 수 있고, 원시 사운드 3과 출력 사운드 2가 동일한 경우 원시 사운드 3과 출력 사운드 2를 매핑할 수 있다. 이와 같은 매핑 관계는 상기 표 1과 같이 매핑 테이블로 나타낼 수 있다.
매핑 관계를 기반으로 메모리로부터 사운드를 획득하는 경우, 처리부(31)는 매핑 관계를 기반으로, 복수의 가상 오디오 디바이스를 통해 출력할 사운드가 저장된 메모리 주소를 획득할 수 있고, 메모리 주소에 저장된 사운드를 획득할 수 있다.
상기에서 설명한 표 1을 참조하면, 가상 사운드 디바이스 1은 가상 오디오 디바이스 3과 매핑되므로, 처리부(31)는 가상 오디오 디바이스 1을 통해 출력할 사운드가 저장된 메모리 주소로 메모리 3을 획득할 수 있다. 가상 사운드 디바이스 2는 가상 오디오 1과 매핑되므로, 처리부(31)는 가상 오디오 디바이스 2를 통해 출력할 사운드가 저장된 메모리 주소로 메모리 1을 획득할 수 있다. 가상 사운드 디바이스 3은 가상 오디오 디바이스 2와 매핑되므로, 처리부(31)는 가상 오디오 디바이스 3을 통해 출력할 사운드가 저장된 메모리 주소로 메모리 2를 획득할 수 있다.
여기서, 메모리는 복수의 가상 사운드 디바이스의 개수와 동일하게 분류될 수 있으며, 하나의 가상 사운드 디바이스에 의해 생성된 사운드는 하나의 메모리에 저장될 수 있다. 이때, 분류된 메모리는 고유의 인덱스(예를 들어, 메모리 1, 메모리 2, 메모리 3, … ,메모리 n)를 가질 수 있으며, 각각의 가상 사운드 디바이스에 의해 생성된 사운드는 임의의 메모리에 저장될 수 있다.
처리부(31)는 메모리 주소에 저장된 사운드를 획득할 수 있다. 상기에서 설명한 내용을 참조하면, 가상 오디오 디바이스 1을 통해 출력할 사운드를 메모리 3으로부터 획득할 수 있고, 가상 오디오 디바이스 2를 통해 출력할 사운드를 메모리 1로부터 획득할 수 있고, 가상 오디오 디바이스 3을 통해 출력할 사운드를 메모리 2로부터 획득할 수 있다.
처리부(31)는 메모리로부터 획득한 사운드를 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력할 수 있다. 상기에서 설명한 내용을 참조하면, 처리부(31)는 메모리 3으로부터 획득한 사운드를 가상 오디오 디바이스 1을 통해 출력할 수 있고, 메모리 1로부터 획득한 사운드를 가상 오디오 디바이스 2를 통해 출력할 수 있고, 메모리 2로부터 획득한 사운드를 가상 오디오 디바이스 3을 통해 출력할 수 있다.
처리부(31)는 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍할 수 있다. 상기에서 설명한 내용을 참조하면, 처리부(31)는 가상 오디오 디바이스 1을 통해 출력되는 사운드를 해당 단말(즉, 가상 오디오 디바이스 1에 대응된 단말)로 스트리밍할 수 있고, 가상 오디오 디바이스 2를 통해 출력되는 사운드를 해당 단말(즉, 가상 오디오 디바이스 2에 대응된 단말)로 스트리밍할 수 있고, 가상 오디오 디바이스 3을 통해 출력되는 사운드를 해당 단말(즉, 가상 오디오 디바이스 3에 대응된 단말)로 스트리밍할 수 있다.
여기서, 처리부(31)는 프로세서(processor) 및 메모리를 포함할 수 있다. 프로세서는 범용의 프로세서(예를 들어, CPU(Central Processing Unit) 등) 또는 사운드 가상화 방법의 수행을 위한 전용의 프로세서를 의미할 수 있다. 메모리에는 사운드 가상화 방법의 수행을 위한 프로그램 코드(program code)가 저장될 수 있다. 즉, 프로세서는 메모리에 저장된 프로그램 코드를 독출할 수 있고, 독출된 프로그램 코드를 기반으로 사운드 가상화 방법의 각 단계를 수행할 수 있다.
저장부(32)는 처리부(31)에서 처리되는 정보 및 처리된 정보를 저장할 수 있다. 즉, 저장부(32)는 복수의 가상 사운드 디바이스에 대한 정보, 복수의 가상 오디오 디바이스에 대한 정보, 메모리에 대한 정보, 매핑 관계에 대한 정보 등을 저장할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
30: 사운드 가상화 장치
31: 처리부
32: 저장부

Claims (14)

  1. 사운드 디바이스(device)를 기반으로 복수의 가상 사운드 디바이스를 생성하는 단계;
    상기 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오(audio) 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성하는 단계;
    상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑(mapping) 관계를 획득하는 단계;
    상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드를 상기 매핑 관계를 기반으로 메모리(memory)로부터 획득하는 단계; 및
    상기 메모리로부터 획득한 사운드를 상기 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력하는 단계를 포함하는 것을 특징으로 하는 사운드 가상화 방법.
  2. 청구항 1에 있어서,
    상기 복수의 가상 사운드 디바이스를 생성하는 단계는,
    사운드를 수신하는 단말의 수를 결정하는 단계; 및
    결정된 상기 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성하는 단계를 더 포함하는 것을 특징으로 하는 사운드 가상화 방법.
  3. 청구항 1에 있어서,
    상기 복수의 가상 오디오 디바이스를 생성하는 단계는,
    상기 복수의 가상 사운드 디바이스의 수와 동일한 개수의 가상 오디오 디바이스를 생성하는 것을 특징으로 하는 사운드 가상화 방법.
  4. 청구항 1에 있어서,
    상기 매핑 관계를 획득하는 단계는,
    상기 복수의 가상 사운드 디바이스에 의해 생성된 각각의 사운드를 캡쳐(capture)하는 단계;
    상기 복수의 가상 오디오 디바이스에 의해 출력되는 각각의 사운드를 캡쳐하는 단계; 및
    상기 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 사운드와 상기 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 사운드 간의 대응 관계를 기반으로, 상기 매핑 관계를 획득하는 단계를 더 포함하는 것을 특징으로 하는 사운드 가상화 방법.
  5. 청구항 1에 있어서,
    상기 매핑 관계를 기반으로 메모리로부터 획득하는 단계는,
    상기 매핑 관계를 기반으로, 상기 복수의 가상 오디오 디바이스를 통해 출력할 사운드가 저장된 메모리 주소를 획득하는 단계; 및
    상기 메모리 주소에 저장된 사운드를 획득하는 단계를 더 포함하는 것을 특징으로 하는 사운드 가상화 방법.
  6. 청구항 1에 있어서,
    상기 사운드 가상화 방법은,
    상기 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍(streaming)하는 단계를 더 포함하는 것을 특징으로 하는 사운드 가상화 방법.
  7. 청구항 1에 있어서,
    상기 매핑 관계는,
    상기 복수의 가상 사운드 디바이스에 의해 생성된 하나의 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 하나의 사운드 간의 일대일 매핑 관계인 것을 특징으로 하는 사운드 가상화 방법.
  8. 사운드 디바이스(device)를 기반으로 복수의 가상 사운드 디바이스를 생성하고, 상기 사운드 디바이스에 의해 생성된 사운드를 출력하는 오디오(audio) 디바이스를 기반으로 복수의 가상 오디오 디바이스를 생성하고, 상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 사운드 간의 매핑(mapping) 관계를 획득하고, 상기 복수의 가상 사운드 디바이스에 의해 생성된 사운드를 상기 매핑 관계를 기반으로 메모리(memory)로부터 획득하고, 상기 메모리로부터 획득한 사운드를 상기 매핑 관계에 대응된 각각의 가상 오디오 디바이스를 통해 출력하는 처리부; 및
    상기 처리부에서 처리되는 정보 및 처리된 정보를 저장하는 저장부를 포함하는 것을 특징으로 하는 사운드 가상화 장치.
  9. 청구항 8에 있어서,
    상기 처리부는,
    상기 복수의 가상 사운드 디바이스를 생성하는 경우, 사운드를 수신하는 단말의 수를 결정하고, 결정된 상기 단말의 수와 동일한 개수의 가상 사운드 디바이스를 생성하는 것을 특징으로 하는 사운드 가상화 장치.
  10. 청구항 8에 있어서,
    상기 처리부는,
    상기 복수의 가상 오디오 디바이스를 생성하는 경우, 상기 복수의 가상 사운드 디바이스의 수와 동일한 개수의 가상 오디오 디바이스를 생성하는 것을 특징으로 하는 사운드 가상화 장치.
  11. 청구항 8에 있어서,
    상기 처리부는,
    상기 매핑 관계를 획득하는 경우, 상기 복수의 가상 사운드 디바이스에 의해 생성된 각각의 사운드를 캡쳐(capture)하고, 상기 복수의 가상 오디오 디바이스에 의해 출력되는 각각의 사운드를 캡쳐하고, 상기 복수의 가상 사운드 디바이스에서 캡쳐된 각각의 사운드와 상기 복수의 가상 오디오 디바이스에서 캡쳐된 각각의 사운드 간의 대응 관계를 기반으로, 상기 매핑 관계를 획득하는 것을 특징으로 하는 사운드 가상화 장치.
  12. 청구항 8에 있어서,
    상기 처리부는,
    상기 매핑 관계를 기반으로 사운드를 메모리로부터 획득하는 경우, 상기 매핑 관계를 기반으로, 상기 복수의 가상 오디오 디바이스를 통해 출력할 사운드가 저장된 메모리 주소를 획득하고, 상기 메모리 주소에 저장된 사운드를 획득하는 것을 특징으로 하는 사운드 가상화 장치.
  13. 청구항 8에 있어서,
    상기 처리부는,
    상기 각각의 가상 오디오 디바이스를 통해 출력되는 사운드를 단말로 스트리밍(streaming)하는 것을 특징으로 하는 사운드 가상화 장치.
  14. 청구항 8에 있어서,
    상기 매핑 관계는,
    상기 복수의 가상 사운드 디바이스에 의해 생성된 하나의 사운드와 상기 복수의 가상 오디오 디바이스에 의해 출력되는 하나의 사운드 간의 일대일 매핑 관계인 것을 특징으로 하는 사운드 가상화 장치.
KR1020130030601A 2013-03-22 2013-03-22 사운드 가상화 방법 및 장치 KR102028339B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130030601A KR102028339B1 (ko) 2013-03-22 2013-03-22 사운드 가상화 방법 및 장치
US14/038,214 US20140287835A1 (en) 2013-03-22 2013-09-26 Sound virtualization method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130030601A KR102028339B1 (ko) 2013-03-22 2013-03-22 사운드 가상화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140115697A true KR20140115697A (ko) 2014-10-01
KR102028339B1 KR102028339B1 (ko) 2019-10-04

Family

ID=51569532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130030601A KR102028339B1 (ko) 2013-03-22 2013-03-22 사운드 가상화 방법 및 장치

Country Status (2)

Country Link
US (1) US20140287835A1 (ko)
KR (1) KR102028339B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060076783A (ko) * 2003-09-20 2006-07-04 코닌클리케 필립스 일렉트로닉스 엔.브이. 네트워크 기반 게이밍 시스템
WO2010141492A1 (en) * 2009-06-01 2010-12-09 Andrew Buchanan Gault Game execution environments
US20120246355A1 (en) * 2011-03-23 2012-09-27 Scragg Jr Anthony K Method and System for Audio Device Virtualization
KR20130011436A (ko) * 2011-07-21 2013-01-30 주식회사 케이티 클라우드 게임 서비스 제공 시스템 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283635B1 (en) * 1999-12-09 2007-10-16 Plantronics, Inc. Headset with memory
US8559646B2 (en) * 2006-12-14 2013-10-15 William G. Gardner Spatial audio teleconferencing
US9497544B2 (en) * 2012-07-02 2016-11-15 Qualcomm Incorporated Systems and methods for surround sound echo reduction
US9154877B2 (en) * 2012-11-28 2015-10-06 Qualcomm Incorporated Collaborative sound system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060076783A (ko) * 2003-09-20 2006-07-04 코닌클리케 필립스 일렉트로닉스 엔.브이. 네트워크 기반 게이밍 시스템
WO2010141492A1 (en) * 2009-06-01 2010-12-09 Andrew Buchanan Gault Game execution environments
US20120246355A1 (en) * 2011-03-23 2012-09-27 Scragg Jr Anthony K Method and System for Audio Device Virtualization
KR20130011436A (ko) * 2011-07-21 2013-01-30 주식회사 케이티 클라우드 게임 서비스 제공 시스템 및 방법

Also Published As

Publication number Publication date
KR102028339B1 (ko) 2019-10-04
US20140287835A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
US10601891B2 (en) Cloud streaming service system and cloud streaming service method for utilizing an optimal GPU for video decoding based on resource conditions, and apparatus for the same
US10165058B2 (en) Dynamic local function binding apparatus and method
CN105827484B (zh) 一种测试画面同步显示方法及系统
US9143811B2 (en) System and method for providing cloud game service
WO2018107719A1 (zh) 数据分享方法、装置、终端设备和服务器
US20170201563A1 (en) Video data providing method, video playback method, device, and system
US20190114989A1 (en) Systems and methods for image optimization
CN108965430A (zh) 图片获取方法、装置、计算机设备及存储介质
US20170237816A1 (en) Method and electronic device for identifying device
US8972968B1 (en) Alternate service for applications
CN109670126B (zh) 一种跨境访问加速方法及装置
CA2908087A1 (en) Systems and methods for providing an emulator
US9286247B2 (en) System, method, and computer program product for determining settings for a device by utilizing a directed acyclic graph containing a plurality of directed nodes each with an associated speed and image quality
US20160197974A1 (en) Cloud streaming service system, and method and apparatus for providing cloud streaming service
US9251359B2 (en) Method and apparatus for managing crowd sourced content creation
US9348825B2 (en) Server and method for causing terminal to display screen
CN108965295B (zh) 一种文件压缩合并方法及相关装置
US10509826B2 (en) Server device, client device, information processing method, and recording medium
US9088631B2 (en) Game streaming system and method of supporting the multiuser and multiplatform
KR20160131827A (ko) 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102028339B1 (ko) 사운드 가상화 방법 및 장치
CN113676748A (zh) 一种云游戏截屏互动的方法及系统
CN113467823A (zh) 一种配置信息的获取方法、装置、系统及存储介质
RU2595763C2 (ru) Способ и устройство менеджмента загрузки на базе браузера android
US20170171376A1 (en) Method and electronic device for displaying information

Legal Events

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