KR101211573B1 - 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법 - Google Patents

커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법 Download PDF

Info

Publication number
KR101211573B1
KR101211573B1 KR1020110040945A KR20110040945A KR101211573B1 KR 101211573 B1 KR101211573 B1 KR 101211573B1 KR 1020110040945 A KR1020110040945 A KR 1020110040945A KR 20110040945 A KR20110040945 A KR 20110040945A KR 101211573 B1 KR101211573 B1 KR 101211573B1
Authority
KR
South Korea
Prior art keywords
character
lyrics
image
information
kerning
Prior art date
Application number
KR1020110040945A
Other languages
English (en)
Other versions
KR20120122656A (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 KR1020110040945A priority Critical patent/KR101211573B1/ko
Publication of KR20120122656A publication Critical patent/KR20120122656A/ko
Application granted granted Critical
Publication of KR101211573B1 publication Critical patent/KR101211573B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/368Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems displaying animated or moving pictures synchronized with the music or audio part
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/243Circuits for displaying proportional spaced characters or for kerning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/005Non-interactive screen display of musical or status data
    • G10H2220/011Lyrics displays, e.g. for karaoke applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

노래 반주 장치의 노래 이미지 합성부를 통해 표시될 가사 이미지를 커닝 기술을 이용해서 실시간으로 생성하여 디스플레이하는 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법에 관한 것이다.
본 발명인, 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법을 사용함으로써, 자연스러운 가사 이미지와 효율적인 디스플레이 영역의 활용과 가사 이미지에 처리에 필요한 메모리 공간을 줄이고 처리 속도를 향상할 수 있는 장점이 있다.

Description

커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법{KARAOKE APPARATUS AND LYRICS DISPLAYING METHOD AT THE KARAOKE APPARATUS USING KERNING TECHNOLOGY}
본 발명은 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법에 관한 것으로서, 구체적으로는 노래 반주 장치의 노래 이미지 합성부를 통해 표시될 가사 이미지를 커닝 기술을 이용해서 실시간으로 생성하여 디스플레이하는, 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법에 관한 것이다.
노래 반주 장치는 사용자의 곡 선곡과 재생 지시에 따라, 선곡 된 곡의 가사 이미지를 TV 화면 등에 음악 재생에 동기화되어 디스플레이한다. 이러한 가사 이미지는 선곡된 곡의 일부의 가사 정보만을 가지며 곡이 재생됨에 따라 계속 새로운 가사 정보로 갱신하여 디스플레이된다.
한편 이러한 가사 이미지는 가사 정보에 포함된 문자들을 이미지로 표현하는 폰트 이미지를 이용하여 폰트 이미지의 합성으로 동적으로 생성된다. 즉 가사 정보에 포함되는 문자들의 대응하는 폰트 이미지를 식별하고 식별된 동일한 크기의 폰트 이미지들을 하나의 이미지로 단순히 합성하여 생성된다.
이렇게 단순히 합성된 가사 이미지에는 몇 가지 문제점이 있다.
첫째, 가사 이미지에 포함된 문자의 폰트 이미지의 형태가 같은 폰트 타입에서도 문자별로 제각기 다를 수 있어서, 단순히 폰트 이미지의 합성으로 된 가사 이미지는 인접하는 문자의 형태를 전혀 고려하지 않아 사용자에게 부자연스럽게 표현될 수 있다는 문제점이 있다.
즉 문자들의 모양은 제각기 다른 형태를 취하여 문자에 대응하는 폰트 이미지의 형태는 일정하지 않다. 예를 들어 폰트 이미지의 좌측 끝단,우측 끝단,상측 끝단 및/또는 하측 끝단에는 사용자에게 표시되지 않는 일정 크기의 여백을 가질 수 있다. 그리고 이러한 여백의 형태는 폰트 이미지의 모양에 따라 각 측면에서도 달라질 수 있다. 이러한 문자의 형태를 고려하지 않고 단순히 폰트 이미지의 결합으로 표시하는 경우에는 부자연스러운 문장 또는 단어로 사용자가 인식하게 된다.
둘째, 단순히 합성된 가사 이미지는 폰트 이미지에서 디스플레이되지 않는 여백도 전부 포함되므로 제한된 디스플레이 영역에 표시되는 TV 화면의 해당 디스플레이 영역을 효율적으로 사용하지 못하는 문제점이 있다.
따라서 이러한 문제점을 해결할 수 있을 뿐 아니라 곡이 재생됨에 따라 실시간으로 갱신되는 가사 이미지를 실시간으로 처리할 수 있고 그 처리에 필요한 메모리의 크기를 줄일 수 있도록 하는, 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법이 필요하다.
본 발명은 상술한 문제점을 해결하기 위해서 안출한 것으로서, 가사 이미지에 표시될 문자들의 형태를 고려한 자연스러운 가사 이미지로 표시될 수 있도록 하는, 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법을 제공하는 데 그 목적이 있다.
또한 본 발명은 노래 반주 장치에 연결되어 가사 이미지를 디스플레이하는 디스플레이 장치의 디스플레이 영역을 효율적으로 사용할 수 있도록 하는, 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법을 제공하는 데 그 목적이 있다.
또한 본 발명은 가사 이미지의 처리를 음악에 동기화되어 실시간으로 처리할 수 있는, 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법을 제공하는 데 그 목적이 있다.
또한 본 발명은 가사 이미지의 처리에 필요한 메모리의 크기를 줄일 수 있도록 하는, 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법을 제공하는 데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한, 커닝 기술을 이용한 노래 반주 장치는, 지정된 곡에 대응하는 음악 정보와 가사 정보를 저장하는 곡 정보 저장부와 문자를 이미지로 표시할 수 있는 폰트 이미지를 저장하는 폰트 이미지 저장부와 인접하는 문자 사이의 표시 간격을 결정하기 위한 커닝(Kerning) 정보를 저장하는 커닝 정보 저장부와 상기 음악 정보의 플레이에 동기화되어 상기 가사 정보를 표시하기 위해 상기 가사 정보 중 일부의 가사 정보의 문자들로부터 상기 폰트 이미지 저장부의 대응하는 폰트 이미지를 이용하여 디스플레이될 가사 이미지를 생성하는 제어부를 포함하고, 상기 제어부는, 디스플레이될 가사 이미지에서의 상기 일부의 가사 정보에 포함된 문자들 간의 표시 간격을 결정하기 위해 상기 커닝 정보를 이용하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한, 커닝 기술을 이용한 노래 반주 장치에서의 가사 표시 방법은 (a) 지정된 곡에 대응하는 가사 정보로부터 일부의 가사 정보를 추출하는 단계와 (b) 추출된 일부의 가사 정보의 문자들 중 하나를 제 1 문자로 설정하고 상기 제 1 문자에 후속하는 문자를 제 2 문자로 설정하는 단계와 (c) 상기 제 1 문자의 식별자와 상기 제 2 문자의 식별자를 이용하여 상기 제 1 문자와 상기 제 2 문자 사이의 표시 간격인 커닝 정보를 결정하는 단계와 (d) 상기 결정된 커닝 정보가 존재하는 경우 결정된 커닝 정보에 따라 상기 제 1 문자가 합성된 가사 이미지에 상기 제 2 문자에 대응하는 폰트 이미지를 상기 가사 이미지에 합성하고, 상기 결정된 커닝 정보가 존재하지 않는 경우 지정된 기본 커닝 정보에 따라 상기 제 1 문자가 합성된 가사 이미지에 상기 제 2 문자에 대응하는 폰트 이미지를 상기 가사 이미지에 합성하는, 합성 단계와 (e) 상기 일부의 가사 정보 중 상기 제 2 문자를 제 1 문자로 설정하고, 상기 제 2 문자의 후속하는 문자를 제 2 문자로 설정하여, 상기 (c) 및 (d) 단계를 반복하는, 반복 단계를 포함한다.
상기와 같은 본 발명에 따른 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법은, 가사 이미지에 표시될 문자들의 형태를 고려한 자연스러운 가사 이미지로 표시할 수 있는 장점이 있다.
또한 상기와 같은 본 발명에 따른 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법은, 노래 반주 장치에 연결되어 가사 이미지를 디스플레이하는 디스플레이 장치의 디스플레이 영역을 효율적으로 사용할 수 있도록 하는 장점이 있다.
또한 상기와 같은 본 발명에 따른 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법은, 가사 이미지의 처리를 실시간으로 처리할 수 있도록 하며 가사 이미지 처리에 필요한 메모리의 크기를 줄일 수 있도록 하는 장점이 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 기존의 방법에 따라 가사를 이미지로 표시한 화면과 본 발명에 따라 가사를 이미지로 표시한 화면을 대비한 도면이다.
도 2는 본 발명을 실시하기 위한 노래 반주 장치의 하드웨어 블록도의 일 실시예를 도시한 도면이다.
도 3은 본 발명을 실시하기 위한 예시적인 하드웨어 블록도 상에서 구현되는 기능 블록도를 예시한 도면이다.
도 4는 커닝 정보 저장부에 저장될 커닝 정보를 인덱싱하기 위한 예시적인 일 실시예를 도시한 도면이다.
도 5는 제어부에서 실행할 수 있는 예시적인 흐름도를 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 기존의 방법에 따라 가사를 이미지로 표시한 화면과 본 발명에 따라 가사를 이미지로 표시한 화면을 대비한 도면이다.
도 1의 (a)는 기존의 방식으로 가사 이미지를 배경 영상과 합성한 이미지이다. 이러한 기존의 방식에 따른 가사 이미지는, 사용자의 선곡에 따라 선택된 특정 곡에 대응하는 가사를, 예를 들어 하드 디스크(130) 등으로부터 추출하고, 추출된 가사에 대응하는 폰트 이미지를 인접하는 문자가 어떠한 문자인지에 상관없이 폰트 이미지의 크기(폭 - w 과 높이 - h)에 따라 인접하는 문자 간에 중첩되지 않고 단순히 디스플레이된다.
이러한 기존의 방식으로 가사 이미지를 디스플레이하게 되면, 인접하는 문자 간의 이미지들의 실제 크기, 그 문자의 모양이 전혀 고려되지 않아 노래방을 이용하는 사용자에게 부자연스러운 이미지로 표시될 수 있다. 그리고 획일적인 표시 방법을 이용함으로써 제한된 공간 영역을 가진 노래 반주 장치의 화면을 효율적으로 사용하지 못하는 문제가 발생할 수 있다.
반면에 도 1의 (b)는 본 발명에 따른 가사 이미지를 배경 영상과 합성한 이미지이다. 본 발명에 따른 가사 이미지는 인접하는 문자 간에 표시 간격이 상이하다. 예를 들어 "F"와 "L" 간의 표시 간격과 "L"과 "Y"간의 표시 간격은 그 문자의 모양에 따라 달리 가지고, 또한 "T"와 "O"간의 표시 간격을 다른 표시 간격과 달리 가지도록 함으로써 자연스러운 가사 이미지로 그리고 화면의 영역을 효율적으로 이용할 수 있도록 한다.
이와 같이 인접하는 문자 사이의 표시 간격은 가사 이미지에서 하나의 문자와 그 문자의 후속하는 문자에 따라 다르게 구성할 수 있다.
여기서 표시 간격은 인접하는 문자, 즉 이전 문자,의 시작 위치(X축)에서 후속하는 문자가 표시될 위치의 차이값으로 표시하거나, 후속하는 문자의 원래 위치(즉 이전 문자의 시작 위치(X축으로) + 넓이)에서 후속하는 문자가 위치할 위치의 차이값으로 표시하거나, 이러한 차이값을 하나의 폰트 이미지의 크기(넓이)에 대한 비율값으로 표시할 수 있다.
이하에서는 인접하는 문자 사이의 표시 간격을 커닝 정보라는 용어와 함께 혼용하여 사용할 것이다.
도 2는 본 발명을 실시하기 위한 노래 반주 장치의 하드웨어 블록도의 일 실시예를 도시한 도면이다.
도 2에 따르면 노래 반주 장치는, 휘발성 메모리(110), 비휘발성 메모리(120), 하드 디스크(130), 오디오 합성부(140), 오디오 출력부(150), 비디오 합성부(160), 비디오 출력부(170), 사용자 입력부(180), 데이터 버스/제어 버스(도면 부호 미기재)부 및 제어 프로세서(190)를 포함하며, 이 중 일부의 블록은 그 구현 예에 따라 생략될 수 있고, 혹은 도 2에 포함되지 않은 블록이 더 포함되도록 할 수 있다.
비휘발성 메모리(120)는, 노래 반주 장치의 전원이 소거된 경우에도 메모리에 저장된 데이터가 보존되는 메모리로서, 예를 들어 NAND FLASH, NOR FLASH 등이 일 수 있다. 비휘발성 메모리(120)에는 노래 반주 장치가 부팅됨에 따라 필요한 부트 로드(bootloader)나 노래 반주 장치의 실행에 필요한 중요한 설정 데이터를 저장할 수 있다.
하드 디스크(130)는, 노래 반주 장치 내에서 필요한 각종 데이터와 각종 프로그램을 저장한다. 이러한 데이터에는 사용자가 선곡할 수 있는 곡 데이터에 관련된 정보, 예를 들어 미디 데이터 파일, 가사 데이터 파일, 압축된 음악 클립, 배경 영상 생성에 필요한 동영상 파일 등을 포함하고, 프로그램에는 노래 반주 장치에서 음악을 생성하고 가사 이미지와 배경 영상을 생성하기 위한 프로그램 등을 포함한다.
휘발성 메모리(110)는, 전원이 소거된 경우에 데이터가 보전되지 않는 메모리로서, 예를 들어 DRAM 메모리일 수 있다. 휘발성 메모리(110)에는 비휘발성 메모리(120)의 데이터와 프로그램 및/또는 하드 디스크(130)의 데이터와 프로그램을 임시로 저장할 수 있다.
사용자 입력부(180)는, 노래 반주 장치의 판넬에 배치된 복수의 버튼 또는 노래 반주 장치용 리모컨으로부터 명령을 수신한다. 사용자 입력부(180)는 이러한 버튼 또는 리모컨으로부터 수신된 명령에 기초하여 하드 디스크(130) 등에 저장된 곡을 선곡할 수 있도록 하고 각종 기능(Tempo, Key 변환 등)을 제어할 수 있도록 한다.
오디오 합성부(140)는, 사용자에 의해 선곡된 곡으로부터 사용자가 들을 수 있는 음악을 생성한다. 오디오 합성부(140)는 예를 들어, 미디 명령으로부터 음악을 생성할 수 있는 미디 합성 IC, 또는 미디 합성 IC를 포함하고, 각종 다른 음악 신호(예를 들어 MP3 파일로부터 생성된 오디오 신호)를 수신하여 미디 음악 신호와 함께 하나의 합성된 음악 신호로 합성하도록 하는 각종 부품을 탑재한 보드로 구성할 수 있다.
오디오 출력부(150)는, 오디오 합성부(140)에서 합성된 음악 신호를 출력한다. 오디오 출력부(150)는 스테레오 채널로 구성되거나 5.1 채널로 구성될 수 있다. 그리고 이러한 오디오 출력부(150)의 출력은 노래 반주 장치 외부의 앰프 등에 음악 신호를 제공할 수 있다.
비디오 합성부(160)는, 배경 영상 및/또는 가사 이미지를 외부 디스플레이 장치에서 인식할 수 있는 포맷으로 영상 이미지를 합성한다. 이러한 포맷에는 Composite 신호, S-Video 신호, HDMI 신호 등일 수 있다.
비디오 출력부(170)는, 비디오 합성부(160)에서 합성된 영상 이미지를 노래 반주 장치 외부 디스플레이 장치(예를 들어 LCD TV, LED TV 등)에서 표시할 수 있도록 출력한다. 비디오 출력부(170)는 영상 이미지의 포맷에 따라 적합한 케이블을 이용하여 출력할 수 있다.
데이터 버스/제어 버스는, 노래 반주 장치의 각 블록 간에 송수신되는 데이터 신호 및/또는 제어 신호를 연결한다. 이러한 데이터 버스/제어 버스는 병렬 버스와 시리얼 버스를 포함할 수 있다. 그리고 데이터 버스/제어 버스는 특정 블록과 특정 블록 간 사이의 전용의 버스를 포함할 수 있다.
제어 프로세서(190)는 노래 반주 장치의 각 블록을 제어하고 압축된 동영상 파일을 디코딩할 수 있다. 제어 프로세서(190)는 사용자 입력부(180)를 통해 사용자의 선곡 명령을 수신할 수 있고, 선곡 명령에 따라 선택된 특정 곡에 대한 음악을 생성하기 위해 하드 디스크(130) 등에 저장된 특정 곡에 대응하는 미디 데이터와 가사 데이터를 추출하여, 예를 들어 휘발성 메모리(110)에 저장하고, 또한 영상을 생성하기 위해, 하드 디스크(130) 등에 저장된 압축된 동영상을 추출하여, 예를 들어 휘발성 메모리(110)에 저장하고 이를 디코딩할 수 있다.
또한 제어 프로세서(190)는 미디 데이터를 오디오 합성부(140)를 통해 음악 신호로 합성하고, 가사 데이터로부터 화면에 디스플레이될 가사 이미지를 현재 합성되는 음악 신호에 동기화되어 결정하고 결정된 가사 데이터를 가사 이미지로 합성하고 이를 배경 영상과 합성하도록 비디오 합성부(160)를 제어한다.
여기서 제어 프로세서(190)는 음악 신호에 동기화되는 가사 데이터를 결정하기 위해서 특정 곡에 대한 전체 가사 데이터 중에서 일부의 가사 데이터를 추출한다. 이러한 일부의 가사 데이터는 현재 재생될 미디 데이터로부터 시작하여 예를 들어 16 마디, 또는 32 마디의 가사 데이터일 수 있다.
제어 프로세서(190)에서 가사 이미지를 생성하고 표시하는 방법에 대한 상세한 설명은 도 3 이하에서 살펴보도록 한다.
도 3은 본 발명을 실시하기 위한 예시적인 하드웨어 블록도 상에서 구현되는 기능 블록도를 예시한 도면이다.
도 3에 따르면, 노래 반주 장치는, 노래 이미지 합성부(210), 곡 정보 저장부(220), 커닝 정보 저장부(230), 폰트 이미지 저장부(240), 폰트 이미지 크기 저장부(250), 및 제어부(260)를 포함하고 제어부(260)는 가사 데이터 결정부(261), 폰트 데이터 추출부(262), 표시 간격 결정부(263), 가사 이미지 합성부(264) 및 배경 영상 생성부(265)를 포함한다. 본 발명의 요지를 흐릴 수 있는, 예를 들어 미디 음악을 생성하고 처리하는 기능과 외부 사용자 입력을 수신하는 내용 등, 자명한 사항은 생략하도록 한다.
곡 정보 저장부(220)는, 노래 반주 장치의 사용자가 선곡 등을 통해 선택할 수 있는 하나 이상의 곡에 관련된 데이터를 저장한다. 이러한 특정 곡에 관련된 데이터에 해당 특정 곡에 사용할 미디 데이터와, 미디 데이터와 동기화되어 디스플레이될 가사 데이터와, 곡의 재생에 필요한 각종 음악 데이터(압축된 음악 파일 - WMA, MP3 등의 포맷으로 압축된)을 포함한다. 곡 정보 저장부(220)는 하드 디스크(130)에 저장되거나 이 중 일부가 휘발성 메모리(110) 등에 저장될 수 있다.
커닝 정보 저장부(230)는, 노래 반주 장치의 화면에 표시될 가사 데이터에서 인접하는 문자 사이의 표시 간격(커닝 정보)를 저장한다. 이러한 커닝 정보는, 예를 들어 표시될 가사 데이터에서 제 1 문자와 제 1 문자에 바로 후속하는 제 2 문자 사이의 픽셀 크기로 또는 비율로 나타낼 수 있다. 예를 들어 문자의 폰트 사이즈가 12x24의 크기인 경우이고 제 1 문자가 디스플레이 장치 화면상에서 (100,400)에서 표시되는 경우에 제 1 문자와 제 2 문자 사이의 커닝 정보가 10 픽셀 크기인 경우에 제 2 문자는 (110,400)에서부터 디스플레이할 수 있도록 한다. 이러한 커닝 정보 저장부(230)는 하드 디스크(130), 휘발성 메모리(110), 및/또는 비휘발성 메모리(120)에 저장될 수 있고, 테이블 및/또는 포인터를 이용한 자료 구조나 데이터 베이스 등을 이용하여 구성할 수 있다.
커닝 정보 저장부(230)에 관련된 상세한 그 구조는 이하 도 4에서 상세히 살펴보도록 한다.
폰트 이미지 저장부(240)는, 디스플레이될 문자에 대한 폰트 이미지를 저장한다. 저장된 폰트 이미지는 한글 폰트, 중국어 폰트, 영어 폰트, 일어 폰트 등 다양한 각 언어별의 폰트를 포함할 수 있다. 또한 각 언어별 타입에 따른 폰트는 폰트 이미지의 타입에 따라 (예를 들어 명조체, 바탕체 등) 별도로 구성할 수 있다.
폰트 이미지 저장부(240)에 저장된 폰트 이미지는 폰트 이미지의 타입 및/또는 언어별 타입에 따라 그 크기가 고정될 수 있다. 예를 들어 특정 폰트 이미지의 타입의 문자의 폰트 이미지의 크기는 12x24로 고정될 수 있고, 문자의 식별자를 인덱스로 이용하여 대응하는 폰트 이미지를 추출할 수 있도록 할 수 있다. 폰트 이미지 저장부(240)는 하드 디스크(130)에 저장되거나 폰트 이미지의 일부가 휘발성 메모리(110)에 저장될 수 있다.
폰트 이미지 크기 저장부(250)는, 폰트 이미지 저장부(240)에 저장된 각종 폰트 이미지의 크기의 정보를 저장한다. 예를 들어 폰트 이미지 타입에 따라 그 폰트의 크기가 달라 질 수 있고, 이에 더하여 각 언어별 타입에 따라 그 폰트 이미지의 크기가 달라질 수 있다. 또한 폰트 이미지 크기 저장부(250)는 노래 반주 장치의 화면상에 표시될 가사 이미지에서 결정된 하나의 폰트 이미지의 크기를 저장할 수 있다.
이러한 화면상에 표시될 폰트 이미지의 크기는 비록 폰트 이미지 저장부(240)에 저장된 폰트 이미지의 크기가 고정된 경우에도 달라질 수 있다. 예를 들어 비록 12x24의 크기를 가지고 있는 폰트 이미지의 경우에도, 현재 화면상에 표시할 가사 데이터가 12x24의 크기로 디스플레이할 경우에 전부를 표시할 수 없는 경우가 발생할 수 있고, 따라서 화면상에 표시될 폰트 이미지의 크기는 6x12의 크기로 축소될 수 있다.
폰트 이미지 크기 저장부(250)는 하드 디스크(130)에 저장되거나 휘발성 메모리(110)에 저장될 수 있다.
제어부(260)는, 사용자에 의해 선곡된 곡의 음악의 재생에 동기화하여 가사 데이터를 추출하고 추출된 가사 데이터를 커닝 정보에 기초하여 가사 이미지로 합성하고, 선곡된 곡에 사용할 배경 영상을 생성하여 출력한다. 이러한 제어부(260)는 바람직하게 제어 프로세서(190)상에서 구현되는 프로그램(모듈)으로 구현할 수 있다.
구체적으로 제어부(260)는, 가사 데이터 결정부(261)와 폰트 데이터 추출부(262)와 표시 간격 결정부(263)와 가사 이미지 합성부(264)와 이에 더하여 배경 영상 생성부(265)를 포함한다.
제어부(260)의 가사 데이터 결정부(261)는, 선곡된 곡에 대응하는 가사 데이터에서 현재 곡에 대한 음악이 합성됨에 따라 노래 반주 장치의 화면에 디스플레이될 가사 데이터를 결정한다.
이를 위해 가사 데이터 결정부(261)는 하드 디스크(130) 또는 휘발성 메모리(110)에 저장된 선곡된 곡에 대응하는 전체 가사 데이터에서, 음악의 합성(또는 진행) 정도에 따라 일부의 가사 데이터를 결정한다. 예를 들어 음악의 시작부(도입 단계)에서는 전체 가사 데이터 중 첫번째로 시작하는 16 마디 또는 32 마디의 가사 데이터를 디스플레이되도록 결정한다. 그리고 첫번째 가사 데이터에 대응하는 음악의 합성이 완료된 경우 (혹은 완료되기 전이라도), 후속하는 두번째 16 마디 또는 32 마디의 가사 데이터를 결정할 수 있다.
이렇게 결정된 가사 데이터는 일련의 복수의 문자에 대한 식별자들로 구성될 수 있다. 이러한 식별자는 해당 문자를 다른 문자와 구별할 수 있도록 하는 식별자로서, 예시적으로 ASCII 코드, UTF-8, UTF-16, UTF-32 등으로 구성될 수 있다.
폰트 데이터 추출부(262)는, 결정된 가사 데이터에 있는 복수의 문자에 대한 식별자들을 이용하여 복수의 문자 각각에 대응하는 폰트 이미지를 폰트 이미지 저장부(240)로부터 추출할 수 있도록 한다. 이러한 폰트 데이터 추출부(262)는 결정된 가사 데이터의 복수의 문자에 대응하는 폰트 이미지를 한꺼번에 추출할 수도 있고, 혹은 인접하는 문자 사이의 표시 간격을 고려하여 순차적으로 추출할 수도 있다.
또한 폰트 데이터 추출부(262)는 폰트 이미지를 추출하기 위해서 폰트 이미지 크기 저장부(250)에 저장된 각 폰트 타입별 폰트의 크기(사이즈)를 이용할 수 있다. 이를 위해 현재 노래 반주 장치에서 가사 이미지를 표시하기 위해 사용중인 폰트 이미지의 타입 및/또는 언어 타입에 따라 폰트 이미지 저장부(240)에 저장된 폰트 이미지의 크기를 폰트 이미지 크기 저장부(250)로부터 결정하고, 결정된 폰트 이미지의 크기를 오프셋(폰트 이미지 저장부(240)의 메모리를 인덱싱하기 위한 오프셋)으로 사용하여 폰트 이미지를 추출할 수 있다.
즉 예를 들어 문자 "B"가 식별자 "0x42"인 경우 "B"를 추출하기 위해 "A"(0x41)가 저장된 특정 폰트의 메모리 공간지점으로부터 결정된 오프셋(폰트 이미지의 크기)만큼 이후의 메모리 공간 지점에 접근함으로써 특정 문자에 대한 폰트 이미지를 추출할 수 있다.
표시 간격 결정부(263)는, 결정된 가사 데이터에서 인접하는 문자 사이의 표시 간격(커닝 정보)을 커닝 정보 저장부(230)에 저장된 커닝 정보를 이용하여 결정한다. 이를 위해 표시 간격 결정부(263)는 결정된 가사 데이터의 첫번째 문자에서부터 시작하여 마지막 문자까지를 순차적으로 스캔(Scan)하면서 인접하는 문자 사이의 표시 간격을 결정할 수 있다.
구체적으로, 표시 간격 결정부(263)는, 결정된 가사 데이터 중에서 인접하는 두 개의 문자의 식별자를 사용하여 커닝 정보 저장부(230)를 인덱싱한다. 그리고 커닝 정보 저장부(230)로부터 대응하는 커닝 정보를 추출하고, 추출된 커닝 정보를 사용하여 두 개의 문자 중 후속하는 문자를 화면에 디스플레하기 위한 시작 위치 정보를 결정한다.
예를 들어 결정된 가사 데이터가 "FLY TO THE SKY"인 경우에, 제일 처음의 "F"는 이전의 인접하는 문자가 없으므로, 표시 간격을 결정할 필요가 없으나, 후속하는 "L"의 경우에는 "F"와 "L"의 식별자를 사용해서 "L"이 디스플레이될 표시 간격인 커닝 정보를 추출한다. 그리고 추출된 커닝 정보에 따라 "L"의 디스플레이될 위치 (특히 X 축으로)를 결정한다. 그리고 다시 "L"과 "Y"의 식별자를 사용해서 "Y"의 디스플레이될 표시 간격을 추출한다. 이러한 방식으로 결정된 가사 데이터 전체에 대해서 커닝 정보를 결정할 수 있다.
여기서 표시 간격 결정부(263)는 폰트 이미지 크기 저장부(250)에 저장된 화면상에 표시될 폰트 이미지의 크기를 더 이용할 수 있고 따라서 결정된 커닝 정보를 화면상에 표시될 폰트 이미지의 크기와 원래 폰트 이미지의 크기의 비율에 따라 확대 또는 축소 되도록 스케일링할 수 있다.
가사 이미지 합성부(264)는, 결정된 가사 데이터에 대해서 결정된 커닝 정보에 따라서 가사 이미지를 합성한다. 이렇게 합성된 가사 이미지는 인접하는 문자 사이에 그 간격이 동일하지 않을 수 있어서 자연스러운 가사 이미지를 표시할 수 있고 화면의 영역을 효율적으로 이용할 수 있다.
예를 들어 결정된 가사 데이터가 "FLY TO THE SKY"인 경우에, 휘발성 메모리(110)의 특정 공간을 가사 이미지를 생성하기 위한 공간으로 지정하고, 해당 지정된 특정 공간에 "F"에 대응한 폰트 이미지를 2차원 이미지로 복사한다. 이때 복사된 2차원 이미지는 화면상에 표시될 폰트 이미지의 크기에 따라 스케일링 될 수 있다. 그리고 후속하여, "F"와 "L"의 커닝 정보에 따라 그리고 추가적으로 스케일링 정보(화면상에 표시될 폰트 이미지의 크기에 따라)에 따라 "F"가 복사된 2차원 이미지의 인접하는 공간 영역에 "L"에 대응하는 폰트 이미지를 2차원 이미지로 복사한다. 그리고 이후에도 동일한 작업을 진행한다.
예를 들어 폰트 이미지의 크기가 12x24이고, "F"의 복사된 이미지의 위치가 합성될 가사 이미지의 공간의 (0,0)에서 (12,24)의 공간 영역인 경우에, "F"와 "L"의 커닝 정보가 10인 경우 "L"의 복사된 이미지의 위치는 (10,0)에서 (22,24)로 설정되고, "L"과 "Y"의 커닝 정보가 5인 경우 "Y"는 "L"의 시작 지점인 (10,0)에서 5만큼 뒤인 (15,0)에서 (27,24)의 공간에 복사된다.
배경 영상 생성부(265)는, 선곡된 곡에 사용할 배경 영상을 생성한다. 이러한 배경 영상은 이미지이거나 동영상일 수 있다. 동영상인 경우에는 예를 들어 하드 디스크(130) 등에 저장된 MPEG2 등의 표준으로 압축된 영상일 수 있다. 배경 영상 생성부(265)는 압축된 영상을 디코딩하여 순차적으로 디스플레이될 수 있는 이미지 프레임을 생성할 수 있다.
노래 이미지 합성부(210)는 배경 영상으로 생성된 이미지 프레임에 가사 이미지 합성부(264)에서 합성된 가사 이미지를 합성한다. 이때 가사 이미지는 배경 영상의 특정 공간 영역에 위치하도록 할 수 있고 해당 특정 공간 영역에 합성된 가사 이미지를 합성한다.
이상에서 살펴본 폰트 데이터 추출부(262)와 표시 간격 결정부(263)와 가사 이미지 합성부(264)는 결정된 가사 데이터에 대해서 하나 하나씩 커닝 정보를 결정하기 위해 순차적으로 진행할 수도 있고 혹은 폰트 데이터 추출부(262)에서 전체 가사 데이터에 대응하는 폰트 이미지를 추출하고, 표시 간격 결정부(263)에서 전체 가사 데이터에 대해서 커닝 정보를 결정하고, 전체 가사 데이터에 대해서 가사 이미지를 합성하도록 가사 이미지 합성부(264)가 이미지를 합성하도록 구성할 수도 있다.
도 4는 커닝 정보 저장부(230)에 저장될 커닝 정보를 인덱싱하기 위한 예시적인 일 실시예를 도시한 도면이다. 커닝 정보 저장부(230)는 제 1 문자의 식별자와 제 1 문자에 후속하는 제 2 문자의 식별자를 이용해서 커닝 정보를 결정할 수 있도록 한다.
도 4에 따르면, 커닝 정보 저장부(230)는 1차 식별 테이블(231)과 2차 식별 테이블(232)과 커닝 정보 식별 테이블(233)을 포함할 수 있다. 이러한 1차 식별 테이블(231)과 2차 식별 테이블(232)과 커닝 정보 식별 테이블(233)은 폰트 이미지의 타입(예: 명조체, 바탕체)에 따라 별도로 구성할 수도 있다. 혹은 폰트 이미지의 타입에 더하여 각 언어의 타입(예 : 영어, 일어, 중국어, 한글 등)에 따라 별도로 구성할 수도 있다.
커닝 정보를 결정하기 위해서, 1차 식별 테이블(231)은 제 1 문자의 식별자로 인덱싱된다. 제 1 문자의 식별자로 인덱싱되어 1차 식별 테이블(231)은 하나 이상의 2차 식별 테이블(232) 중 하나의 2차 식별 테이블을 식별(인덱싱)할 수 있는 식별자(예를 들어 포인터)를 추출할 수 있다.
1차 식별 테이블(231)에서 추출된 식별자를 이용해서 2차 식별 테이블(232)을 식별하고 식별된 2차 식별 테이블(232)에서 제 2 문자의 식별자로 커닝 정보 테이블(233)을 인덱싱하기 위한 식별자(예를 들어 포인터)를 추출하거나 커닝 정보를 결정할 수 있다.
그리고 이렇게 커닝 정보 테이블을 인덱싱하기 위한 식별자를 이용해서(식별자를 추출한 경우) 커닝 정보 식별 테이블(233)에서 커닝 정보(표시 간격)를 추출할 수 있다.
여기서 1차 식별 테이블(231)과 2차 식별 테이블(232)에서 인덱싱하기 위해 사용하는 문자의 식별자는 앞선 구성과는 반대로 구성할 수 있다. 즉 1차 식별 테이블(231)을 인덱싱하기 위해 사용하는 식별자는 제 2 문자의 식별자를 사용하고 2차 식별 테이블(232)을 인덱싱하기 위해 사용하는 식별자는 제 1 문자의 식별자를 사용할 수 있다. 이러한 구성을 취함으로써 현재 합성할 문자(제 2 문자)를 중심으로 용이하게 커닝 정보를 추출할 수도 있다.
이러한 1차 식별 테이블(231), 2차 식별 테이블(232) 및 커닝 정보 식별 테이블(233)은 미리 결정될 수 있다. 예를 들어 폰트 이미지를 제작하는 과정에서 각 문자별로 후속하는 문자에 따라 커닝 정보(표시 간격)을 결정하여 미리 저장할 수 있을 것이다.
한편 1차 식별 테이블(231), 2차 식별 테이블(232) 및/또는 커닝 정보 식별 테이블(233)에는 널(NULL) 식별자(포인터)를 엔트리로 가지고 있을 수 있다. 이러한 널 식별자를 가진 경우에는 표시 간격 결정부(263)는 미리 결정된 기본(디폴트) 커닝 정보(표시 간격)를 사용해서 표시 간격을 결정할 수 있다. 예를 들어 폰트 이미지의 크기가 12x24인 경우에 디폴트 커닝 정보를 12로 결정할 수 있을 것이다.
널 식별자는 해당되는 문자에 대해서 더 이상 커닝 정보를 검색할 필요가 없을 때 사용할 수 있고 따라서 커닝 정보 저장부(230)의 불필요한 메모리 공간 영역과 인덱싱에 따른 필요 시간을 줄일 수 있도록 할 수 있다.
여기서 1차 식별 테이블(231), 2차 식별 테이블(232) 및/또는 커닝 정보 식별 테이블(233)에 저장된 인덱스 컬럼을 생략하도록 구성할 수도 있다. 만일 인덱스로 사용하는 어드레스 공간 영역 중 대부분의 어드레스 공간 영역을 인덱스로 사용하는 경우에는 이러한 인덱스 컬럼을 생략함으로써 테이블 저장에 필요한 메모리 공간 영역을 줄일 수 있도록 할 수 있다.
이렇게 3개의 식별 테이블을 널 식별자와 함께 분리 구성하는 경우에는 제 1 문자의 식별자와 제 2 문자의 식별자로부터 어드레싱(addressing) 할 수 있는 어드레스 스페이스 중에서 일부만을 활용할 수 있도록 하여 메모리 공간을 줄일 수 있도록 한다. 즉 16 비트(예를 들어 16 bit 의 식별자를 사용하는 경우)의 어드레스 스페이스의 전체를 사용하는 경우는 드물고, 모든 제 1 문자의 식별자에 대해서 대응하는 모든 제 2 문자가 모두 커닝 정보가 다른 것도 아니고 대다수 문자의 경우에는 커닝 정보가 필요가 없는 경우도 많으므로 메모리 공간을 효율적으로 사용할 수 있도록 한다. 그리고 커닝 정보 식별 테이블(233)을 다른 테이블과 분리함으로써 커닝 정보를 통일적으로 관리할 수 있도록 한다.
이렇게 커닝 정보 저장부(230)에서 커닝 정보를 추출할 수 있도록 하여 비록 폰트 이미지의 형태가 구체적으로 어떻게 생겼는지를 몰라도 단순히 커닝 정보를 추출할 수 있어 커닝 정보의 결정을 빨리 할 수 있고 실시간으로 용이하게 자연스러운 가사 이미지를 생성할 수 있다.
물론 도 4의 예시적인 구조와는 달리 커닝 정보 저장부(230)를 구성할 수 있는데, 하나의 대안으로 하나의 테이블만으로 구성하는 것과 또 다른 대안으로 두 단계의 테이블(즉 1차 식별 테이블(231)과 하나 이상의 2차 식별 테이블(232))만으로 구성할 수 있다.
즉 하나의 테이블만을 구성하는 경우에는 하나의 테이블에는 제 1 문자의 식별자를 위한 인덱스 컬럼과 제 2 문자의 식별자를 위한 인덱스 컬럼을 가지고 , 제 1문자의 식별자와 제 2 문자의 식별자의 조합으로 해당 테이블을 인덱싱하여 해당 커닝 정보를 추출하도록 구성할 수 있다.
혹은 두 단계의 테이블을 이용하는 경우에는, 커닝 정보 식별 테이블(233)을 사용하지 않고, 하나 이상의 2차 식별 테이블(232)에서 제 2 문자의 식별자에 의해 인덱싱된 열에 해당 커닝 정보(표시 간격)를 저장하도록 구성할 수 있다.
도 4에서는 예시적으로 2차 식별 테이블 포인터나 커닝 정보 포인터 등과 같이 포인터라는 용어를 사용하였다. 여기서 포인터는 반드시 물리적(가상) 주소일 필요는 없으며, 2차 식별 테이블(232)의 위치를 알 수 있는 정보 또는 커닝 정보 식별 테이블(233) 상의 위치를 알 수 있는 정보, 예를 들어 메모리 공간상에서 각 테이블의 시작 위치나 테이블 내의 특정 인덱스를 식별할 수 있는 정보,일 수 있고, 예를 들어 제어부(260)에서 각 테이블에 접근할 수 있는 숫자 등으로 표시될 수 있다.
도 5는 제어부(260)에서 실행할 수 있는 예시적인 흐름도를 도시한 도면이다.
본 흐름도는 사용자에 의해 특정 곡을 선곡하여 재생을 시작함으로써 시작하고(S100), 특정 곡이 재생 완료 또는 중단됨에 따라 종료될 수 있다(S200).
제어부(260)가 선곡된 특정 곡을 재생을 시작함에 따라, 제어부(260)는 해당 특정 곡에 대응하는 가사 정보(데이터)를 하드 디스크(130) 등으로부터 결정하고 추출한다. 그리고 제어부(260)는 결정된 가사 정보에서 미디의 재생 또는 음악의 재생에 동기화되어 노래 반주 장치의 화면 상에 표시할 일부의 가사 정보(데이터)를 추출한다(S110).
이러한 단계 S110은 곡의 재생이 진행됨에 따라 반복적으로 실행될 수 있어서, 첫번째로 화면에 표시될 16 마디 또는 32 마디의 가사 데이터의 처리가 완료된 후에, 두번째(그리고 이후의) 16 마디 또는 32 마다의 가사 데이터를 처리하도록 미디 음악의 진행(재생)상태와 동기화되어 실행할 수 있다.
이렇게 추출된 가사 정보에는 하나 이상의 문자를 포함한다. 일부의 가사 정보를 나타내는 일련의 문자들 중에서 첫번째의 문자를 제 1 문자로 설정하고, 첫번째 문자 뒤의 두번째 문자를 제 2 문자로 설정한다(S120).
그리고 제어부(260)는 제 1 문자와 제 2 문자의 식별자를 이용해서 커닝 정보를 결정한다(S130). 이를 위해 제어부(260)는 커닝 정보 저장부(230)에 저장된 커닝 정보를 추출하기 위해, 1차 식별 테이블(231)에서 제 1 문자의 식별자로 인덱싱하여 2차 식별 테이블(232)의 식별자(포인터)를 얻고, 얻어진 2차 식별 테이블(232)의 식별자를 이용해서 2차 식별 테이블(232)을 선택하고, 선택된 2차 식별 테이블(232)에서 제 2 문자의 식별자로 커닝 정보를 결정한다.
커닝 정보를 결정하기 위해, 커닝 정보 저장부(230)의 그 구조가 도 4와 같은 구조로 되어 있는 경우, 커닝 정보 식별 테이블(233)에서 인덱싱에 사용할 커닝 정보 식별자를 2차 식별 테이블(232)에서 추출하고, 추출된 커닝 정보 식별자를 인덱스로 사용하여 커닝 정보 식별 테이블(233)에서 커닝 정보를 추출하도록 구성할 수 있다.
혹은 1차 식별 테이블(231)과 2차 식별 테이블(232)에서 인덱싱하기 위해 사용하는 문자의 식별자는 앞선 구성과는 반대로 구성할 수 있다. 즉 1차 식별 테이블(231)를 인덱싱하기 위해 사용하는 식별자는 제 2 문자의 식별자를 사용하고 2차 식별 테이블(232)를 인덱싱하기 위해 사용하는 식별자는 제 1 문자의 식별자를 사용할 수 있다. 이러한 구성을 취함으로써 현재 합성할 문자(제 2 문자)를 중심으로 용이하게 커닝 정보를 추출할 수 있다.
이러한 커닝 정보를 추출하는 방법은 이외에도 커닝 정보 저장부(230)의 그 구조에 따라 (예를 들어 하나의 식별 테이블만으로 혹은 두 단계의 테이블로 구성된 경우) 달라질 수 있을 것이다.
이후에 제어부(260)는 커닝 정보가 커닝 정보 저장부(230)에 존재하는지를 결정한다(S140).
만약 커닝 정보가 존재하는 경우에는, 해당 커닝 정보를 사용하여 제 1 문자가 합성된 가사 이미지의 제 1 문자의 시작 위치(예를 들어 폰트 이미지의 직사각형 좌표 영역 중 좌상(Top-Left Point) 좌표)에서부터 X 축으로 커닝 정보(표시 간격)만큼 후속하는 시작 위치(제 2 문자 직사각형 공간의 시작 좌상 좌표)에서부터 시작하여 제 2 문자의 폰트 이미지의 크기 만큼의 공간 영역에 제 2 문자의 폰트 이미지를 합성한다(S150).
만약 커닝 정보가 존재하지 않는 경우에는, 미리 결정된 기본 커닝 정보에 따라 제 2 문자의 폰트 이미지를 제 1 문자가 합성된 가사 이미지에 제 1 문자의 시작 위치로부터 기본 커닝 정보만큼 후속하는 시작 위치에 제 2 문자의 폰트 이미지를 합성한다(S160).
그리고 단계 S150과 단계 S160에 이어, 제어부(260)는 현재 합성된 제 2 문자가 추출된 가사 정보에서 마지막 문자인지를 결정하고(S170), 마지막 문자인 경우에는 현재 추출된 가사 정보에 대한 가사 이미지의 합성을 종료한다(S190). 물론 이후의 16 마디 또는 32 마다의 가사 데이터를 다시 처리하도록 외부 미디 음악의 진행상태와 동기화되어 단계 S110로부터 다시 실행할 수 있다.
마지막 문자가 아닌 경우에는, 현재 제 2 문자로 설정된 문자를 제 1 문자로 설정하고, 제 2 문자의 후속하는 문자를 제 2 문자로 설정하여 다시 단계 S130으로부터의 단계를 반복한다(S180).
이상의 흐름도에서 제 2 문자에 대한 폰트 이미지의 추출은 여러 단계 내에서 혹은 여러 단계 이후에서 이루어질 수 있다. 예를 들어 단계 S110 이후에 추출된 가사 정보 내에 있는 문자들에 대한 폰트 이미지를 모두 추출할 수도 있고, S150 단계 및 S160 단계 이전의 단계(즉 S140 이전 또는 이후)에 하나의 제 2 문자에 대한 폰트 이미지만을 추출하도록 이루어질 수도 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
110 : 휘발성 메모리 120 : 비휘발성 메모리
130 : 하드 디스크 140 : 오디오 합성부
150 : 오디오 출력부 160 : 비디오 합성부
170 : 비디오 출력부 180 : 사용자 입력부
190 : 제어 프로세서 210 : 노래 이미지 합성부
220 : 곡 정보 저장부 230 : 커닝 정보 저장부
231 : 1차 식별 테이블 232 : 2차 식별 테이블
233 : 커닝 정보 식별 테이블
240 : 폰트 이미지 저장부 250 : 폰트 이미지 크기 저장부
260 : 제어부 261 : 가사 데이터 결정부
262 : 폰트 데이터 추출부 263 : 표시 간격 결정부
264 : 가사 이미지 합성부 265 : 배경 영상 생성부

Claims (8)

  1. 커닝 기술을 이용한 노래 반주 장치로서,
    지정된 곡에 대응하는 음악 정보와 가사 정보를 저장하는 곡 정보 저장부;
    상기 가사 정보에 포함된 문자를 이미지로 표시할 수 있는 폰트 이미지를 저장하는 폰트 이미지 저장부;
    상기 가사 정보로부터 결정되는 가사 데이터의 인접하는 문자 사이의 표시 간격을 결정하기 위한 커닝(Kerning) 정보를 저장하는 커닝 정보 저장부; 및
    상기 음악 정보의 실시간 플레이에 동기화되어 상기 곡 정보 저장부에 저장된 상기 가사 정보를 표시하기 위해 상기 가사 정보로부터 상기 가사 데이터를 결정하고, 상기 가사 데이터의 문자들로부터 상기 폰트 이미지 저장부의 대응하는 폰트 이미지를 이용하여 디스플레이될 가사 이미지를 생성하는 제어부를 포함하며,
    상기 제어부는, 디스플레이될 가사 이미지에서의 상기 가사 데이터에 포함된 문자들 간의 표시 간격을 결정하기 위해, 상기 가사 데이터에 포함된 제 1 문자의 식별자와 상기 제 1 문자에 후속하는 제 2 문자의 식별자의 조합으로 상기 커닝 정보 저장부에서 식별된 커닝 정보를 이용하여 상기 제 1 문자와 상기 제 2 문자의 상기 가사 이미지에서의 표시 간격을 결정하는 것을 특징으로 하는,
    노래 반주 장치.
  2. 제 1항에 있어서,
    상기 폰트 이미지의 크기를 결정하기 위한 폰트 이미지 크기 저장부를 더 포함하며,
    상기 제어부는, 상기 디스플레이될 가사 이미지에서의 상기 가사 데이터에 포함된 문자들 간의 표시 간격을 상기 폰트 이미지의 크기에 따라 조절하는 것을 특징으로 하는,
    노래 반주 장치.
  3. 제 1항에 있어서,
    디스플레이될 가사 이미지와 배경 영상을 합성하기 위한 노래 이미지 합성부를 더 포함하며,
    상기 제어부는,
    상기 음악 정보에 동기화되어 상기 노래 이미지 합성부에 가사 이미지로 표시될 상기 가사 데이터를 상기 곡 정보 저장부에 저장된 가사 정보로부터 결정하기 위한 가사 데이터 결정부;
    상기 가사 데이터에 포함된 문자들에 대응하는 폰트 이미지들을 상기 폰트 이미지 저장부로부터 추출하기 위한 폰트 데이터 추출부;
    상기 가사 데이터 중 제 1 문자의 폰트 이미지와 상기 제 1 문자에 후속하는 제 2 문자의 폰트 이미지 간의 표시 간격을 상기 제 1 문자의 식별자와 상기 제 2 문자의 식별자의 조합에 의해 상기 커닝 정보 저장부에서 식별된 커닝 정보에 기초하여 결정하는 표시 간격 결정부; 및
    상기 노래 이미지 합성부에 표시될 가사 이미지를 생성하기 위해, 상기 제 2 문자의 폰트 이미지를 결정된 표시 간격으로 상기 제 1 문자의 폰트 이미지에 합성하는 가사 이미지 합성부를 포함하는 것을 특징으로 하는,
    노래 반주 장치.
  4. 제 3항에 있어서,
    상기 표시 간격 결정부는 식별된 커닝 정보가 상기 커닝 정보 저장부에 존재하지 않는 경우 지정된 기본 값으로 표시 간격을 결정하는 것을 특징으로 하는,
    노래 반주 장치.
  5. 제 3항에 있어서,
    상기 커닝 정보 저장부는
    상기 제 1 문자의 식별자 및 상기 제 2 문자의 식별자 중 하나의 식별자인 제 1 식별자로부터 2차 식별 테이블을 식별할 수 있는 1차 식별 테이블;
    상기 제 1 문자의 식별자 및 상기 제 2 문자의 식별자 중 상기 제 1 식별자와는 다른 제 2 식별자로부터 복수의 표시 간격 중 하나를 결정할 수 있는, 하나 이상의 2차 식별 테이블을 포함하는,
    노래 반주 장치.
  6. 커닝 기술을 이용한 노래 반주 장치에서의 가사 표시 방법으로서, 지정된 곡의 실시간 플레이에 동기화하여 실행되는, 상기 가사 표시 방법은,
    (a) 상기 지정된 곡에 대응하는 가사 정보로부터 가사 데이터를 추출하는 단계;
    (b) 추출된 가사 데이터의 문자들 중 하나를 제 1 문자로 설정하고 상기 제 1 문자에 후속하는 문자를 제 2 문자로 설정하는 단계;
    (c) 상기 제 1 문자의 식별자와 상기 제 2 문자의 식별자의 조합으로 상기 제 1 문자와 상기 제 2 문자 사이의 표시 간격인 커닝 정보를 결정하는 단계;
    (d) 상기 결정된 커닝 정보가 존재하는 경우 결정된 커닝 정보에 따라 상기 제 1 문자가 합성된 가사 이미지에 상기 제 2 문자에 대응하는 폰트 이미지를 상기 가사 이미지에 합성하고, 상기 결정된 커닝 정보가 존재하지 않는 경우 지정된 기본 커닝 정보에 따라 상기 제 1 문자가 합성된 가사 이미지에 상기 제 2 문자에 대응하는 폰트 이미지를 상기 가사 이미지에 합성하는, 합성 단계; 및
    (e) 상기 가사 데이터 중 상기 제 2 문자를 제 1 문자로 설정하고, 상기 제 2 문자의 후속하는 문자를 제 2 문자로 설정하여, 상기 (c) 및 (d) 단계를 반복하는, 반복 단계,
    를 포함하는 가사 표시 방법.
  7. 제 6항에 있어서
    상기 커닝 정보를 결정하는 단계는,
    1차 식별 테이블에서 상기 제 1 문자의 식별자 및 상기 제 2 문자의 식별자 중 하나의 식별자인 제 1 식별자로 2차 식별 테이블을 식별하는 단계;
    식별된 2차 식별 테이블에서 상기 제 1 문자의 식별자 및 상기 제 2 문자의 식별자 중 상기 제 1 식별자와는 다른 제 2 식별자로 커닝 정보를 결정하는 단계를 포함하는 것을 특징으로 하는,
    가사 표시 방법.
  8. 제 6항에 있어서,
    상기 제 2 문자에 대응하는 폰트 이미지를 추출하는 단계를 더 포함하는,
    가사 표시 방법.
KR1020110040945A 2011-04-29 2011-04-29 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법 KR101211573B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110040945A KR101211573B1 (ko) 2011-04-29 2011-04-29 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110040945A KR101211573B1 (ko) 2011-04-29 2011-04-29 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법

Publications (2)

Publication Number Publication Date
KR20120122656A KR20120122656A (ko) 2012-11-07
KR101211573B1 true KR101211573B1 (ko) 2012-12-12

Family

ID=47508883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110040945A KR101211573B1 (ko) 2011-04-29 2011-04-29 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법

Country Status (1)

Country Link
KR (1) KR101211573B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100379854B1 (ko) * 1995-06-16 2003-06-02 프란츠 플라세 바흔바우마쉬넨-인두스트리게젤샤프트 엠. 베. 하 궤도를안정시키기위한기계

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10217417A (ja) * 1997-01-31 1998-08-18 Omron Corp 文字間隔調整装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10217417A (ja) * 1997-01-31 1998-08-18 Omron Corp 文字間隔調整装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100379854B1 (ko) * 1995-06-16 2003-06-02 프란츠 플라세 바흔바우마쉬넨-인두스트리게젤샤프트 엠. 베. 하 궤도를안정시키기위한기계

Also Published As

Publication number Publication date
KR20120122656A (ko) 2012-11-07

Similar Documents

Publication Publication Date Title
CA2058668C (en) Synchronized lyric display device
US20180226101A1 (en) Methods and systems for interactive multimedia creation
CN102541819B (zh) 一种电子文档阅读模式处理的方法及装置
CA2544391A1 (en) Information storage medium containing subtitles and processing apparatus therefor
EP2442299B1 (en) Information processing apparatus, information processing method, and program
US20030177493A1 (en) Thumbnail display apparatus and thumbnail display program
CN114390220A (zh) 一种动画视频生成方法及相关装置
KR101211573B1 (ko) 커닝 기술을 이용한 노래 반주 장치 및 노래 반주 장치에서의 가사 표시 방법
KR20120129015A (ko) 어학 컨텐츠 생성 방법 및 이를 위한 단말기
JP2006227082A (ja) 歌詞と音楽との同期データ作成方法、装置、プログラムおよびプログラムを記録する記録媒体
JP5451696B2 (ja) 字幕付加装置、コンテンツデータ、字幕付加方法及びプログラム
CN115474088B (zh) 一种视频处理方法、计算机设备及存储介质
JP4226563B2 (ja) 歌曲の演奏に同期して歌詞を表示して色変えする歌詞表示方法、歌詞表示プログラム、携帯情報端末
JP2006227248A (ja) 電子音楽装置および同装置に適用されるコンピュータプログラム
JP2005055457A (ja) 楽譜表示装置及びプログラム
JP4830763B2 (ja) 画像処理システムおよび画像処理プログラム
KR102119724B1 (ko) 동영상에 대한 빠른 검색을 지원하는 단말 장치 및 그 동작 방법
JP2013161446A (ja) 情報端末装置
KR100954262B1 (ko) 멀티미디어파일의 가사 또는 자막 재생 시 어학 학습기 알고리즘 구현 및 그 방법
JP2608276B2 (ja) 文書表示装置
JP6168117B2 (ja) 楽譜情報生成装置、楽譜情報生成方法及びプログラム
KR102385779B1 (ko) 콘텐츠에 대한 자막 동기화를 수행하는 전자 장치 및 방법
KR20130001055A (ko) 한글을 이용한 중국어 입력 장치 및 방법
JP5201204B2 (ja) カラオケ装置及び歌詞テロップ表示方法
JP6821727B2 (ja) テキストデータ音声再生装置およびテキストデータ音声再生プログラム

Legal Events

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

Payment date: 20160503

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161206

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 8