KR20090074573A - System and method for processing time code of karaoke - Google Patents

System and method for processing time code of karaoke Download PDF

Info

Publication number
KR20090074573A
KR20090074573A KR1020080000396A KR20080000396A KR20090074573A KR 20090074573 A KR20090074573 A KR 20090074573A KR 1020080000396 A KR1020080000396 A KR 1020080000396A KR 20080000396 A KR20080000396 A KR 20080000396A KR 20090074573 A KR20090074573 A KR 20090074573A
Authority
KR
South Korea
Prior art keywords
variable
time
bit
time code
bit string
Prior art date
Application number
KR1020080000396A
Other languages
Korean (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 KR1020080000396A priority Critical patent/KR20090074573A/en
Publication of KR20090074573A publication Critical patent/KR20090074573A/en

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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • G11B27/3036Time code signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B31/00Arrangements for the associated working of recording or reproducing apparatus with related apparatus
    • G11B31/02Arrangements for the associated working of recording or reproducing apparatus with related apparatus with automatic musical instruments

Abstract

A karaoke system and a time code processing method thereof are provided to reduce the data amount of time codes by applying the concept of a relative time which is not an absolute time. A karaoke system comprises: an analysis part(400) classifying audio packets and marker objects by analyzing karaoke files coded with a time code of a bit unit; an audio decoder(500) extracting the playtime of audio signals by decoding the audio packets into the audio signals; an event generator(600) generating an event corresponding to the marker; and a controller(900) indicating the result of the event synchronized with the audio signal on a display part by controlling the playtime of the audio signal and the generation time of the event.

Description

가라오케 시스템 및 그의 타임 코드 처리 방법{System and method for processing time code of Karaoke}Karaoke system and its time code processing method

본 발명은 가라오케 파일의 타임 코드에 관한 것으로, 더욱 상세하게는 이웃하는 타임 코드 사이의 상대 시간을 이용하여 타임 코드의 데이터를 처리하는 가라오케 시스템 및 그의 타임 코드 처리 방법에 관한 것이다.The present invention relates to a time code of a karaoke file, and more particularly, to a karaoke system and a time code processing method thereof for processing data of a time code using a relative time between neighboring time codes.

가라오케(Karaoke)는 노래 없이 반주만을 녹음하여 이에 맞추어 노래를 부르는 대중오락의 한 형태로, 이러한 가라오케 시스템의 가장 큰 특징은 음악에 동기된 가사가 보여지는 것을 들 수 있다. Karaoke is a form of public entertainment in which only the accompaniment is recorded without a song and sings along with it. The most distinctive feature of this karaoke system is that the lyrics are synchronized with music.

이와 같은 가라오케 시스템에서 타임 코드(Time code)와 같은 동기화 정보를 저장하기 위하여 SMIL(Synchronized multimedia integration language), FLIPS(Flexile interactive presentation synchronization) 그리고 SureStream와 같은 여러 가지 방법이 이용되고 있다. In such a karaoke system, various methods, such as Synchronized Multimedia Integration Language (SMIL), Flexi Interactive Interactive Presentation Synchronization (FLIPS), and SureStream, are used to store synchronization information such as time code.

일반적으로 가라오케 시스템의 동기화 정보 중 중요한 역할을 하는 상기 타임 코드는 멀티미디어 컨텐츠에서의 동기화를 위해 광범위하게 사용되는 것으로, 타이밍 시스템에 의해 규칙적인 간격에 생성되는 숫자 부호의 순서라고 할 수 있 다. 상기 타임 코드는 가사의 디스플레이 및 페인팅과 같은 이벤트가 발생하는 시간을 시, 분, 초, 밀리초 단위(00:00:00:000)로 나타낸다. 또한, 음악에 동기된 가사가 시간의 흐름에 따라 차례로 페인팅되기 위해 가사를 이루는 글자마다 상기 타임 코드가 부여된다.In general, the time code, which plays an important role among the synchronization information of the karaoke system, is widely used for synchronization in multimedia content, and may be referred to as a sequence of numeric codes generated at regular intervals by the timing system. The time code indicates the time, in hours, minutes, seconds, and milliseconds (00: 00: 00: 000), in which events such as display and painting of lyrics occur. In addition, the time code is given to each letter constituting the lyrics so that the words synchronized with the music are painted in sequence over time.

그러나, 상기한 바와 같이 코딩된 타임 코드는 다음과 같은 문제점이 있다.However, the time code coded as described above has the following problems.

먼저, 시, 분, 초, 밀리초 단위로 표시될 수 있도록 각 시간 단위별 고정된 바이트가 할당되므로, 상기 타임 코드의 데이터량이 많아진다. 특히, 가라오케 서비스를 하는 모바일 디바이스 경우 이러한 타임 코드 데이터량은 크게 부담이 된다.First, since a fixed byte for each time unit is allocated to be displayed in units of hours, minutes, seconds, and milliseconds, the data amount of the time code increases. In particular, in the case of a mobile device providing a karaoke service, this amount of time code data is very burdensome.

또한, 영어와 같이 글자의 개수와 음절의 개수가 차이가 나는 경우에도 각 글자마다 타임 코드가 부여되므로 중복되는 타임 코드가 발생한다. 한국어는 대체적으로 글자의 개수와 음절의 개수가 동일한 반면, 영어는 글자의 개수와 음절의 개수가 동일하지 않다. 예를 들면 'apple'의 경우 글자, 즉 철자의 개수는 5개인 반면, '애플'로 발음 시 음절의 개수는 2개가 된다. 이런 경우 5개의 철자마다 타임 코드가 부여되므로, 동일한 시간을 나타내는 타임 코드가 발생하게 된다.In addition, even when the number of letters and the number of syllables are different, as in English, a time code is provided for each letter, and thus a duplicate time code occurs. In Korean, the number of letters and the number of syllables are generally the same, whereas in English, the number of letters and the number of syllables are not the same. For example, in the case of 'apple', the number of letters, that is, the number of spellings is 5, while the number of syllables is 2 when the word 'apple' is pronounced. In this case, a time code is given every five spells, and a time code indicating the same time is generated.

따라서 본 발명의 목적은 상기한 문제점을 해결하기 위한 것으로서, 타임 코드를 가변적인 비트 스트링으로 표시하여 타임 코드의 데이터량을 대폭 감소하는 것이다. Accordingly, an object of the present invention is to solve the above-described problem, and the time code is represented as a variable bit string to significantly reduce the data amount of the time code.

또 본 발명의 다른 목적은 가사를 이루는 언어 특성을 고려하여 음절단위로 타임 코드를 부여하여 불필요하게 중복되던 타임 코드를 삭제하는 것이다. In addition, another object of the present invention is to delete time codes that are redundantly unnecessary by assigning time codes in syllable units in consideration of language characteristics constituting lyrics.

상기한 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 비트 단위의 타임 코드로 코딩된 가라오케 파일을 분석하여 오디오 패킷과 마커 오브젝트로 구분하는 분석부와 상기 오디오 패킷을 오디오 신호로 디코딩하여 오디오 신호의 재생 시간을 추출하는 오디오 디코더와 상기 마커 오브젝트 내 각 마커 사이의 상대 시간 동안 상기 마커에 해당하는 이벤트를 발생하는 이벤트 발생부와 상기 오디오 신호의 재생 시간과 상기 이벤트에 대한 발생 시간을 조정하여 상기 오디오 신호와 동기된 상기 이벤트의 결과를 디스플레이부에 표시하는 제어부를 포함하여 구성된다.According to a feature of the present invention for achieving the above object, the present invention is to analyze the karaoke file coded by the time code of the bit unit and to decode the audio packet into an audio signal and an analysis unit for separating into an audio packet and a marker object An event generator for generating an event corresponding to the marker during a relative time between an audio decoder extracting a reproduction time of an audio signal and each marker in the marker object, and adjusts a reproduction time of the audio signal and an occurrence time of the event. And a controller for displaying a result of the event synchronized with the audio signal on a display unit.

상기 타임 코드는 음절을 기준으로 하여 상기 마커에 삽입된다. The time code is inserted into the marker based on the syllable.

그리고, 상기 타임 코드는 각 마커 사이의 시간차를 기준 시간에 대한 비율로 나타내고, 상기 비율을 이진수 비트 형태로 표시한 비트 스트링을 포함하여 구성된다. 이때, 상기 비트 스트링은 표시하고자 하는 비율에 따라 가변적인 비트 개 수를 가진다.The time code represents a time difference between each marker as a ratio with respect to a reference time, and includes a bit string indicating the ratio in binary bit form. In this case, the bit string has a variable number of bits according to a ratio to be displayed.

또한, 상기 타임 코드는 상기 비트 스트링 간 구별을 위해 추가된 구별 태그를 포함하여 구성된다. 이때, 상기 구별 태그는‘100’의 비트열임이 바람직하다.In addition, the time code includes a distinguishing tag added to distinguish between the bit strings. In this case, the distinguishing tag is preferably a bit string of '100'.

한편, 상기 이벤트 발생부는 상기 타임 코드를 디코딩하여 각 마커 사이의 상대 시간을 추출하는 타임 코드 디코더를 포함하여 구성된다.On the other hand, the event generating unit is configured to include a time code decoder for decoding the time code to extract the relative time between each marker.

상기 타임 코드 디코더는 상기 각 타임 코드의 디코딩시 제 1변수와 제 2변수의 값을 저장하는 변수 저장부와 상기 타임 코드를 상기 구별 태그로 구분하여 상기 비트 스트링을 획득하고 상기 획득된 비트 스트링을 연속적으로 파싱하는 파싱부와 상기 파싱 결과 파싱된 비트가 있는지를 판단하는 판단부와 상기 판단 결과 상기 파싱된 비트가 존재하는 경우, 상기 파싱된 비트의 종류에 따라 정해진 업데이트용 계산식을 통해 상기 변수 저장부에 저장된 상기 제 1변수와 제 2변수를 업데이트하는 연산부와 상기 판단 결과 상기 파싱된 비트가 미존재하는 경우, 상기 변수 저장부에 저장된 상기 제 1변수와 제 2변수를 추출용 계산식에 대입시켜 계산하여 상기 상대 시간을 추출하는 추출부를 포함하여 구성된다.The time code decoder obtains the bit string by dividing a variable storage unit for storing the values of the first variable and the second variable and the time code into the distinguishing tag when decoding the respective time codes, and obtains the obtained bit string. A parsing unit that parses continuously, a determining unit that determines whether there is a parsed bit as a result of the parsing, and when the parsed bit exists as a result of the determination, storing the variable through an update formula determined according to the type of the parsed bit A calculation unit for updating the first variable and the second variable stored in the unit, and if the parsed bit is not present as a result of the determination, the first variable and the second variable stored in the variable storage unit are substituted into an expression for extracting And an extraction unit for calculating and extracting the relative time.

여기서, 상기 업데이트용 계산식은 상기 파싱된 비트가 1인 경우 다음 식 1이고, 상기 파싱된 비트가 0인 경우 다음 식 2이다.Herein, the update calculation equation is Equation 1 when the parsed bit is 1, and Equation 2 when the parsed bit is 0.

제 2변수 = 제 2변수 + 1 (식 1)Second Variable = Second Variable + 1 (Equation 1)

제 1변수 = 제 1변수 + 0.5 2변수 (식 2)First variable = first variable + 0.5 The 2 variables (Equation 2)

그리고, 상기 추출용 계산식은 다음 식 3이다.The extraction formula is as follows.

상대 시간 = (제 1변수 + 0.5 2변수) * 기준 시간 (식 3)Relative time = (first variable + 0.5 second 2 variables ) * reference time (Equation 3)

이때, 상기 기준 시간은 사용자에 의해 선택되는 곡 특성에 따라 다르게 설정가능하며, 상기 이벤트는 상기 오디오 신호와 동기된 가사가 페인팅되는 이벤트를 포함한다.In this case, the reference time may be set differently according to the song characteristic selected by the user, and the event may include an event in which the lyrics synchronized with the audio signal are painted.

그리고, 상기 가라오케 파일은 ASF파일을 포함한다.The karaoke file includes an ASF file.

상기한 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 본 발명은 가라오케 파일의 타임 코드를 이진수 비트 형태로 부호화하는 타임 코드의 코딩 방법과 상기 비트로 부호화된 타임 코드를 각 마커 사이의 상대 시간으로 복호화하는 타임 코드의 디코딩 방법을 포함하여 구성된다. According to another aspect of the present invention for achieving the above object, the present invention provides a method of coding a time code that encodes a time code of a karaoke file in the form of a binary bit, and the time code encoded by the bit as a relative time between each marker. And a method of decoding a time code to be decoded.

여기서, 상기 타임 코드가 음절 기준으로 마커에 삽입되도록 한다.Here, the time code is inserted into the marker on a syllable basis.

상기 타임 코드의 코딩 방법은 상기 가라오케 파일의 기준 시간을 설정하는 단계와 상기 가라오케 파일에서 시간 정보가 요구되는 마커 간 시간차를 추출하는 단계와 상기 시간차를 상기 기준 시간에 대한 비율로 전환하는 단계와 상기 전환된 비율을 가변적인 비트 스트링으로 전환하는 단계와 상기 비트 스트링의 끝에 구별 태그를 추가하는 단계를 포함하여 구성된다.The coding method of the time code may include setting a reference time of the karaoke file, extracting a time difference between markers requiring time information from the karaoke file, converting the time difference into a ratio with respect to the reference time, and Converting the converted ratio into a variable bit string and adding a distinct tag to the end of the bit string.

상기 전환된 비율을 가변적인 비트 스트링으로 전환하는 단계에서 미리 설정된 코드워드 생성 규칙에 따라 각 비율에 일대일 매칭되도록 가변적인 비트 스트링이 정리된 정보테이블을 참조하여 전환된다.In the step of converting the converted ratio into a variable bit string, the variable bit string is converted with reference to the information table in which the variable bit string is arranged one-to-one to each ratio according to a preset codeword generation rule.

한편, 상기 타임 코드의 디코딩 방법은 상기 비트 스트링과 상기 구별 태그 로 이루어진 코드워드를 상대 시간으로 복호화하기 위한 제 1변수와 제 2변수를 초기화하는 단계와 상기 코드워드를 파싱하는 단계와 상기 파싱 결과, 상기 비트 스트링에서 파싱된 비트가 있는지를 판단하는 단계와 상기 비트 스트링에서 파싱된 비트가 존재하는 경우, 상기 파싱된 비트에 따라 상기 제 1변수와 제 2변수를 업데이트하는 단계와 상기 비트 스트링에서 파싱된 비트가 미존재하는 경우, 상기 제 1변수와 제 2변수의 최종값을 통해 상기 상대 시간을 획득하는 단계를 포함하여 구성된다.On the other hand, the decoding method of the time code comprises the steps of initializing a first variable and a second variable for decoding the codeword consisting of the bit string and the distinguishing tag in a relative time, parsing the codeword and the parsing result Determining whether there is a bit parsed in the bit string, and if there is a bit parsed in the bit string, updating the first variable and the second variable according to the parsed bit and in the bit string. And if the parsed bits do not exist, obtaining the relative time through the final values of the first variable and the second variable.

상기 제 1변수와 제 2변수를 업데이트하는 단계에서 상기 파싱된 비트가 1인 경우 상기 식 1을 적용하여 상기 제 1변수와 제 2변수를 각각 업데이트하고, 상기 파싱된 비트가 0인 경우 상기 식 2를 적용하여 상기 제 1변수와 제 2변수를 각각 업데이트한다.When the parsed bit is 1 in the step of updating the first variable and the second variable, the first variable and the second variable are updated by applying Equation 1, and when the parsed bit is 0, the equation Apply 2 to update the first and second variables, respectively.

상기 상대 시간을 획득하는 단계에서 상기 상대 시간을 상기 식 3을 적용하여 획득한다.In the obtaining of the relative time, the relative time is obtained by applying Equation 3.

이때, 재생되는 곡 특성에 따라 상기 기준 시간이 다르게 설정가능하다.In this case, the reference time may be set differently according to the tune characteristic to be reproduced.

그리고, 상기 구별 태그를 '100'으로 함이 바람직하다.In addition, it is preferable to set the distinguishing tag to '100'.

상기와 같이 구성되는 본 발명에 의한 가라오케 시스템 및 그의 타임 코드 처리 방법에서는 다음과 같은 효과를 얻을 수 있다.In the karaoke system and the time code processing method according to the present invention configured as described above, the following effects can be obtained.

절대 시간이 아닌 상대 시간의 개념을 적용하여 타임 코드의 데이터량을 대폭 감소하는 효과가 있다. 이에 따라 모바일 디바이스에서 가라오케 서비스의 구현 이 용이해진다. By applying the concept of relative time rather than absolute time, the amount of time code data can be greatly reduced. This facilitates the implementation of karaoke services on mobile devices.

그리고, 가라오케 파일의 타임 코드 개수를 최소화할 수 있는 효과가 있다. In addition, there is an effect of minimizing the number of time codes of the karaoke file.

또한, 추가와 시프트 동작만으로 간단하게 타임 코드를 획득하는 효과가 있다.In addition, there is an effect of simply acquiring a time code by only adding and shifting operations.

그리고, 타임 코드에 다른 합성 내용을 쉽게 적용할 수 있는 효과가 있다. In addition, there is an effect that it is easy to apply different composite contents to the time code.

이하 본 발명에 의한 가라오케 시스템 및 그의 타임 코드 처리 방법을 첨부된 도면에 도시된 바람직한 실시 예를 참고하여 상세하게 설명한다.Hereinafter, a karaoke system and a time code processing method thereof according to the present invention will be described in detail with reference to a preferred embodiment shown in the accompanying drawings.

도 1에는 본 발명의 바람직한 실시 예에 따른 가라오케 시스템의 구성이 도시되어 있다. 1 illustrates a configuration of a karaoke system according to a preferred embodiment of the present invention.

도 1을 살펴보면, 본 발명은 마커 사이의 시간차를 기준 시간에 대한 비율로 나타내고, 상기 비율을 비트 단위의 타임 코드로 코딩한 가라오케 파일을 저장하는 저장부(100)가 구비된다. 상기 가라오케 파일은 헤더 오브젝트와 데이터 오브젝트로 구성되며, 상기 데이터 오브젝트는 오디오 데이터와 마커 오브젝트를 포함한다. 그래서, 상기 가라오케 파일은 최근에 널리 사용되는 능동 스트리밍 포맷(Active Streaming Format, ASF)의 파일임이 바람직하다. 또한, 상기 저장부(100)는 1개 이상의 저장매체를 포함하며, 상기 가라오케 파일과 관련된 비디오 파일도 저장될 수 있다. Referring to FIG. 1, the present invention includes a storage unit 100 that represents a time difference between markers as a ratio with respect to a reference time, and stores a karaoke file in which the ratio is coded by a time code of a bit unit. The karaoke file is composed of a header object and a data object, and the data object includes audio data and a marker object. Thus, the karaoke file is preferably a file of an active streaming format (ASF), which is widely used recently. In addition, the storage unit 100 may include one or more storage media, and may store video files related to the karaoke file.

상기 타임 코드는 음절을 기준으로 하여 상기 마커에 삽입되며, 비트 스트링과 구별 태그를 포함하여 구성된다. 여기서, 상기 비트 스트링은 각 마커 사이의 시간차를 기준 시간에 대한 비율로 나타냈을 때, 상기 비율을 이진수 비트 형태로 표시한 것이며, 표시하고자 하는 비율에 따라 가변적인 개수를 가짐이 바람직하다. 또한, 상기 구별 태그는 상기 비트 스트링 간 구별을 위해 추가되는 것으로,‘100’의 비트열임이 바람직하다.The time code is inserted into the marker based on a syllable and includes a bit string and a distinguishing tag. Here, when the time difference between each marker is expressed as a ratio with respect to the reference time, the bit string is expressed in binary bit form, and it is preferable to have a variable number according to the ratio to be displayed. In addition, the distinguishing tag is added to distinguish between the bit strings, and is preferably a bit string of '100'.

상기 저장부(100)에 저장된 곡 중에서 데이터 및 명령을 적어도 하나 이상 입력하는 입력부(200)를 통해 가라오케 서비스를 받고자 하는 곡이 선택되면, 리트리버부(300)는 상기 저장부(100)에서 해당되는 가라오케 파일을 로드한 후 상기 가라오케 파일의 헤더 오브젝트와 데이터 오브젝트를 분리한다. 그리고 상기 리트리버부(300)는 상기 데이터 오브젝트를 분석부(400)로 전송한다. 여기서, 상기 헤더 오브젝트는 헤더 디코더(미도시)로 전송되며, 본 발명과 관련이 적기 때문에 이에 관한 설명을 생략하도록 한다.If a song to receive karaoke service is selected from the songs stored in the storage unit 100 through the input unit 200 for inputting at least one data and command, the retriever unit 300 corresponds to the storage unit 100. After loading the karaoke file, the header object and the data object of the karaoke file are separated. The retriever unit 300 transmits the data object to the analysis unit 400. In this case, the header object is transmitted to a header decoder (not shown), and thus description thereof will be omitted because it is not related to the present invention.

상기 분석부(400)는 전송된 상기 데이터 오브젝트를 분석하여 오디오 패킷과 마커 오브젝트로 구분하여 오디오 디코더(500)와 이벤트 발생부(600)로 각각 전송한다.The analysis unit 400 analyzes the transmitted data object, divides the data object into an audio packet and a marker object, and transmits the data object to the audio decoder 500 and the event generator 600, respectively.

상기 오디오 디코더(500)는 상기 오디오 패킷을 오디오 신호로 디코딩하여 오디오 신호의 재생시간을 추출한다.The audio decoder 500 decodes the audio packet into an audio signal and extracts a reproduction time of the audio signal.

그리고, 상기 이벤트 발생부(600)는 상기 마커 오브젝트 내 각 마커 사이의 상대 시간 동안 상기 마커에 해당하는 이벤트를 발생한다. 특히, 상기 이벤트 발생부(600)는 상기 타임 코드를 디코딩하여 각 마커 사이의 상대 시간을 추출하는 타임 코드 디코더(700)를 포함하여 구성된다.The event generator 600 generates an event corresponding to the marker during the relative time between the markers in the marker object. In particular, the event generator 600 is configured to include a time code decoder 700 for decoding the time code to extract the relative time between each marker.

또한, 본 발명은 상기 오디오 신호의 재생 시간과 상기 이벤트가 발생하는 시간을 조정하여 상기 오디오 신호와 동기된 상기 이벤트의 결과를 디스플레이부(800)에 표시하는 제어부(900)가 구비된다.In addition, the present invention includes a control unit 900 for adjusting the playback time of the audio signal and the time at which the event occurs to display a result of the event synchronized with the audio signal on the display unit 800.

한편, 상기 타임 코더 디코더를 도 2를 참조하여 설명하면 다음과 같다.Meanwhile, the time coder decoder will be described with reference to FIG. 2.

상기 타임 코드 디코더(700)는 도시된 바와 같이 변수 저장부(710), 파싱부(720), 판단부(730), 연산부(740) 그리고 추출부(750)를 포함하여 구성된다. The time code decoder 700 includes a variable storage unit 710, a parser 720, a determiner 730, an operator 740, and an extractor 750, as shown.

먼저 상기 변수 저장부(710)는 상기 각 타임 코드의 디코딩시 제 1변수(이하, RT라 칭함)와 제 2변수(이하, WFRT라 칭함)의 값을 저장한다. 상기 RT와 WFRT는 후술될 디코딩 작업에 따라 그 값이 계속적으로 변한다.First, the variable storage unit 710 stores values of a first variable (hereinafter referred to as RT) and a second variable (hereinafter referred to as WFRT) when decoding each time code. The RT and WFRT continuously change their values according to a decoding operation to be described later.

그리고 상기 파싱부(720)는 상기 타임 코드를 구별 태그를 통해 구분하여 비트 스트링을 획득하고 상기 획득된 비트 스트링의 비트를 상위 비트부터 연속적으로 파싱한다. The parser 720 obtains a bit string by dividing the time code through a distinguishing tag, and continuously parses the bits of the obtained bit string from the upper bits.

상기 파싱부(720)에 의해 파싱된 비트가 있는지 상기 판단부(730)에서 판단하고, 상기 판단 결과에 따라 이후 처리 과정이 결정된다. 즉, 상기 판단 결과 상기 파싱된 비트가 존재하는 경우는 상기 연산부(740)에서 상기 타임 코드의 디코딩 과정이 진행되는 반면, 상기 파싱된 비트가 미존재하는 경우는 상기 추출부(750)에서 상기 타임 코드의 디코딩 과정이 진행된다.The determination unit 730 determines whether there is a bit parsed by the parser 720, and a subsequent process is determined according to the determination result. That is, when the parsed bit is present as a result of the determination, the decoding process of the time code is performed by the operation unit 740, whereas when the parsed bit is not present, the extraction unit 750 determines the time. The decoding process of the code proceeds.

상기 연산부(740)는 상기 비트의 종류에 따라 정해진 업데이트용 계산식을 통해 상기 변수 저장부(710)에 저장된 상기 RT와 WFRT를 업데이트한다. 이때, 상기 파싱된 비트가 1인 경우 상기 업데이트용 계산식은 다음 수학식 1과 같고, 상기 파 싱된 비트가 0인 경우 상기 업데이트용 계산식은 다음 수학식 2와 같다.The operation unit 740 updates the RT and the WFRT stored in the variable storage unit 710 through an update calculation formula determined according to the type of the bit. In this case, when the parsed bit is 1, the update calculation formula is as follows. When the parsed bit is 0, the update calculation formula is as follows.

WFRT = WFRT + 1WFRT = WFRT + 1

RT = RT + 0.5WFRT RT = RT + 0.5 WFRT

반면, 상기 추출부(750)는 상기 변수 저장부(710)에 저장된 상기 RT와 WFRT를 다음 수학식 3에 대입시켜 상대 시간을 추출한다. On the other hand, the extractor 750 extracts the relative time by substituting the RT and the WFRT stored in the variable storage unit 710 into Equation 3 below.

상대 시간 = (RT + 0.5WFRT) * 기준 시간 Relative time = (RT + 0.5 WFRT ) * reference time

이어 상기한 바와 같은 구성을 가지는 본 발명의 실시예에 의한 타임 코드 처리 방법을 상세하게 설명한다. 참고로, 본 발명과 밀접한 가사 페인팅에 관한 마커와 상기 마커에 부여되는 타임 코드를 먼저 설명한 다음, 상기 타임 코드의 코딩 및 디코딩 방법에 대하여 설명하도록 한다.Next, the time code processing method according to the embodiment of the present invention having the above configuration will be described in detail. For reference, a marker relating to lyrics painting closely related to the present invention and a time code assigned to the marker are described first, and then a coding and decoding method of the time code will be described.

도 3에는 상기 가라오케 시스템에서 지원하는 가사 페인팅과 관련된 각종 마커들이 도시되어 있다. 도면에 나타난 SS(Start Song), ES(End Song) 그리고 SI(Start Interbide)와 같은 마커들은 노래의 시작, 노래의 끝, 간주의 시작을 통지하는데 사용된다. 그리고, DT(Display Text)가 호출되면 화면에 글자를 보여주고, ST(Start Text)가 호출되면 화면에 보여진 첫 번째 글자가 페인팅되기 시작한다. 특히, 글자를 부드럽게 페인팅하기 위해 각 글자는 몇 개의 세그먼트로 동등하 게 분할되어 있고, 이 세그먼트를 페인팅하기 위해서는 SL(Start painting a Letter)이 호출된다. EL(End Line)이 호출되면 글자의 라인이 삭제된다. 미설명된 SC(Start Counter)는 글자가 페인팅되기 전에 카운터를 세기 위한 마커이다.FIG. 3 shows various markers related to lyrics painting supported by the karaoke system. Markers such as SS (Start Song), ES (End Song) and SI (Start Interbide) shown in the figure are used to notify the beginning of the song, the end of the song, and the start of the consideration. Then, when DT (Display Text) is called, letters are displayed on the screen, and when ST (Start Text) is called, the first letter shown on the screen starts to be painted. In particular, to smoothly paint the letters, each letter is divided equally into several segments. To paint this segment, SL (Start painting a Letter) is called. When EL (End Line) is called, the line of character is deleted. The unexplained Start Counter (SC) is a marker for counting the counter before the letters are painted.

상기 마커들은 필요에 따라 상기 타임 코드가 부여된다. 즉, 종래에는 도 4(a)와 같이 가사를 이루는 각 철자의 시작 세그먼트마다 상기 타임 코드가 부여되었으나, 본 발명에서는 도 4(b)와 같이 각 음절의 시작 세그먼트에 상기 타임 코드가 부여된다. 이때 상기 타임 코드는 시:분:초:밀리초 형태가 아닌 이진수의 비트 형태이다. 이와 같이 상기 마커에 음절 단위로 상기 타임 코드가 부여되기 때문에 상기 가라오케 파일의 타임 코드 개수가 최소화된다. The markers are given the time code as needed. That is, in the related art, the time code is assigned to each start segment of the spelling as shown in FIG. 4 (a). However, in the present invention, the time code is assigned to the start segment of each syllable as shown in FIG. 4 (b). In this case, the time code is in the form of a binary bit rather than an hour: minute: second: millisecond. As such, since the time code is assigned to the marker in syllable units, the number of time codes of the karaoke file is minimized.

도 5에는 상기 타임 코드를 이진수 비트 형태로 부호화하는 타임 코드의 코딩 방법이 도시되어 있다. 5 shows a method of coding a time code for encoding the time code in binary bit form.

도 5에 도시된 바와 같이, 상기 가라오케 파일의 기준 시간을 설정한다(S100). 이때, 상기 기준 시간은 상기 타임 코드의 데이터량을 감소할 수 있도록 음악에서 주로 사용하는 2분, 4분, 8분 음표들의 주기로 설정됨이 바람직하다. 이와 같이 상기 기준 시간이 상기 음표들의 주기로 설정되면 상기 기준 시간에 대한 비율을 보다 간략하게 표현할 수 있어 상기 타임 코드의 데이터량이 감소될 수 있다.As shown in FIG. 5, a reference time of the karaoke file is set (S100). In this case, the reference time is preferably set to a period of two-minute, four-minute, and eighth notes used mainly in music so as to reduce the data amount of the time code. As such, when the reference time is set as the period of the notes, the ratio with respect to the reference time can be expressed more simply, and thus the data amount of the time code can be reduced.

다음, 시간 정보가 요구되는 마커 간 시간차를 추출한다(S110). 여기서, 상기 마커들에 상기 시간 정보의 부여시, 한 음절을 형성하는 글자의 페인팅 시간은 동일하므로, 해당 음절의 첫 번째 마커에 시간 정보를 부여함이 바람직하다. 만약 이웃하는 두 마커의 절대 시간이 각각 02:34:40:2000, 02:34:40:0000이라면, 상기 마커 간 시간차는 2000밀리초가 된다. Next, a time difference between markers for which time information is required is extracted (S110). Here, when the time information is given to the markers, the painting time of the letters forming one syllable is the same, and therefore, time information is preferably given to the first marker of the syllable. If the absolute time of two neighboring markers is 02: 34: 40: 2000 and 02: 34: 40: 0000, respectively, the time difference between the markers is 2000 milliseconds.

이어, 상기 추출된 마커 간 시간차, 즉 상대 시간을 상기 기준 시간에 대한 비율로 전환한다(S120). 상기 예와 같이 상기 마커 간 시간차가 2000밀리초이고, 상기 기준 시간이 1000밀리초로 셋팅된 경우라면 상기 기준 시간에 대한 비율은 2가 된다.Then, the time difference between the extracted markers, that is, the relative time is converted into a ratio with respect to the reference time (S120). If the time difference between the markers is 2000 milliseconds and the reference time is set to 1000 milliseconds as in the above example, the ratio to the reference time is 2.

그리고나서, 상기 전환된 기준 시간에 대한 비율을 다시 가변적인 비트 스트링으로 전환한다(S130). 이때, 미리 설정된 코드워드 생성 규칙에 따라 각 비율에 일대일 매칭되도록 비트 스트링이 정리된 정보테이블을 참조하여 전환함이 바람직하다. 상기 정보테이블은 표 1과 같고, 이를 참조하여 상기 예의 비트 스트링을 구해보면, 전환된 기준 시간에 대한 비율이 2이므로 이에 따른 비트 스트링은‘0’이 된다.Then, the ratio of the converted reference time is converted back into a variable bit string (S130). At this time, it is preferable to switch with reference to the information table in which the bit strings are arranged to match one-to-one to each ratio according to a preset codeword generation rule. The information table is shown in Table 1, and when the bit string of the above example is obtained, the bit string is '0' because the ratio of the converted reference time is 2.

비율ratio 비트 스트링+구별 태그Bit string + distinct tag 비트 길이Bit length 1/21/2 1+1001 + 100 44 1/41/4 11+10011 + 100 55 1/81/8 111+100111 + 100 66 1One 'none'+100'none' + 100 33 22 0+1000 + 100 44 33 00+10000 + 100 55 3/43/4 101+100101 + 100 66 5/85/8 1011+1001011 + 100 77 33/1633/16 001111+100001111 + 100 99

마지막으로 상기 비트 스트링의 끝에 구별 태그를 추가한다(S140). 상기 구별 태그는 특이한 시퀀스로 이루어져 각 비트 스트링을 구별해주어야 한다. 그러므로, 상기 코드워드 생성 규칙의 특성상 비트‘1’다음에 연속적인 비트‘0’이 결코 발생하지 않는다고 간주하여 상기 구별태그로 비트열‘100’을 사용할 수 있다. 참고로, 상기 비트 스트링과 상기 구별 태그가 차례로 나열된 것을 코드워드라고 한다.Finally, a distinguishing tag is added at the end of the bit string (S140). The distinguishing tag must consist of a unique sequence to distinguish each bit string. Therefore, the bit string '100' may be used as the distinguishing tag, considering that the continuous bit '0' is never generated after the bit '1' due to the nature of the codeword generation rule. For reference, the bit string and the distinguishing tag are sequentially listed as codewords.

이하, 비트로 부호화된 타임 코드를 가사 페인팅에 따른 이벤트 간 상대 시간으로 복호화하는 타임 코드의 디코딩 방법을 도 6를 참조하여 설명하기로 한다. 설명의 편의상 상기 코드워드에서 구별 태그를 제외한 비트 스트링이‘1011’인 것을 가정한다. Hereinafter, a method of decoding a time code that decodes a bit coded time code into a relative time between events according to lyrics painting will be described with reference to FIG. 6. For convenience of description, it is assumed that the bit string excluding the distinguishing tag in the codeword is '1011'.

우선, 상기 타임 코드 디코더(700)를 통한 타임 코드의 디코딩에 앞서 상기 입력부(200)에 입력된 명령에 따라 선택된 가라오케 파일을 상기 저장부(100)로부터 상기 리트리버부(300)로 로드한다. 상기 리트리버부(300)에 의해 상기 로드된 가라오케 파일의 데이터 오브젝트가 상기 분석부(400)로 전송된다. 상기 분석부(400)는 상기 데이터 오브젝트를 분석하여 오디오 패킷과 마커 오브젝트로 구분하고, 상기 마커 오브젝트가 상기 타임 코드 디코더(700)로 전송되며, 상기 마커 오브젝트 내에는 각종 마커와 함께 상기 코드워드가 포함되어 있다. First, prior to decoding the time code through the time code decoder 700, the karaoke file selected according to the command input to the input unit 200 is loaded from the storage unit 100 to the retriever unit 300. The data object of the loaded karaoke file is transmitted to the analysis unit 400 by the retriever unit 300. The analyzer 400 analyzes the data object and divides the data object into an audio packet and a marker object, and the marker object is transmitted to the time code decoder 700, and the codeword with various markers in the marker object Included.

이와 같은 상태에서, 상기 비트 스트링이 포함된 코드워드가 상기 타임 코드 디코더(700)로 입력되면, 상기 변수 저장부(710)는 상기 RT와 WFRT의 값을 초기화한다(S200). 이때, 상기 RT와 WFRT는 각각 0의 값을 가짐이 바람직하다.In this state, when the codeword including the bit string is input to the time code decoder 700, the variable storage unit 710 initializes the values of the RT and the WFRT (S200). In this case, the RT and WFRT preferably has a value of 0, respectively.

상기 초기화 이후, 상기 파싱부(720)는 상기 비트 스트링이 포함된 상기 코드워드를 파싱한다(S210). 상기 예에서 가장 먼저 파싱되는 비트는‘1’이 된다.After the initialization, the parser 720 parses the codeword including the bit string (S210). In this example, the first parsed bit is '1'.

그리고 나서 상기 판단부(730)는 상기 비트 스트링에서 파싱된 비트의 존재유무를 판단한다(S220). 이때, 상기 판단부(730)는 상기 구별 태그를 이용하여 다수의 코드워드를 구분하고, 하나의 코드워드에서 상기 구별 태그를 제외한 비트열을 상기 비트 스트링으로 판단한다. Then, the determination unit 730 determines the existence of the bits parsed in the bit string (S220). In this case, the determination unit 730 distinguishes a plurality of codewords using the distinguishing tag, and determines a bit string excluding the distinguishing tag from one codeword as the bit string.

상기 판단 결과, 상기 비트 스트링에서 파싱된 비트가 존재하는 경우에는 상기 연산부(740)에서 상기 파싱된 비트의 종류를 구분하여 이에 따라 각기 다른 연산식을 적용한다(S230). 상기 예와 같이 상기 파싱된 비트가‘1’이면, 상기 연산부(740)는 상기 변수 저장부(710)에 저장된 WFRT를 상기 수학식 1을 통해 업데이트시킨다(S240). 즉, 상기 연산부(740)는 상기 WFRT를 초기값 0에서 1로 업데이트시킨다. 그리고나서 상기 파싱부(720)는 다음 비트를 파싱한다.As a result of the determination, when there are bits parsed from the bit string, the operation unit 740 classifies the types of the parsed bits and applies different calculation expressions accordingly (S230). If the parsed bit is '1' as in the above example, the operation unit 740 updates the WFRT stored in the variable storage unit 710 through Equation 1 (S240). That is, the calculator 740 updates the WFRT from an initial value of 0 to 1. The parser 720 then parses the next bit.

설명의 편의상 가정한 비트 스트링의 다음 비트는‘0’이므로, 상기 연산부(740)는 상기 변수 저장부(710)에 저장된 RT를 상기 수학식 2를 통해 업데이트시킨다(S242). 즉, 상기 연산부(740)는 상기 RT를 0에서 1/2로 업데이트시킨다. 그리고나서 상기 파싱부(720)는 다음 비트를 파싱한다.Since the next bit of the assumed bit string is '0' for convenience of description, the operation unit 740 updates the RT stored in the variable storage unit 710 through Equation 2 (S242). That is, the calculator 740 updates the RT from 0 to 1/2. The parser 720 then parses the next bit.

이후, 상기 연산부(740)는 세번째 파싱된 비트‘1’에 의한 연산작용으로 상기 WFRT를 1에서 2로 업데이트시키고, 네번째 파싱된 비트‘1’에 의한 연산작용으로 상기 WFRT를 2에서 3으로 업데이트시킨다.Thereafter, the operation unit 740 updates the WFRT from 1 to 2 by an operation of the third parsed bit '1', and updates the WFRT from 2 to 3 by an operation of the fourth parsed bit '1'. Let's do it.

이후, 상기 비트 스트링에서 파싱된 비트가 미존재하는 경우 상기 추출부(750)는 상기 수학식 3에 상기 변수 저장부(710)에 저장된 RT와 WFRT 를 대입시켜 상대 시간을 획득한다(S250). 상기 예의 경우, 상기 변수 저장부(710)에 최종적으로 저장된 RT와 WFRT의 값이 각각 1/2, 3이므로 상대 시간은 (5/8 * 기준 시간)이 된다. 상기 상대 시간이 획득되면 다음 코드워드를 파싱하기 위해 상기 변수 저장부(710)는 상기 RT와 WFRT를 초기화시킨다.Thereafter, when there is no bit parsed from the bit string, the extractor 750 obtains a relative time by substituting RT and WFRT stored in the variable storage unit 710 in Equation 3 (S250). In the above example, since the values of RT and WFRT finally stored in the variable storage unit 710 are 1/2 and 3, respectively, the relative time becomes (5/8 * reference time). When the relative time is obtained, the variable storage unit 710 initializes the RT and the WFRT to parse the next codeword.

상기와 같이 상기 타임 코더 디코더에 의해 상기 타임 코드가 디코딩되어 상대 시간이 획득된 이후 상기 이벤트 발생부(600)는 상기 오디오 디코더(500)로부터 전송된 시간 정보를 참조하여 상기 마커에 해당하는 이벤트를 생성시켜 상기 상대 시간 동안 실행시킨다. As described above, after the time code is decoded by the time coder decoder to obtain a relative time, the event generator 600 refers to the time information transmitted from the audio decoder 500 to detect an event corresponding to the marker. Generated and run for the relative time.

그리고 나서, 상기 제어부(900)는 상기 오디오 신호와 동기된 상기 가사의 페인팅 결과를 상기 디스플레이부(800)에 표시한다.Then, the controller 900 displays the painting result of the lyrics synchronized with the audio signal on the display unit 800.

이상과 같이 본 발명의 도시된 실시 예를 참고하여 설명하고 있으나, 이는 예시적인 것들에 불과하며, 본 발명의 속하는 기술분야의 통상 지식을 가진 자라면 본 발명의 요지 및 범위에 벗어나지 않으면서도 다양한 변형, 변경 및 균등한 타 실시 예들이 가능하다는 것을 명백하게 알 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적인 사상에 의해 정해져야 할 것이다.Although described with reference to the illustrated embodiment of the present invention as described above, this is merely exemplary, those skilled in the art to which the present invention pertains various modifications without departing from the spirit and scope of the present invention. It will be apparent that other embodiments may be modified and equivalent. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1은 본 발명의 바람직한 실시 예에 따른 가라오케 시스템의 구성도.1 is a block diagram of a karaoke system according to a preferred embodiment of the present invention.

도 2는 도 1의 타임 코드 디코더의 구성도.2 is a block diagram of a time code decoder of FIG. 1;

도 3은 가라오케 시스템에서 지원하는 가사 페인팅과 관련된 마커의 적용례.3 is an application example of a marker associated with the housework painting supported by the karaoke system.

도 4는 타임 코드 개수를 최소화시키는 방법을 설명하기 위한 비교도.4 is a comparison diagram for explaining a method of minimizing the number of time codes.

도 5는 본 발명의 바람직한 실시 예를 위한 타임 코드의 코딩 순서도.5 is a coding sequence diagram of a time code for a preferred embodiment of the present invention.

도 6은 본 발명의 바람직한 실시 예를 위한 타임 코드의 디코딩 순서도.6 is a flowchart illustrating decoding of a time code for a preferred embodiment of the present invention.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100 : 저장부 200 : 입력부100: storage unit 200: input unit

300 : 리트리버부 400 : 분석부300: Retriever 400: Analysis

500 : 오디오 디코더 600 : 이벤트 발생부500: audio decoder 600: event generator

700 : 타임 코드 디코더 710 : 변수 저장부700: time code decoder 710: variable storage unit

720 : 파싱부 730 : 판단부720: Parsing unit 730: Determination unit

740 : 연산부 750 : 추출부740: calculation unit 750: extraction unit

800 : 디스플레이부 900 : 제어부800 display unit 900 control unit

Claims (22)

비트 단위의 타임 코드로 코딩된 가라오케 파일을 분석하여 오디오 패킷과 마커 오브젝트로 구분하는 분석부와;An analysis unit for analyzing a karaoke file coded with a time code of a bit unit and classifying the karaoke file into an audio packet and a marker object; 상기 오디오 패킷을 오디오 신호로 디코딩하여 오디오 신호의 재생 시간을 추출하는 오디오 디코더와;An audio decoder for decoding the audio packet into an audio signal and extracting a reproduction time of the audio signal; 상기 마커 오브젝트 내 각 마커 사이의 상대 시간 동안 상기 마커에 해당하는 이벤트를 발생하는 이벤트 발생부와;An event generator for generating an event corresponding to the marker during a relative time between the markers in the marker object; 상기 오디오 신호의 재생 시간과 상기 이벤트에 대한 발생 시간을 조정하여 상기 오디오 신호와 동기된 상기 이벤트의 결과를 디스플레이부에 표시하는 제어부:를 포함하여 구성됨을 특징으로 하는 가라오케 시스템.And a controller configured to adjust a reproduction time of the audio signal and an occurrence time of the event to display a result of the event synchronized with the audio signal on a display unit. 제 1항에 있어서,The method of claim 1, 상기 타임 코드는, The time code is, 음절을 기준으로 하여 상기 마커에 삽입되는 것을 특징으로 하는 가라오케 시스템.Karaoke system, characterized in that inserted into the marker based on the syllable. 제 2항에 있어서,The method of claim 2, 상기 타임 코드는,The time code is, 각 마커 사이의 시간차를 기준 시간에 대한 비율로 나타내고, 상기 비율을 이진수 비트 형태로 표시한 비트 스트링을 포함하여 구성됨을 특징으로 하는 가라오케 시스템.Karaoke system, characterized in that it comprises a bit string representing the time difference between each marker as a ratio to the reference time, the ratio in the form of binary bits. 제 3항에 있어서,The method of claim 3, wherein 상기 비트 스트링은, The bit string is, 표시하고자 하는 비율에 따라 가변적인 비트 개수를 가짐을 특징으로 하는 가라오케 시스템.Karaoke system characterized by having a variable number of bits according to the ratio to be displayed. 제 2항에 있어서,The method of claim 2, 상기 타임 코드는, The time code is, 상기 비트 스트링 간 구별을 위해 추가된 구별 태그를 포함하여 구성됨을 특징으로 하는 가라오케 시스템.And a distinguishing tag added to distinguish between the bit strings. 제 5항에 있어서,The method of claim 5, 상기 구별 태그는,The distinguishing tag is ‘100’의 비트열인 것을 특징으로 하는 가라오케 시스템.Karaoke system characterized in that the bit string of '100'. 제 4항 또는 제 6항에 있어서,The method according to claim 4 or 6, 상기 이벤트 발생부는,The event generator, 상기 타임 코드를 디코딩하여 각 마커 사이의 상대 시간을 추출하는 타임 코 드 디코더를 포함하여 구성됨을 특징으로 하는 가라오케 시스템.And a time code decoder to decode the time code to extract the relative time between each marker. 제 7항에 있어서,The method of claim 7, wherein 상기 타임 코드 디코더는,The time code decoder, 상기 각 타임 코드의 디코딩시 제 1변수와 제 2변수의 값을 저장하는 변수 저장부와;A variable storage unit for storing values of a first variable and a second variable when decoding each time code; 상기 타임 코드를 상기 구별 태그로 구분하여 상기 비트 스트링을 획득하고 상기 획득된 비트 스트링을 연속적으로 파싱하는 파싱부와;A parsing unit for dividing the time code into the distinguishing tag to obtain the bit string and to continuously parse the obtained bit string; 상기 파싱 결과 파싱된 비트가 있는지를 판단하는 판단부와;A determination unit which determines whether there is a parsed bit as a result of the parsing; 상기 판단 결과 상기 파싱된 비트가 존재하는 경우, 상기 파싱된 비트의 종류에 따라 정해진 업데이트용 계산식을 통해 상기 변수 저장부에 저장된 상기 제 1변수와 제 2변수를 업데이트하는 연산부와;An operation unit for updating the first variable and the second variable stored in the variable storage unit through an update calculation formula determined according to the type of the parsed bit when the parsed bit exists as a result of the determination; 상기 판단 결과 상기 파싱된 비트가 미존재하는 경우, 상기 변수 저장부에 저장된 상기 제 1변수와 제 2변수를 추출용 계산식에 대입시켜 계산하여 상기 상대 시간을 추출하는 추출부:를 포함하여 구성됨을 특징으로 하는 가라오케 시스템.And an extracting unit extracting the relative time by substituting the first variable and the second variable stored in the variable storage unit into an expression for extracting when the parsed bit does not exist. Featuring a karaoke system. 제 8항에 있어서,The method of claim 8, 상기 업데이트용 계산식은,The update calculation formula, 상기 파싱된 비트가 1인 경우 다음 식 1에 의해 적용되고, When the parsed bit is 1, it is applied by the following equation 1, 상기 파싱된 비트가 0인 경우 다음 식 2에 의해 적용되는 것을 특징으로 하 는 가라오케 시스템.If the parsed bit is 0, the karaoke system, characterized in that applied by the following equation 2. 제 2변수 = 제 2변수 + 1 ----- (식 1)Second Variable = Second Variable + 1 ----- (Equation 1) 제 1변수 = 제 1변수 + 0.5 2변수 ------(식 2)First variable = first variable + 0.5 The 2 variables ------ (Equation 2) 제 9항에 있어서,The method of claim 9, 상기 추출용 계산식은 다음 식 3인 것을 The calculation formula for the extraction is that 특징으로 하는 가라오케 시스템.Featuring a karaoke system. 상대 시간 = (제 1변수 + 0.5 2변수) * 기준 시간 ----- (식 3)Relative time = (first variable + 0.5 second 2 variables ) * Reference time ----- (Equation 3) 제 10항에 있어서,The method of claim 10, 상기 기준 시간은, The reference time is, 사용자에 의해 선택되는 곡 특성에 따라 다르게 설정가능한 것을 특징으로 하는 가라오케 시스템.Karaoke system, characterized in that can be set differently according to the characteristics of the song selected by the user. 제 7항에 있어서,The method of claim 7, wherein 상기 이벤트는,The event, 상기 오디오 신호와 동기된 가사가 페인팅되는 이벤트를 포함하는 것을 특징으로 하는 가라오케 시스템.And an event where the lyrics synchronized with the audio signal are painted. 제 1항에 있어서,The method of claim 1, 상기 가라오케 파일은, The karaoke file, ASF파일을 포함하는 것을 특징으로 하는 가라오케 시스템.Karaoke system characterized by including the ASF file. 가라오케 파일의 타임 코드를 이진수 비트 형태로 부호화하는 타임 코드의 코딩 방법과;A time code coding method for encoding the time code of the karaoke file in binary bit form; 상기 비트로 부호화된 타임 코드를 각 마커 사이의 상대 시간으로 복호화하는 타임 코드의 디코딩 방법:을 포함하여 구성됨을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.And a time code decoding method for decoding the time coded by the bit into the relative time between the markers. 제 14항에 있어서,The method of claim 14, 상기 타임 코드가 음절 기준으로 마커에 삽입되도록 하는 것을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.The time code processing method of the karaoke system, characterized in that the time code is inserted into the marker on the basis of the syllable. 제 14항에 있어서,The method of claim 14, 상기 타임 코드의 코딩 방법은,The coding method of the time code is, 상기 가라오케 파일의 기준 시간을 설정하는 단계와;Setting a reference time of the karaoke file; 상기 가라오케 파일에서 시간 정보가 요구되는 마커 간 시간차를 추출하는 단계와;Extracting a time difference between markers requiring time information from the karaoke file; 상기 시간차를 상기 기준 시간에 대한 비율로 전환하는 단계와;Converting the time difference into a ratio relative to the reference time; 상기 전환된 비율을 가변적인 비트 스트링으로 전환하는 단계와;Converting the converted ratio into a variable bit string; 상기 비트 스트링의 끝에 구별 태그를 추가하는 단계:를 포함하여 구성됨을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.Adding a distinguishing tag to the end of the bit string; wherein the time tag processing method of the karaoke system comprises a. 제 16항에 있어서,The method of claim 16, 상기 전환된 비율을 가변적인 비트 스트링으로 전환하는 단계에서,Converting the converted ratio into a variable bit string, 미리 설정된 코드워드 생성 규칙에 따라 각 비율에 일대일 매칭되도록 가변적인 비트 스트링이 정리된 정보테이블을 참조하여 전환됨을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.And a variable bit string is converted with reference to an information table arranged so that one-to-one matching of each ratio is performed according to a preset codeword generation rule. 제 14항에 있어서,The method of claim 14, 상기 타임 코드의 디코딩 방법은,The decoding method of the time code, 상기 비트 스트링과 상기 구별 태그로 이루어진 코드워드를 상대 시간으로 복호화하기 위한 제 1변수와 제 2변수를 초기화하는 단계와;Initializing a first variable and a second variable for decoding the codeword consisting of the bit string and the distinguishing tag in relative time; 상기 코드워드를 파싱하는 단계와;Parsing the codeword; 상기 파싱 결과, 상기 비트 스트링에서 파싱된 비트가 있는지를 판단하는 단계와;Determining whether there is a bit parsed from the bit string as a result of the parsing; 상기 비트 스트링에서 파싱된 비트가 존재하는 경우, 상기 파싱된 비트에 따라 상기 제 1변수와 제 2변수를 업데이트하는 단계와;If there are bits parsed in the bit string, updating the first variable and the second variable according to the parsed bits; 상기 비트 스트링에서 파싱된 비트가 미존재하는 경우, 상기 제 1변수와 제 2변수의 최종값을 통해 상기 상대 시간을 획득하는 단계:를 포함하여 구성됨을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.And if the bits parsed in the bit string do not exist, obtaining the relative time through the final value of the first variable and the second variable. 2. 제 18항에 있어서,The method of claim 18, 상기 제 1변수와 제 2변수를 업데이트하는 단계에서, In the updating of the first variable and the second variable, 상기 파싱된 비트가 1인 경우 다음 식 1을 적용하여 상기 제 1변수와 제 2변수를 각각 업데이트하고,When the parsed bit is 1, the first variable and the second variable are updated by applying Equation 1 below. 상기 파싱된 비트가 0인 경우 다음 식 2를 적용하여 상기 제 1변수와 제 2변수를 각각 업데이트하는 것을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.And when the parsed bit is 0, applying the following Equation 2 to update the first variable and the second variable, respectively. 제 2변수 = 제 2변수 + 1 ----- (식 1)Second Variable = Second Variable + 1 ----- (Equation 1) 제 1변수 = 제 1변수 + 0.5 2변수 ----- (식 2)First variable = first variable + 0.5 The 2 variables ----- (Equation 2) 제 18항에 있어서,The method of claim 18, 상기 상대 시간을 획득하는 단계에서,In acquiring the relative time, 상기 상대 시간을 다음 식 3을 적용하여 Apply the following relative time to the relative time 획득함을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.Time code processing method of a karaoke system, characterized in that obtained. 상대 시간 = (제 1변수 + 0.5 2변수) * 기준 시간 ----- (식 3)Relative time = (first variable + 0.5 second 2 variables ) * Reference time ----- (Equation 3) 제 16항 또는 제 18항에 있어서,The method of claim 16 or 18, 재생되는 곡 특성에 따라 상기 기준 시간이 다르게 설정가능한 것을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.And the reference time can be set differently according to the characteristics of a music to be played. 제 21항에 있어서,The method of claim 21, 상기 구별 태그를 '100'으로 하는 것을 특징으로 하는 가라오케 시스템의 타임 코드 처리 방법.And the distinguishing tag is set to '100'.
KR1020080000396A 2008-01-02 2008-01-02 System and method for processing time code of karaoke KR20090074573A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080000396A KR20090074573A (en) 2008-01-02 2008-01-02 System and method for processing time code of karaoke

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080000396A KR20090074573A (en) 2008-01-02 2008-01-02 System and method for processing time code of karaoke

Publications (1)

Publication Number Publication Date
KR20090074573A true KR20090074573A (en) 2009-07-07

Family

ID=41331841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080000396A KR20090074573A (en) 2008-01-02 2008-01-02 System and method for processing time code of karaoke

Country Status (1)

Country Link
KR (1) KR20090074573A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110110539A (en) * 2010-04-01 2011-10-07 티제이커뮤니케이션 주식회사 Caption data structure and caption player for synchronizing syllables between a sound source and caption data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110110539A (en) * 2010-04-01 2011-10-07 티제이커뮤니케이션 주식회사 Caption data structure and caption player for synchronizing syllables between a sound source and caption data

Similar Documents

Publication Publication Date Title
US7680451B2 (en) Method and apparatus for providing a motion signal with a sound signal using an existing sound signal encoding format
JP5314757B2 (en) Method and apparatus for synchronizing highly compressed enhancement layer data
US6920181B1 (en) Method for synchronizing audio and video streams
US6721710B1 (en) Method and apparatus for audible fast-forward or reverse of compressed audio content
US20050203750A1 (en) Displaying text of speech in synchronization with the speech
CN108780643A (en) Automatic dubbing method and apparatus
US20050188297A1 (en) Multi-audio add/drop deterministic animation synchronization
CN1451153A (en) Methods and system for encoding an audio sequence with synchronized data and outputting the same
US20060114136A1 (en) Method and apparatus for selecting particular decoder based on bitstream format detection
CN100417028C (en) Method of performing huffman decoding
CN102780931A (en) Recording device, reproducing device, recording/reproducing device, recording program, recording medium for such recording program, reproducing program, and recording medium
CN102047336B (en) Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
US20190213246A1 (en) Systems and Methods for Using a Program Schedule to Facilitate Modifying Closed-Captioning Text
KR20060052343A (en) System and method for converting compact media format files to synchronized multimedia integration language
JP2009116362A (en) Apparatus and method for processing digital data reproduced from recording medium
CN110213659A (en) A kind of implementation method that player can be switched fast between different video stream
US8881045B2 (en) Method and apparatus for generating prompt information of a mobile terminal
US10446160B2 (en) Coding device and method, decoding device and method, and program
WO2005104549A1 (en) Method and apparatus of synchronizing caption, still picture and motion picture using location information
JP4436087B2 (en) Character data correction device, character data correction method, and character data correction program
KR20090074573A (en) System and method for processing time code of karaoke
US5502694A (en) Method and apparatus for compressed data transmission
KR102185387B1 (en) Sound recognition subtitle production system and control method thereof
KR101618777B1 (en) A server and method for extracting text after uploading a file to synchronize between video and audio
US20210243485A1 (en) Receiving apparatus, transmission apparatus, receiving method, transmission method, and program

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination