KR100415002B1 - 연주 정보 기록 장치, 연주 정보 압축 장치, 연주 정보복호 장치 및 전화 단말 장치 - Google Patents
연주 정보 기록 장치, 연주 정보 압축 장치, 연주 정보복호 장치 및 전화 단말 장치 Download PDFInfo
- Publication number
- KR100415002B1 KR100415002B1 KR10-2001-0055011A KR20010055011A KR100415002B1 KR 100415002 B1 KR100415002 B1 KR 100415002B1 KR 20010055011 A KR20010055011 A KR 20010055011A KR 100415002 B1 KR100415002 B1 KR 100415002B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- performance information
- code
- decoding
- primary code
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Electrophonic Musical Instruments (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Telephone Function (AREA)
Abstract
착신 멜로디의 데이터량을 효율적으로 압축하여 메모리에 기억함과 동시에 통화 착신 후 바로 착신 멜로디 재생을 개시한다.
악곡 연주 정보를 분리하여 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단(102)에 의해 작성된 압축 정보를 복호하는 연주 정보 기록 장치에 있어서, 1차 부호를 복호하는 1차 부호 복호 수단(101)과, 2차 부호를 복호하는 2차 부호 복호 수단(103)과, 압축 정보를 기록하는 정보 기억 수단(105)을 가지며, 정보 기억 수단(105)에 기록된 압축 정보 중, 미리 지정된 악곡에 대응하는 압축 정보는 2차 부호 복호 수단(103)에 의해 복호된 양태로 변환하여 정보 기억 수단(105)에 기록한다.
착신 시에 재생하는 악곡 연주 정보를 시간 축 상에서 2개 이상의 블록으로 분할하여, 최초 블록에 대해서는 착신 후 바로 해동하여 연주할 수 있는 상태로 메모리에 기억해 둔다.
Description
발명이 속하는 기술분야
본 발명은 연주 정보를 기록하는 연주 정보 기록 장치, 연주 정보의 데이터량을 압축하는 연주 정보 압축 장치, 복호를 행하는 연주 정보 복호 장치 및 이들 장치를 갖는 전화 단말 장치에 관한 것이다.
종래 기술
일반적으로 MIDI(Musical Instrument Digital Interface) 데이터를 보존하는 방식으로서, 스탠다드 MIDI 파일(이하, SMF라 한다)이 널리 사용되며, 이 SMF에서는 도 19에 도시하는 바와 같이 개개의 연주 정보가 델타(△) 타임과 이벤트의 2개 요소에 의해 구성되어 있다. △타임은 이웃한 이벤트간의 상대 시간을 나타내며, 이벤트는 노트 온 또는 노트 오프의 스테이터스, 음정(노트 넘버)이나 음 강도(벨로시티) 등의 각종 연주 정보를 포함한다. 여기서, 연주 정보란 음부에 의해 나타나는 음정, 음의 길이 외에 음의 강도, 악곡 연주 상의 박자, 템포 등의 정보, 더욱이 음원 종류, 리셋 컨트롤 정보 등을 포함하는 것을 가리키는 것으로 한다. 또, 이 SMF에서는 각 연주 정보가 시간 순으로 나열하여 트랙을 구성하고 있다. 여기서, SMF 방식은 기억 용량이나 전송로의 효율적 이용이라는 점에서는 그다지 뛰어난 것은 아니기 때문에, 휴대 전화의 착신 멜로디나 통신 가라오케, 음악 데이터 베이스와 같이 다수의 악곡 데이터를 기록, 전송하는 시스템에서는 연주 정보의 데이터량을 효율적으로 압축하는 것이 요구되고 있다.
이와 동시에, 휴대 전화의 착신 멜로디에서는 전화가 착신했을 때에 착신한 것을 착신 멜로디 재생에 의해 알리지만, 이 착신 멜로디 파일을 SMF 파일로서 휴대 전화 본체에 보존할 때에, 휴대 전화 본체 기억 용량이 작은 메모리 부분에 가능한 한 많은 곡 파일을 기록하는 것이 요구되고 있다.
한편, 텍스트 등의 디지털 데이터를 가역적(로스리스)으로 압축하는 방법으로서는 문자열(데이터 패턴)이 반복하는 것을 이용하여 반복분을 압축하는 LZ(Lempel-zif)법이 현재 널리 사용되며, LZ법은 일반적으로 사용되고 있는 가역식 압축 방법 중에서, 압축율이 가장 높다고 일컬어지고 있다. LZ법은 문자열이 반복하는 것을 이용하여 압축하기 때문에, 입력 데이터 중 한정된 범위 내에 출현하는 동일 데이터 패턴수가 많으며, 또한 동일 데이터 패턴 길이가 긴 경우에 압축율이 높아진다는 성질을 갖는다.
그래서, 본 출원인은 일본국 공개 특허 공보 평9-16168에 있어서, LZ법에 의해 압축하기 전에 미리 동일 데이터 패턴 길이가 길고, 출현 회수가 많으며 또한 가까운 거리에서 출현하도록 연주 정보를 음정과, 강도와, 길이와 그 밖의 정보로 분리하며, 각각 독립한 영역에 배치하도록 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와 그 밖의 정보로 분리하며, 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 LZ법에 의해 압축하는 2차 부호 생성 수단을 갖는 연주 정보 압축 장치를 제안했다.
이 장치에서는 1차 부호 생성 수단이 각 이벤트간의 상대 시간 공약수 및 각 음부 길이 공약수를 산출하여, 각 이벤트간의 상대 시간 및 각 음부 길이 값을 이들 공약수로 제산한 후 부호화하도록 구성되어 있는 것은 상기 제안의 바람직한 양태이다. 또, 1차 부호 생성 수단이 각 음부의 음정 정보를 그 이전에 출현한 음부의 음정 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 음정 수치와의 잔차로 나타내도록 구성되어 있는 것은 본 발명의 바람직한 양태이다.
또, 1차 부호 생성 수단이 특정 종류의 이벤트 파라미터치를 그 이전에 출현한 같은 종류의 이벤트 파라미터치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 파라미터치와의 잔차로 나타내도록 구성되어 있는 것은 상기 제안의 바람직한 양태이다. 또, 1차 부호 생성 수단이 각 정보를 해당 영역에 있어서 트랙 순으로 배치하는 것은 본 발명의 바람직한 양태이다. 더욱이, 1차 부호 생성 수단이 상기 각 영역을 데이터 성질이 닮은 영역끼리가 근접하도록 배치하는 것은 상기 제안의 바람직한 양태이다.
최근 착신 멜로디는 i모드 등의 서비스 사이트로부터 다운로드함으로써 착신 멜로디 파일을 얻는 것이 주류가 되고 있지만, 유저는 착신 멜로디 악곡 파일(이하 파일이라 칭한다) 입수를 위해 회비를 지불하고 있으며, 휴대 전화 본체의 내장 메모리가 적으면, 이미 다운로드한 파일의 파일 사이즈 합계가 메모리 용량을 넘었을 때에, 이전에 구입한 파일을 소거해야만 하게 된다. 또, 이 상황은 유저가 스스로 연주 데이터를 입력할 경우, 혹은 전용 퍼스널 컴퓨터 등의 소프트웨어를 사용하여 파일을 휴대 전화 본체에 기록할 경우에 있어서도, 동일한 문제가 발생한다. 또, 금후는 착신 멜로디의 파일 포맷으로서 SMF(스탠다드 MIDI 파일)가 사용되는 것이 예상되며, 종래의 전용 파일보다도 개개의 파일 사이즈가 커져버리는 점이 문제점으로서 지적되고 있다.
그래서, 상기 제안에 기술한 바와 같은 파일 압축 기술을 사용함으로써, 파일 사이즈를 작게 하는 것을 용이하게 생각할 수 있지만, 휴대 전화에 탑재되는 CPU에 의해 상기 제안과 같은 압축 처리를 행하면, 재생하고자 하는 파일 모두를 해동이 끝나지 않는 한 연주 개시를 행할 수 없는 것과, 실제 단말 측 처리 속도가 느린 것에 의해, 전화를 착신하고나서 착신 멜로디 재생음을 출력하는 것이 가능해질 때까지, 상당한 시간이 걸려버리는 것이 문제가 되고 있다.
본 발명은 상기 종래의 문제점에 비추어, 그곳에서 미리 휴대 전화 등의 전화 단말 내부·외부 메모리 등에 미리 지정된 1개 또는 복수의 파일을 해동한 상태로 보존함으로써, 전화 착신 시에 즉석으로 착신 멜로디를 재생하는 것을 가능하게한다.
도 1은 본 발명에 관련되는 연주 정보 압축 장치의 일례를 도시하는 블록도.
도 2는 도 1의 1차 부호 생성 수단의 일례를 상세하게 도시하는 블록도.
도 3은 도 2의 채널 분리 수단에 의해 작성되는 채널 맵을 도시하는 설명도.
도 4는 도 2의 해석 수단의 처리를 설명하기 위한 플로 차트.
도 5는 도 2의 해석 수단에 의해 작성되는 노트 테이블을 도시하는 설명도.
도 6은 도 2의 해석 수단에 의해 작성되는 컨트롤러 테이블을 도시하는 설명도.
도 7은 음부를 표현하는 SMF의 △타임과 본 실시예의 듀레이션 관계를 도시하는 설명도.
도 8은 도 2의 노트 △부호 생성 수단의 처리를 설명하기 위한 플로 차트.
도 9는 도 2의 노트 △부호 생성 수단에 의해 생성되는 노트 △부호를 도시하는 설명도.
도 10은 도 2의 듀레이션 부호 생성 수단의 처리를 설명하기 위한 플로 차트.
도 11은 도 2의 듀레이션 부호 생성 수단에 의해 생성되는 듀레이션 부호를 도시하는 설명도.
도 12는 도 2의 노트 넘버 부호 생성 수단에 의해 생성되는 노트 넘버 부호를 도시하는 설명도.
도 13은 도 2의 벨로시티 부호 생성 수단에 의해 생성되는 벨로시티 부호를 도시하는 설명도.
도 14는 도 2의 컨트롤러 부호 생성 수단에 의해 생성되는 컨트롤러 부호를 도시하는 설명도.
도 15는 SMF의 연속 이벤트 블록을 도시하는 설명도.
도 16은 본 실시예의 연속 이벤트 블록을 도시하는 설명도.
도 17은 도 16의 연속 이벤트 블록 효과를 도시하는 설명도.
도 18은 도 2의 부호 배치 수단에 의해 나열 전환된 1차 부호를 도시하는 설명도.
도 19는 SMF의 포맷을 도시하는 설명도.
도 20은 연주 정보 복호 장치를 도시하는 블록도.
도 21은 도 20의 2차 부호 복호 수단의 처리를 설명하기 위한 플로 차트.
도 22는 도 20의 1차 부호 복호 수단의 처리를 설명하기 위한 플로 차트.
도 23은 도 22의 트랙 복호 처리를 상세하게 설명하기 위한 플로 차트.
도 24는 도 23의 노트 이벤트 복호 처리를 상세하게 설명하기 위한 플로 차트.
도 25는 도 24의 노트 이벤트 복호 처리에 의해 복원된 노트 온 이벤트를 도시하는 설명도.
도 26은 도 24의 노트 이벤트 복호 처리에 의해 복원된 노트 오프 큐를 도시하는 설명도.
도 27은 도 23의 컨트롤러 이벤트 복호 처리를 상세하게 설명하기 위한 플로 차트.
도 28은 도 27의 처리에 의해 복원된 컨트롤러 이벤트를 도시하는 설명도.
도 29는 도 41에 도시하는 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억 수단에 기억된 각 악곡 파일 모양을 도시하는 도면.
도 30은 도 43에 도시하는 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억 수단에 기억된 각 악곡 파일 모양을 도시하는 도면.
도 31은 도 44에 도시하는 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억 수단에 기억된 각 악곡 파일 모양을 도시하는 도면.
도 32는 도 45에 도시하는 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억 수단에 기억된 각 악곡 파일 모양을 도시하는 도면.
도 33은 본 발명에 관련되는 연주 정보 기록 장치의 제 1 실시예 동작을 도시하는 도면.
도 34는 본 발명에 관련되는 연주 정보 기록 장치의 제 2 실시예 동작을 도시하는 도면.
도 35는 본 발명에 관련되는 연주 정보 기록 장치의 제 3 실시예 동작을 도시하는 도면.
도 36은 본 발명에 관련되는 연주 정보 기록 장치의 제 4 실시예 동작을 도시하는 도면.
도 37은 악곡 연주 정보가 정보 기억 수단에 기록되는 모양을 도시하는 플로 차트.
도 38은 본 발명의 제 1 실시예에 있어서, 연주 정보 기록 장치가 전화 단말에 구비되어 있을 경우에, 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 도시하는 도면.
도 39는 연주 정보의 파일 구성을 도시하는 도면.
도 40은 본 발명의 제 2 실시예에 있어서, 연주 정보 기록 장치가 전화 단말에 구비되어 있을 경우에, 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 도시하는 도면.
도 41은 본 발명의 제 3 실시예에 있어서, 연주 정보 기록 장치가 전화 단말에 구비되어 있을 경우에, 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 도시하는 도면.
도 42는 본 발명의 제 4 실시예에 있어서, 연주 정보 기록 장치가 전화 단말에 구비되어 있을 경우에, 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 도시하는 도면.
도 43은 본 발명에 관련되는 연주 정보 압축 장치에 의한 압축 방법인 제 5실시예를 도시하는 도면.
도 44는 본 발명에 관련되는 연주 정보 압축 장치에 의한 압축 방법인 제 6 실시예를 도시하는 도면.
도 45는 본 발명에 관련되는 연주 정보 압축 장치 구성을 도시하는 도면.
도 46은 제 5 실시예에 의해 압축된 연주 정보의 해동 방법을 도시하는 도면.
도 47은 제 6 실시예에 의해 압축된 연주 정보의 해동 방법을 도시하는 도면.
도 48은 본 발명에 관련되는 연주 정보 압축 장치에 의한 압축 방법인 제 7 실시예를 도시하는 도면.
도 49는 본 발명에 관련되는 연주 정보 압축 장치에 의한 압축 방법인 제 5 실시예 동작을 도시하는 도면.
도 50은 본 발명에 관련되는 연주 정보 압축 장치에 의한 압축 방법인 제 6 실시예 동작을 도시하는 도면.
도 51은 본 발명에 관련되는 연주 정보 압축 장치에 의한 압축 방법인 제 7 실시예 동작을 도시하는 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
1: 입력 데이터 2: 1차 부호 생성 수단
3: 1차 부호 4: 2차 부호 생성 수단
5: 2차 부호 11: 채널 분리 수단
12: 해석 수단 13: 노트 △부호 생성 수단
14: 컨트롤러 △부호 생성 수단 15: 듀레이션 부호 생성 수단
16: 노트 넘버 부호 생성 수단 17: 벨로시티 부호 생성 수단
18: 컨트롤러 부호 생성 수단 19: 부호 배치 수단
21: 입력 데이터 22: 스위치
23: 2차 부호 복호 수단 24: 1차 부호 복호 수단
25: 출력 데이터 26: 제어 수단
과제를 해결하기 위한 수단
본 발명은 상기 목적을 달성하기 위해,
(1) 악곡 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서, 상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기 압축 정보를 기록하는 정보 기억 수단을 가지며, 상기 정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 2차 부호 복호 수단에 의해 복호된 양태로 변환하여 상기 정보 기억 수단에 기록하는 것을 특징으로 하는 연주 정보 기록 장치를 제공한다.
또, (2) 악곡 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서, 상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기 압축 정보를 기록하는 정보 기억 수단을 가지며, 상기 정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 연주 정보 양태로 변환하여 상기 정보 기억 수단에 기록하는 것을 특징으로 하는 연주 정보 기록 장치를 제공한다.
더욱이, (3) 악곡 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서, 상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기 압축 정보를 기록하는 정보 기억 수단을 가지며, 상기 정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 2차 부호 복호 수단에 의해 복호된 양태로 변환하여 상기 정보 기억 수단에 추가하여 기록하는 것을 특징으로 하는 연주 정보 기록 장치를 제공한다.
더욱이 또, (4) 악곡 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서, 상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기압축 정보를 기록하는 정보 기억 수단을 가지며, 상기 정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 연주 정보 양태로 변환하여 상기 정보 기억 수단에 추가하여 기록하는 것을 특징으로 하는 연주 정보 기록 장치를 제공한다.
또 더욱이, (5) 상기 1차 부호 생성 수단은 각 음부의 음정 정보를 그 이전에 출현한 음부의 음정 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 음정 수치와의 잔차로 나타내는 것을 특징으로 하는 청구항 제 1 항 또는 제 2 항 또는 제 3 항 또는 제 4 항에 기재된 연주 정보 기록 장치를 제공한다.
또, (6) 상기 1차 부호 생성 수단은 각 음부의 강도 정보를 그 이전에 출현한 음부의 강도 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 강도 수치와의 잔차로 나타내는 것을 특징으로 하는 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 연주 정보 기록 장치를 제공한다.
더욱이, (7) 상기 1차 부호 생성 수단은 특정 종류의 이벤트 파라미터치를 그 이전에 출현한 같은 종류의 이벤트 파라미터치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 파라미터치와의 잔차로 나타내는 것을 특징으로 하는 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 연주 정보 기록 장치를 제공한다.
더욱이 또, (8) 상기 1차 부호 생성 수단은 상기 각 정보를 해당 영역에 있어서 트랙 순으로 배치한 것을 특징으로 하는 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 연주 정보 기록 장치를 제공한다.
또 더욱이, (9) 상기 1차 부호 생성 수단은 상기 각 영역을 데이터 성질이 닮은 영역끼리가 근접하도록 배치한 것을 특징으로 하는 청구항 제 8 항에 기재된 연주 정보 기록 장치를 제공한다.
또, (10) 상기 1차 부호 생성 수단은 각 이벤트간의 상대 시간 공약수 및 각 음부 길이 공약수를 산출하여, 각 이벤트간의 상대 시간 및 각 음부 길이 값을 이들 공약수로 제산한 후 부호화하는 것을 특징으로 하는 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 연주 정보 기록 장치를 제공한다.
더욱이, (11) 복수의 악곡 연주 정보를 기억 가능하고, 또한 상기 복수의 악곡 중에서 미리 선택한 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서, 상기 미리 선택한 연주 정보 이외의 악곡 연주 정보만을 압축하여 기록하는 것을 특징으로 하는 전화 단말 장치를 제공한다.
더욱이 또, (12) 상기 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서, 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 연주 정보 기록 장치를 구비 또는 이와 접속하여, 전화 착신 시에 상기 미리 지정된 악곡을 재생하는 것을 특징으로 하는 전화 단말 장치를 제공한다.
또 더욱이, (13) 상기 2차 부호는 LZ법을 사용하는 것을 특징으로 하는 청구항 제 1 항 내지 제 4 항 중 어느 항 항에 기재된 연주 정보 기록 장치를 제공한다.
또, (14) 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단과, 상기 연주 정보를 시간 축 상에서 2개 이상의 블록으로 분할하여, 적어도 최초 블록에 대해서는 상기 1차 부호 생성 수단에 의한 압축 및/또는 상기 2차 부호 생성 수단에 의한 압축을 행하지 않는 것을 특징으로 하는 연주 정보 압축 장치를 제공한다.
또, (15) 상기 1차 부호 생성 수단은 각 이벤트간의 상대 시간 공약수 및 각 음부 길이 공약수를 산출하여, 각 이벤트간의 상대 시간 및 각 음부 길이 값을 이들 공약수로 제산한 후 부호화하는 것을 특징으로 하는 청구항 제 14 항에 기재된 연주 정보 압축 장치를 제공한다.
더욱이, (16) 상기 1차 부호 생성 수단은 각 음부의 음정 정보를 그 이전에 출현한 음부의 음정 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 음정 수치와의 잔차로 나타내는 것을 특징으로 하는 청구항 제 14 항 또는 제 15 항에 기재된 연주 정보 압축 장치를 제공한다.
더욱이 또, (17) 상기 1차 부호 생성 수단은 각 음부의 강도 정보를 그 이전에 출현한 음부 강도 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 강도 수치와의 잔차로 나타내는 것을 특징으로 하는 청구항 제 14 항 또는 제 15 항에 기재된 연주 정보 압축 장치를 제공한다.
또 더욱이, (18) 상기 1차 부호 생성 수단은 특정 종류의 이벤트 파라미터치를 그 이전에 출현한 같은 종류의 이벤트 파라미터치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 파라미터치와의 잔차로 나타내는 것을 특징으로 하는 청구항 제 14 항 또는 제 15 항에 기재된 연주 정보 압축 장치를 제공한다.
또, (19) 상기 1차 부호 생성 수단은 상기 각 정보를 해당 영역에 있어서 트랙 순으로 배치한 것을 특징으로 하는 청구항 제 14 항 또는 제 15 항에 기재된 연주 정보 압축 장치를 제공한다.
더욱이, (20) 상기 1차 부호 생성 수단은 상기 각 영역을 데이터 성질이 닮은 영역끼리가 근접하도록 배치한 것을 특징으로 하는 청구항 제 19 항에 기재된 연주 정보 압축 장치를 제공한다.
더욱이 또, (21) 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 복호하는 연주 정보 복호 장치로, 공급되는 상기 1차 부호를 연주 정보에 복호하는 1차 부호 복호 수단을 갖는 것을 특징으로 하는 연주 정보 복호 장치를 제공한다.
또 더욱이, (22) 연주 정보를 기억 가능하고, 또한 상기 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서, 상기 연주 정보를 시간 축 상에서 두 개 이상의 블록으로 분할하여, 적어도 최초 블록이 전화 착신 시에 바로 연주할 수 있도록 두번째 이후 블록만을 압축하여 기록하는 것을 특징으로 하는 전화 단말 장치를 제공한다.
또, (23) 연주 정보를 기억 가능하고, 또한 상기 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서, 상기 연주 정보를 시간 축 상에서 두 개 이상의 블록으로 분할하여, 각각의 블록를 압축할 때에 적어도 최초 블록은 전화 착신 시에 즉시 연주할 수 있고, 또한, 압축된 두번째 블록 복호를 행할 수 있는 시간 길이 및/또는 두번째 이후의 블록 압축 방법보다도 단시간에 복호 가능한 압축 방법으로 압축되어 있는 것을 특징으로 하는 전화 단말 장치를 제공한다.
발명의 실시예
이하, 도면을 참조하여 본 발명의 실시예에 대해서 설명한다. 도 1은 본 발명에 관련되는 연주 정보 압축 장치 일례를 도시하는 블록도, 도 2는 도 1의 1차 부호 생성 수단 일례를 상세하게 도시하는 블록도, 도 3은 도 2의 채널 분리 수단에 의해 작성되는 채널 맵을 도시하는 설명도, 도 4는 도 2의 해석 수단의 처리를 설명하기 위한 플로 차트, 도 5는 도 2의 해석 수단에 의해 작성되는 노트 테이블을 도시하는 설명도, 도 6은 도 2의 해석 수단에 의해 작성되는 컨트롤러 테이블을 도시하는 설명도, 도 7은 음부를 표현하는 SMF의 △타임과 본 실시예의 듀레이션 관계를 도시하는 설명도, 도 8은 도 2의 노트 △부호 생성 수단의 처리를 설명하기 위한 플로 차트, 도 9는 도 2의 노트 △부호 생성 수단에 의해 생성되는 노트 △부호를 도시하는 설명도, 도 10은 도 2의 듀레이션 부호 생성 수단의 처리를 설명하기 위한 플로 차트, 도 11은 도 2의 듀레이션 부호 생성 수단에 의해 생성되는 듀레이션 부호를 도시하는 설명도, 도 12는 도 2의 노트 넘버 부호 생성 수단에 의해 생성되는 노트 넘버 부호를 도시하는 설명도, 도 13은 도 2의 벨로시티 부호 생성 수단에 의해 생성되는 벨로시티 부호를 도시하는 설명도, 도 14는 도 2의 컨트롤러 부호 생성 수단에 의해 생성되는 컨트롤러 부호를 도시하는 설명도, 도 15는 SMF의연속 이벤트 블록을 도시하는 설명도, 도 16은 본 실시예의 연속 이벤트 블록을 도시하는 설명도, 도 17은 도 16의 연속 이벤트 블록 효과를 도시하는 설명도, 도 18은 도 2의 부호 배치 수단에 의해 나열 전환된 1차 부호를 도시하는 설명도, 도 20은 본 발명에 의한 단말 장치 중, 1차 부호화된 상태에서 지정 악곡을 보존하는 양태에 의한 단말 구성을 도시하는 설명도, 도 21은 본 발명에 의한 단말 장치 중, 1차 부호화도 2차 부호화도 되지 않는 상태에서 지정 악곡을 보존하는 양태에 의한 단말 구성을 도시하는 설명도, 도 22는 본 발명에 의한 단말 장치 중, 1차 부호화된 상태에서 지정 악곡을 추가적으로 보존하는 양태에 의한 단말 구성을 도시하는 설명도, 도 23은 본 발명에 의한 단말 장치 중, 1차 부호화도 2차 부호화도 되지 않는 상태에서 지정 악곡을 추가적으로 보존하는 양태에 의한 단말 구성을 도시하는 설명도이다.
우선, 입력 데이터(1)는 일례로서 도 7, 도 19에 도시하는 바와 같은 SMF이며, SMF의 포맷은 △타임, 스테이터스, 노트 넘버 및 벨로시티에 의해 구성되어 있다. 여기서, 본 명세서에서는 「발음 개시 이벤트」를 「노트 온 이벤트」, 「발음 정지 이벤트」를 「노트 오프 이벤트」라 부른다. 또, 「노트 오프 이벤트」와 「노트 오프 이벤트」를 합쳐 「노트 이벤트」라 부르며, 그 이외의 「이벤트」를 「컨트롤러 이벤트」라 부른다.
도 1에 있어서, SMF 포맷의 입력 데이터(1)는 1차 부호 생성 수단(2)에 의해 해석되며, 적어도 연주 정보를 음정과, 강도와, 길이와 그 밖의 정보로 분리되며, 각 정보가 각각 독립한 영역에 배치한 1차 부호(3)가 생성된다. 이 1차 부호(3)의각 영역 부호는 2차 부호 생성 수단(4)에 의해 LZ법으로 압축되며, 2차 부호(5)가 생성된다. 또한, 이렇게 압축된 데이터는 도 20 내지 도 28에 상세하게 도시하는 복호 장치에 의해 LZ법으로 복호되며, 음정과, 강도와, 길이와 그 밖의 정보에 근거하여 음부가 복원된다.
1차 부호 생성 수단(2)은 예를 들면 도 2에 상세하게 도시하는 바와 같이 채널 분리 수단(11)과, 해석 수단(12)과, 노트 △부호 생성 수단(13)과, 컨트롤러 △부호 생성 수단(14)과, 듀레이션 부호 생성 수단(15)과, 노트 넘버 부호 생성 수단(16)과, 벨로시티 부호 생성 수단(17)과, 컨트롤러 부호 생성 수단(18)과 부호 배치 수단(19)으로 구성되며, 이 예에서는 하나의 음부를 나타내는 노트 △부호, 컨트롤러 △부호, 듀레이션 부호, 노트 넘버 부호, 벨로시티 부호 및 컨트롤러 부호 6종류의 1차 압축 부호가 부호 배치 수단(19)에 의해 나열 전환되며, 1차 부호(3)로서 2차 부호 생성 수단(4)에 출력되어, 2차 부호 생성 수단(4)에 의해 2차 압축된다.
채널 분리 수단(11)에서는 SMF(1)의 1트랙에 복수 채널의 이벤트가 포함되어 있는지의 여부 체크를 행하여, 복수 채널의 이벤트가 포함되어 있을 경우에는 1트랙 중에 1채널의 이벤트만이 포함되도록 트랙 분할을 행한다. 그리고, 도 3과 같은 트랙과 채널 번호 대응을 나타낸 채널 맵을 작성하여, 이 이후 처리는 트랙 단위로 행한다. 여기서, SMF의 이벤트 대부분은 채널 정보를 포함한 것이지만, 이렇게 트랙 분할과 채널 맵 작성을 행함으로써, 개개의 이벤트 채널 정보를 생략할 수 있어, 데이터량을 삭감할 수 있다.
해석 수단(12)에서는 도 4에 도시하는 처리를 행하여, 트랙마다 도 5에 도시하는 바와 같은 노트 테이블과 도 6에 도시하는 바와 같은 컨트롤러 테이블을 작성한다. 우선, SMF으로부터 순차 △타임과 이벤트를 판독하여(스텝(S1)), △타임으로부터 트랙 선두를 기준으로 한 이벤트 시간(이하에서는 간단히 이벤트 시간이라 부른다)을 계산한다(스텝(S2)). 다음으로 이벤트를 해석하여, 이벤트를 「노트 온 이벤트」, 「노트 오프 이벤트」, 「컨트롤러 이벤트」의 3종류로 분류한다.
그리고, 「노트 온 이벤트」의 경우에는 도 5에 도시하는 바와 같은 노트 테이블에 노트 넘버(음부 음정)와 벨로시티(음부 강도)를 등록하며(스텝(S3→S4)), 「노트 오프 이벤트」의 경우에는 듀레이션(음부 길이)을 계산하여 노트 테이블에 등록한다(스텝(S5→S6)). 또, 「컨트롤러 이벤트」의 경우에는 도 6에 도시하는 바와 같은 컨트롤러 테이블에 등록하며(스텝(S7)), 이렇게 하여 연주 정보마다 노트 테이블과 컨트롤러 테이블을 작성한다(스텝(S8→S1)).
여기서, 노트 테이블은 도 5에 도시하는 바와 같이 트랙의 노트(음부) 이벤트 정보를 시간 순으로 나열한 것이며, 컨트롤러 테이블은 도 6에 도시하는 바와 같이 트랙의 컨트롤러(음부 이외) 정보를 시간 순으로 나열한 것이다. 또, 「노트 오프 이벤트」의 경우에 노트 넘버와 벨로시티를 기록할 때에, 이벤트 시간을 노트 테이블의 소정 란에 기록하고, 또 노트 테이블의 「노트 오프 참조」란을 초기치로 하여 「0」에 셋한다.
또, 이벤트가 노트 오프이면, 노트 테이블을 선두로부터 주사하여, 노트 오프 이벤트 시간보다도 빨리, 또한 노트 넘버가 동일하게, 또한 노트 오프 참조란이「0」에 셋되어 있는 노트를 골라내어 대응시킨다. 그리고 대응하는 노트 온 시간(Ton)과 노트 오프 시간(Toff)과의 차이(Toff-Ton)를 「듀레이션(음부 길이)」으로 하고, 노트 테이블의 「듀레이션」란에 기록함과 동시에, 「노트 오프 참조」란을 「1」에 셋한다.
여기서, 「듀레이션」이라는 개념은 SMF에는 없지만, 이것을 사용함으로써 노트 오프 이벤트를 생략할 수 있기 때문에, 데이터 용량을 삭감할 수 있다. SMF에 있어서, 하나의 음부는 도 7과 같이 1개의 노트 온 이벤트와 1개의 노트 오프 이벤트 셋으로 나타나며, 또, 노트 오프 이벤트 이전 △타임이 듀레이션에 상당한다. 노트 오프 이벤트의 노트 넘버는 노트 온 이벤트와의 대응을 취하기 위해 필요하며, 듀레이션이라는 개념을 사용하여 노트 온과 노트 오프 대응을 취해 두면 불필요하다.
또, 노트 오프 이벤트의 벨로시티는 MIDI 데이터를 받아들이는 대개의 음원이 실제로는 이 값을 사용하지 않기 때문에, 삭제해도 문제 없다. 따라서, 노트 오프 이벤트(3바이트)를 생략함으로써, 경우에 따라서는 △타임의 데이터량이 증가하는 경우도 있지만, 어쨌든 노트 오프 이벤트 생략 효과 쪽이 크고, 하나의 음부에 대해 최대 3바이트분을 삭감할 수 있다. 그 결과, 1개의 악곡 중에 1만개 정도의 음부가 포함되어 있는 경우도 드물지 않기 때문에, 이 경우에는 최대 30K바이트 삭감을 할 수 있게 되어 압축 효과가 크다.
이벤트가 노트 온, 노트 오프 이외의 이벤트이면, 이벤트 시간과 이벤트 내용을 컨트롤러 테이블에 등록하고, 이렇게 하여 노트 테이블에는 NA개의 이벤트가등록되며, 컨트롤러 테이블에는 NB개의 이벤트가 등록된다.
다음으로, 노트 △부호 생성 수단(13)과 컨트롤러 △부호 생성 수단(14)에 대해서 설명한다. 이 2개는 동일한 처리 내용이기 때문에, 이하에서는 노트 △부호 생성 수단(13)을 예로 들어 설명한다. 노트 △부호 생성 수단(13)은 도 8에 도시하는 바와 같이 우선, 상술한 노트 테이블에 등록된 각 이벤트에 대해, 그 시간 T[i]와 하나 이전 이벤트 시간 T[i-1]과의 차이
△T[i] = (T[i] - T[i-1])
을 계산하여(스텝(S11), 노트 테이블의 소정 란에 기록한다(단, i=1 내지 NA, T[0]=0). 즉, 각 노트 이벤트간의 상대 시간이 구해진다.
여기서, SMF에 있어서, △타임은 1박의 몇분지 1인지를 기본 단위로 한 가변 길이 부호로 나타나며, 값이 작을수록 필요한 바이트수는 적어도 된다. 예를 들면, 값이 127이하이면 1바이트로 되지만, 값이 128이상 16383이하이면, 2바이트 필요해진다. △타임의 기본 단위가 상세할수록 음악적인 표현력은 높다 할 수 있지만, 그에 따라서 필요한 바이트수도 증가한다. 한편, 실제로 악곡에 사용되고 있는 △타임을 조사하면, 기본 단위의 1틱(1tick)까지 사용하고 있지 않은 것이 많으며, 따라서, △T[i] 값이 필요 이상의 용량을 사용하여 기록되어 있는 것이 많다.
그래서, 실제로 사용되고 있는 시간 정밀도를 구하기 위해, 노트 테이블에 등록되어 있는 모든 상대 시간 △T[i]에 대한 최대 공약수(△Ts)를 산출한다(스텝(S12). 이 경우, 최대 공약수를 구하는 것이 곤란한 경우는 적당한 공약수를 최대 공약수(△Ts)로 한다. 이어서, △T[i]를 SMF와 같은 가변 길이 부호로 출력한다(스텝(S13 내지 S17)). 단, △T[i] 값을 가변 길이 부호로 할 때에, △T[i]를 △Ts로 제산한 값(△Ta[i])을 부호화한다(스텝(S15)). 따라서, 노트 △부호는 도 9와 같이 최대 공약수(△Ts)와, NA개 값 △Ta[i](i=1 내지 NA)에 의해 구성된다.
여기서, 본 연주 정보 압축 장치에 의해 압축된 부호를 신장할 때에는 △Ta[i] 값을 판독하여 △Ts를 곱함으로써 원래의 △T[i]가 복원되며, 따라서, SMF가 갖는 음악적인 표현력을 잃지 않고 데이터량을 삭감할 수 있다. 예를 들면 △타임의 기본 단위를 일반적으로 잘 사용되는 480분의 1박으로 하고, △Ts=10인 경우를 예로 하면, SMF에서는 1박의 길이 △T=480이나 1/2박의 길이 △T=240을 표현하는 데 각각 2바이트 필요하다. 한편, 본 발명에서는 △Ts로 제산하여 표현함으로써 △T=48 혹은 △T=24를 표현하면 되게 되어, 각각 1바이트 사용으로 끝난다. 또, 1박 혹은 1/2박에 상당하는 △타임은 사용 빈도가 높기 때문에, 이들이 1개의 △타임에 대해 1바이트씩 삭감되면, 악곡 전체에서 상당 용량을 삭감할 수 있다.
컨트롤러 △부호 생성 수단(14)은 처리 대상이 노트 테이블이 아니라 컨트롤러 테이블이라는 점 이외는 노트 △부호 생성 수단(13)과 완전히 동일한 처리이며, 생성되는 컨트롤러 부호 구성도 부호수가 NA개에서 NB개로 변하는 것 이외는 도 9에 도시하는 노트 △부호와 동일하다.
듀레이션 부호 생성 수단(15)은 노트 △부호 생성 수단(13)과 거의 동일하며, 도 10에 따라서 처리를 행한다. 우선, 노트 테이블에 등록된 각 듀레이션 값의 최대 공약수(Ds)를 산출한다(스텝(S21)). 이 경우, 최대 공약수를 구하는 것이곤란한 경우는 적당한 공약수를 최대 공약수(Ds)로 한다. 듀레이션 부호는 도 11에 도시하는 바와 같이 최대 공약수(Ds)와, NA개 값 Da[i](i=1 내지 NA)에 의해 구성되며, 최대 공약수(Ds)에 계속하여, 각 듀레이션 값 D[i]를 Ds로 나눈 값 Da[i]를 가변 길이 부호로서 출력한다(스텝(S22 내지 S26)). 여기서, 듀레이션은 상술한 바와 같이, SMF의 노트 온 이벤트와 노트 오프 이벤트 사이의 △타임에 상당하기 때문에, 노트 △부호 생성 수단(13)에 있어서 설명한 것과 동일한 이유에 의해, SMF에 비해 데이터량이 삭감된다.
노트 넘버 부호 생성 수단(16)에서는 노트 테이블에 등록되어 있는 노트 넘버에 대해, 이하의 처리를 실시함으로써 노트 넘버 부호를 생성한다. 여기서, 어느 노트 넘버 num[i]를 (1)식과 같이 그 이전의 S개의 노트 넘버
num[i-1], num[i-2], …, num[i-S]
를 변수로 하는 함수 f()와 잔차 α[i]로 나타낸다(단, num[i-1]은 num[i]의 1개 이전 노트 넘버, num[i-2]는 num[i]의 2개 이전 노트 넘버를 나타낸다).
노트 넘버 부호는 도 12에 도시하는 바와 같이 i≤S의 이벤트에 대한 노트 넘버와, i>S의 이벤트에 대해 잔차 α[i]를 시간 순으로 나열함으로써 구성된다. 따라서, 압축 시와 신장 시에 동일한 함수 f()를 사용하면, 잔차 α[i]로부터 num[i]를 복원할 수 있다.
num[i] = f(num[i-1], num[i-2], …, num[i-S]) + α[i] …(1)
단, 이벤트 수를 NA로 하여,
i=(S+1), (S+2), …, NA
여기서, 함수 f()에는 각종의 것을 생각할 수 있지만, 가능한 한 동일한 값의 α[i]가 반복하여 출현하는 바와 같은 것을 선택함으로써, 2차 부호 생성 수단(4)으로 효율 좋은 압축이 가능해진다. 일례로서 (2)식과 같은 함수를 사용한 경우의 효과를 설명한다. 이것은 S=1이고, 1개 이전 노트 넘버와의 차분을 α[i]로 하는 것을 의미한다. 단 i=1인 경우는 노트 넘버 그 자체를 노트 넘버 부호로서 출력한다.
num[i] = num[i-1] + α[i] …(2)
단, 이벤트 수를 NA로 하여,
i=2, 3, …, NA
여기서, 통상의 악곡에 있어서는 코드(화음)의 루트음(근음)의 평행 이동량과 동일한 음정만큼 이동한 멜로디 라인이 존재하는 경우가 많다. 예를 들면 「C」 코드 소절에서 「도, 도, 미, 솔, 미」라는 멜로디 라인이 있을 경우에, 루트음이 2도 높은 「D」코드 소절에 있어서 「레, 레, #파, 라, 레」라는 식으로, 최초의 멜로디 라인을 2도 올린 멜로디 라인이 존재하는 경우가 많다.
이 각각의 멜로디 라인을 SMF의 노트 넘버 그 자체로 나타내면, 「60, 60, 64, 67, 60」, 「62, 62, 66, 69, 62」가 되며, 이 2개에 공통 데이터 패턴은 전혀 없다. 그러나 상술한 α[i]로 표현하면, 어느쪽 멜로디 라인도 그 2음번째 이후는 「0, 4, 3, -7」이 되어 동일 패턴이 된다. 이렇게 SMF에서는 전혀 다른 2개의 데이터 패턴을 본 수법에 의해 동일 데이터 패턴으로 변환할 수 있다.
LZ법에서는 동일 데이터 패턴이 많을수록 압축율이 높아지기 때문에, 이러한노트 넘버의 표현 방법에 의해 압축율이 높아지는 것은 분명하다. 또한, (1)식에서 S=0으로 하면,
num[i] = α[i]
이 되며, 노트 넘버 그 자체를 부호화하게 된다. 또 함수 f()를 어떤 종류인지 준비해 두고, 가장 적절한 함수를 선택하여 부호화함과 동시에, 어느 함수를 사용했는지라는 정보를 합쳐 부호화해도 된다.
벨로시티 부호 생성 수단(17)도 노트 넘버 부호 생성 수단(16)과 동일하다. 노트 테이블에 등록된 어느 음부의 벨로시티 vel[i]를 (3)식과 같이 그 이전에 출현한 T개의 음부 벨로시티
vel[i-1], vel[i-2], …, vel[i-T]
를 변수로 하는 함수 g()와 잔차 β[i]로 나타낸다(단, vel[i-1]은 vel[i]의 1개 이전 벨로시티, vel[i-2]는 vel[i]의 2개 이전 벨로시티).
벨로시티 부호는 도 13에 도시하는 바와 같이 i≤T의 이벤트에 대한 벨로시티와, i>T의 이벤트에 대해 잔차 β[i]를 시간 순으로 나열함으로써 구성된다. 따라서, 압축 시와 신장 시에 동일 함수 g()를 사용하면, 잔차 β[i]로부터 vel[i]를 복원할 수 있고, 또, 함수 g()를 적당히 선택함으로써, 동일한 데이터 패턴의 β[i]가 반복하여 출현하게 되어, LZ법을 사용한 경우의 압축율을 개선할 수 있다.
vel[i] = g(vel[i-1], vel[i-1], …, vel[i-T]) + β[i] (3)
단, 이벤트 수를 NA로 하여,
i=(T+1), (T+2), …, NA
다음으로, 컨트롤러 부호 생성 수단(18)에 대해서 설명한다. 컨트롤러 부호는 도 14에 도시하는 바와 같이 도 6에 도시하는 컨트롤러 테이블에 등록된 이벤트 정보를 시간 순으로 나열한 것이다. 각 컨트롤러 부호는 이벤트 종류를 나타내는 플래그(F)와 파라미터(데이터 바이트)로 구성된다. 파라미터 개수는 이벤트 종류에 따라 다르다. 이벤트 종류는 크게 나누어 「통상 이벤트」와 「연속 이벤트」의 2개 타이프가 있다. 플래그(F)의 최상위 비트가 「1」, 파라미터의 최상위 비트가 「0」에 설정되어 있기 때문에, SMF와 동일한 러닝 스테이터스 표현(이전 이벤트와 동일 종류의 이벤트 경우에 플래그(F)를 생략하는 것)이 가능하게 되어 있다.
여기서, SMF에서는 이벤트 종류를 나타내는 데 1바이트의 MIDI 스테이터가 사용되고 있다. 일반적으로 사용되는 값은 8n(hex), 9n(hex), An(hex), Bn(hex), Cn(hex), Dn(hex), En(hex), F0(hex), FF(hex) 중 어느 하나이다(단, n=0 내지 F(hex), n은 채널 번호이다). 「통상 이벤트」는 상기 MIDI 스테이터스로부터 노트 온 8n(hex)과 노트 오프 9n(hex)을 제외한 것이지만, 본 발명에서는 상술한 바와 같이 채널 번호를 표현할 필요가 없기 때문에, 「통상 이벤트」의 플래그 종류는 7종류가 된다. 따라서 MIDI 스테이터스에 비해 플래그(F)는 동일한 값이 될 확률이 높으며, LZ법을 사용한 경우의 압축율이 높아진다.「통상 이벤트」의 부호는 플래그(F) 후에, SMF의 MIDI 스테이터스 1바이트를 제외한 데이터 바이트를 나열한 것이다.
또, SMF에서는 특정 종류의 이벤트가 일정수 이상 연속하여 출현하며, 각각의 이벤트 파라미터치(데이터 바이트)가 거의 일정 규칙으로 변화하는 부분이 존재하는 것이 많다. 예를 들면 「피치 호일 체인지」 이벤트가 사용되고 있는 부분이다. 이 이벤트는 음부의 음정을 미묘하게 바꾸어 음악적인 표현력을 높이기 위한 것으로, 그 성질 상 파라미터치가 다른 복수 이벤트가 연속하여 사용되는 것이 많다. 이러한 이벤트를 「연속 이벤트」라 부르며, 이러한 부분을 「연속 이벤트 블록」이라 부른다.
이하의 설명에서는 「연속 이벤트」의 일례로서 「피치 오일 체인지」를 들지만, 이에 한정되는 것은 아니다. SMF의 「연속 이벤트 블록」의 일례를 도 15에 도시한다. 이 경우, 각 이벤트의 파라미터치가 다르기 때문에, SMF의 동일 데이터 패턴 길이는 (△타임·1바이트+스테이터스·1바이트) 합계 2바이트로, 이 정도의 길이로는 LZ법에 의한 압축 효과는 거의 얻어지지 않는다.
그래서, 컨트롤러 테이블 중에서 「피치 호일 체인지」가 일정수 이상 연속하여 출현하며, 파라미터치가 거의 일정 규칙으로 변화하는 영역에 대해, 이하의 처리를 실시함으로써 컨트롤러 부호를 생성한다. 우선, 「피치 호일 체인지」 수가 일정수에 차지 않는 경우는 상술한 「통상 이벤트」로서 부호화한다. 그리고, (4)식에 도시하는 바와 같이 연속 이벤트 블록 내의 이벤트 파라미터 p[i]를 그 이전에 출현한 U개의 이벤트 파라미터치
p[i-1], p[i-2], …, p[i-U]
를 변수로 하는 함수 h()와 잔차 γ[i]로 나타낸다(단, p[i-1]는 p[i]의 1개 이전 파라미터치, p[i-2]는 p[i]의 2개 이전 이벤트의 파라미터치).
연속 이벤트의 부호 구성은 도 16에 도시하는 바와 같이, 피치 호일 체인지가 연속하고 있는 것을 의미하는 플래그(F)에 계속하여, 1번째에서 U번째까지의 이벤트에 대해서는 파라미터치 그 자체이다. 그리고, (U+1)번째 이후의 이벤트에서는 γ[i]를 시간 순으로 나열한 것이다.
p[i] = h(p[i-1], p[i-2], …, p[i-U]) + γ[i] (4)
단, 연속 이벤트 블록의 이벤트수를 NC로 하여
i=(U+1), (U+2), …, NC
함수 h()에는 각종 것을 생각할 수 있지만, 가능한 한 동일한 값의 γ[i]가 반복하여 출현하는 것을 선택함으로써, 2차 부호 생성 수단(4)에 있어서 효율 좋은 압축이 가능해진다. 일례로서 (5)식과 같은 함수를 사용한 경우의 효과를 설명한다. 이것은 U=1로, 1개 이전 파라미터와의 차분을 얻는 것을 의미한다.
p[i] = p[i-1]+γ[i] (5)
단, 연속 이벤트 블록의 이벤트수를 NC로 하여
i=i=2, 3, …, NC
이 방법에 의하면, 도 15에 도시하는 영역은 도 17과 같은 컨트롤러 부호로 변환된다. 이 경우, 2번째 이후의 이벤트 데이터가 모두 동일한 「1」이 되기 때문에, LZ법에 의한 압축율이 높아진다. 또, 컨트롤러 부호에는 △타임이 포함되지 않기 때문에, △타임이 이벤트마다 다른 경우라도, LZ법에 있어서의 압축율 저하 영향이 적다. 또 경우에 따라서는 (4)식 대신 이벤트 시간 정보도 변수로 사용한 (6)식과 같은 함수 e()를 사용해도 된다. 단, t[i]는 파라미터를 구하는 이벤트시간, t[i-1]은 그 1개 이전 이벤트 시간이다.
p[i] = e(p[i-1], p[i-2], …, p[i-U], t[i], t[i-1], …, t[i-U]) + γ[i] (6)
단, 연속 이벤트 블록의 이벤트수를 NC로 하여
i=(U+1), (U+2), …, NC
부호 배치 수단(19)에서는 상기 각 부호를 도 18과 같은 영역에 배치하여 1차 부호(3)를 생성한다. 헤더는 각 부호의 개시 어드레스나 길이와 같은 관리 정보와 상술한 채널 맵을 포함하고 있다. 이미 설명한 바와 같이 각 부호는 SMF에 비해, 동일 데이터의 출현 회수가 많아, 동일 데이터 패턴 길이도 길다는 성질을 갖고 있지만, 더욱이 동일 데이터 패턴이 가까운 거리에서 출현하도록 연구를 하고 있다. 우선, 동일 종류의 부호 내에서, 동일한 데이터열이 출현할 확률이 높기 때문에, 트랙 순으로 동일 종류의 부호를 배치하고 있다. 또, 노트 △부호와 컨트롤러 △부호와 듀레이션 부호는 모두 시간 정보로, 성질이 다른 노트 넘버 부호나 벨로시티 부호보다도 동일한 데이터열이 출현할 확률이 높기 때문에, 이들 거리가 근접하도록 배치하고 있다.
다음으로, 도 19에서 도시한 예로 돌아가, 동일 데이터 패턴 길이가 어느 정도 개선될지 구체적으로 검토한다. 여기서, 각각의 멜로디는 50개의 노트 온 이벤트와 50개의 노트 오프 이벤트로 구성되어 있으며, 모든 △타임은 1바이트라고 하고, 모든 이벤트는 3바이트라 가정하면, 각각의 멜로디 노트 넘버는 상술한 바와 같이 모두 동일하다.
SMF에 있어서, 각각의 멜로디 데이터량은
(1+3)×50×2=400 바이트
이다. 각각 멜로디의 △타임과 벨로시티가 모두 동일하면, 동일 데이터 패턴 길이는 400바이트가 된다. 그러나 양멜로디 사이의 모든 △타임과 노트 온의 벨로시티가 다르다 하면, SMF에서 동일 데이터 패턴의 최대 길이는 노트 오프 스테이터스, 노트 넘버, 벨로시티 나열의 3바이트이다. 이 정도로는 LZ법 압축은 거의 효과가 없다.
한편, 본 발명에서는 △타임, 노트 넘버, 벨로시티를 분리하여 부호화하고 있기 때문에, 적어도 노트 넘버 부호 중에서 50바이트 길이의 동일 데이터 패턴이 출현한다. 또 상술한 바와 같이 SMF의 벨로시티가 완전히 다른 경우라도, 벨로시티 부호 중에서는 동일 데이터 패턴이 출현하는 경우가 많다. 따라서 LZ법에 의한 압축율은 분명히 개선된다. 이상의 설명으로부터 알 수 있는 바와 같이 1차 부호(3)는 SMF가 갖는 음악적인 정보량을 완전히 떨어뜨리지 않고 데이터량이 삭감되어 있음과 동시에, SMF에 비해 동일 데이터 패턴 길이가 길고, 출현 회수가 많으며, 게다가 그것들이 가까운 거리에서 출현하는 성질을 갖고 있기 때문에, 2차 부호 생성 수단(4)에 있어서 효과적인 압축을 행할 수 있다. 또, 이 1차 부호(3) 그 자체도 꽤 압축된 데이터량으로 되어 있기 때문에, 이 1차 부호(3)를 직접 출력하도록 해도 된다.
2차 부호 생성 수단(4)에 있어서는 1차 부호 생성 수단(2) 출력(3)에 대해, LZ법에 의한 압축을 행한다. LZ법은 gzip, LHA와 같은 압축 프로그램에서 널리 사용되고 있는 수법이다. 이것은 입력 데이터 중에서, 동일 데이터 패턴을 찾아, 혹시 존재하면, (과거에 출현한 패턴으로의 거리, 패턴 길이)라는 정보로 치환하여 표현함으로써 데이터량을 삭감한다. 예를 들면,
"ABCDEABCDEF"
라는 데이터를 "ABCDE"가 반복이기 때문에,
"ABCDE(5, 5)F"
라는 정보로 치환한다. 또한, 압축 부호(5, 5)는 5문자 돌아가 5문자 카피하는 것을 나타낸다.
처리 개요는 다음과 같이 된다. 2차 부호(5) 생성은 처리 위치를 1차 부호(3) 선두로부터 순차 이동시켜 행한다. 처리 위치의 데이터 패턴이 그 이전의 일정 범위 내의 데이터 패턴과 일치할 경우는 처리 위치로부터 그 데이터 패턴까지의 거리와, 일치한 데이터 패턴 길이를 2차 부호(5)로서 출력하고, 처리 위치를 2개째 데이터 패턴 끝으로 이동시켜, 처리를 계속한다. 처리 위치의 데이터 패턴이 그 이전의 일정 범위 내의 데이터 패턴과 일치하지 않으면, 1차 부호(3)를 카피하여 2차 부호(5)로서 출력한다.
이상의 설명으로부터 분명한 바와 같이, 2개의 동일 데이터 영역이 클수록 압축율은 높아진다. 또 동일 데이터 영역의 거리는 일정 범위 내일 필요가 있다. 상술한 바와 같이 악곡 중에서는 동일한 멜로디가 반복하여 사용되지만, SMF대로 그들 데이터를 비교하면, 완전히 동일 데이터열의 반복인 것은 적고, 오히려 노트 넘버는 동일하지만 벨로시티는 다르다는 식으로 어딘가 일부분 다른 경우가 많다.
한편, 본 발명에서는 성질이 동일한 데이터를 독립한 영역으로 모음과 동시에, 각 영역에서 동일 데이터가 가능한 한 많이 출현하는 처리를 행하며, 더욱이 성질이 가까운 영역끼리를 가능한 한 가깝게 배치함으로써, LZ법의 압축율이 높아지기 때문에, 최종적인 2차 부호(5)는 충분히 용량이 작은 것이 된다. 또한, 이상 상술한 포맷 및 처리 순서는 일례로, 그 주지를 일탈하지 않는 범위에 있어서 각종 변경을 가할 수 있다. 또, 연주 정보로서 SMF를 예로 들었지만, SMF에 한하지 않고 이에 유사한 연주 정보에 대해 본 발명을 적용하여 데이터 용량을 효율 좋게 삭감할 수 있다.
다음으로, 도 20 내지 도 28을 참조하여 상기 1차 부호(3) 또는 2차 부호(5)를 복호하기 위한 연주 정보 복호 장치에 대해서 설명한다. 도 20은 연주 정보 복호 장치를 도시하는 블록도, 도 21은 도 20의 2차 부호 복호 수단의 처리를 설명하기 위한 플로 차트, 도 22는 도 20의 1차 부호 복호 수단의 처리를 설명하기 위한 플로 차트, 도 23은 도 22의 트랙 복호 처리를 상세하게 설명하기 위한 플로 차트, 도 24는 도 23의 노트 이벤트 복호 처리를 상세하게 설명하기 위한 플로 차트, 도 25는 도 24의 노트 이벤트 복호 처리에 의해 복원된 노트 온 이벤트를 도시하는 설명도, 도 26은 도 24의 노트 이벤트 복호 처리에 의해 복원된 노트 오프 큐를 도시하는 설명도, 도 27은 도 23의 컨트롤러 이벤트 복호 처리를 상세하게 설명하기 위한 플로 차트, 도 28은 도 27의 처리에 의해 복원된 컨트롤러 이벤트를 도시하는 설명도이다.
도 20에서는 압축 처리와는 반대로 LZ법으로 압축된 입력 데이터(21)가 2차 부호 복호 수단(23)에 의해 음정과, 음의 강도과, 음의 길이와 그 밖의 정보로 분리된 1차 부호(3)로 복호되며, 이어서 1차 부호 복호 수단(24)에 의해 원래의 음부(출력 데이터(25))로 복원된다. 제어 수단(26)은 스위치(22)에 의해, 입력 데이터(21)가 도 1에 도시하는 2차 부호(5)인 경우에 2차 부호 복호 처리에 계속하여 1차 부호 복호 처리를 행하도록 제어하며, 입력 데이터(21)가 도 1에 도시하는 1차 부호(3)인 경우에 1차 부호 복호 처리만을 행하도록 제어한다.
여기서, 2차 부호(5)인지 또는 1차 부호(3)인지의 판정은 키보드, 마우스, 디스플레이 등의 도시하지 않은 입출력 장치를 사용하여 오퍼레이터가 지정해도 되고, 압축된 정보에 대해 부호화 방법 종류를 도시하는 정보를 부호화 시에 부가하여, 복호 시에 이 정보를 자동적으로 판별하도록 해도 된다.
다음으로, 도 21을 참조하여 2차 부호 복호 수단(23)의 복호 처리를 설명한다. 입력 데이터(11)(2차 부호(5))를 선두로부터 판독하며(스텝(S101)), 이어서 압축 데이터 부분인지 즉 ABCDE(5, 5)의 「ABCDE」 부분(=비압축 데이터)인지 또는「(5, 5)」 부분(=압축 데이터)인지를 판정한다(스텝(S102)).
그리고, 압축 데이터 부분일 경우에는 과거에 출현한 동일 패턴을 참조하여 그것을 카피하고 출력하며(스텝(S103)), 한편, 비압축 데이터 부분일 경우에는 그대로 출력한다(스텝(S104)). 이하, 입력 데이터(11)를 모두 복호할 때까지 이 처리를 반복하면(스텝(S105→S101)), 도 18에 도시하는 바와 같은 배치의 1차 부호(3)가 복원된다.
다음으로, 도 22 및 도 18에 도시하는 1차 부호(3)를 참조하여 1차 부호 복호 수단(24)의 복호 처리를 설명한다. 우선, 1차 부호(3) 헤더를판독한다(스텝(S111)). 헤더에는 총 트랙수(N), 노트 △부호로부터 컨트롤 부호까지의 각 부호 영역의 선두 어드레스, 채널 맵, 시간 분해능 등의 정보가 부호화 시에 기록되어 있기 때문에, 이 헤더 정보에 근거하여 SMF 헤더를 작성하여 출력한다(스텝(S112)).
다음으로 트랙 번호(i)를 「1」에 셋(set)하여(스텝(S113)), 도 23에 상세하게 도시하는 트랙 복호 처리를 행한다(스텝(S114)). 이어서 트랙 번호(i)가 총 트랙수(N)보다 작은지의 여부를 체크하여(스텝(S115)), 혹시 작으면 트랙 번호(i)를 1개 인크리먼트하고(스텝(S116)), 스텝(S114)으로 돌아가 트랙 복호 처리를 반복한다. 그리고, 스텝(S115)에 있어서 트랙 번호(i)가 총 트랙수(N)보다 작지 않을 경우에 이 1차 부호 복호 처리를 종료한다.
도 23에 상세하게 도시하는 트랙 복호 처리에서는 우선, 처리에서 사용하는 변수를 초기화한다(스텝(S121)). 구체적으로는 처리중인 노트 이벤트 번호를 나타내는 변수(j)를 「1」에 셋하고, 처리중인 컨트롤러 이벤트 번호를 나타내는 변수(k)를 「1」에 셋하며, 노트 종료 플래그와 컨트롤러 종료 플래그를 클리어한다. 여기서, 노트 종료 플래그는 처리 트랙의 모든 노트 이벤트 복호가 종료한 것을 나타내며, 컨트롤러 종료 플래그는 처리 트랙의 모든 컨트롤러 이벤트 복호가 종료한 것을 나타낸다.
다음으로 처리 트랙 번호(i)의 노트 △부호의 최대 공약수(△Tsn)와, 컨트롤러 △부호의 최대 공약수(△Tsc)와 듀레이션 부호의 최대 공약수(Ds)를 판독한다(스텝(S122)). 그리고, j번째 노트 △부호 △Tan[j]와 k번째 컨트롤러 △부호△Tac[k]를 판독하여, (7)식과 같이 각각 최대 공약수(△Tsn, △Tsc)를 곱해 △Tn[j], △Tc[k]를 산출한다(스텝(S123)).
△Tn[j] = △Tan[j]×△Tsn
△Tc[k] = △Tac[j]×△Tsc (7)
더욱이, (8)식과 같이 트랙 선두를 기준으로 한 시각 Tn[j], Tc[k]로 변환한다(스텝(S124)).
Tn[j] = Tn[j-1] + △Tn[j]
Tc[k] = Tc[k-1] + △Tc[k]
단, Tn[0]=Tc[0]=0 (8)
또한, 스텝(S123, S124)에서는 노트 종료 플래그가 셋되어 있을 경우에는 △Tn[j], Tn[j] 산출은 행하지 않고, 또, 컨트롤러 종료 플래그가 셋되어 있을 경우에는 △Tc[k], Tc[k] 산출은 행하지 않는다.
다음으로, 출력해야 할 노트 오프 이벤트 유무를 체크하여(스텝(S125)), 출력해야 할 데이터가 있을 경우에는 SMF로서 노트 오프 이벤트를 출력한다((스텝(S126)). 또한, 스텝(S125, S126)에 대해서는 후술(도 24의 스텝(S144))한다. 다음으로, 복호 처리 선택을 행한다. 우선, 컨트롤러 종료 플래그를 체크하여(스텝(S127)), 셋되어 있을 경우에는 도 24에 상세하게 도시하는 노트 이벤트 복호 처리를 행한다(스텝(S128)).
컨트롤러 종료 플래그가 셋되어 있지 않을 경우에는 노트 종료 플래그를 체크하며(스텝(S129)), 셋되어 있을 경우에는 도 27에 상세하게 도시하는 컨트롤러이벤트 복호 처리를 행한다(스텝(S130)). 2개의 플래그가 모두 셋되어 있지 않을 경우에는 Tn[j]와 Tc[k]를 비교하여(스텝(S131)), Tn[j]가 작으면 노트 이벤트 복호 처리(스텝(S128))를, 그렇지 않으면 컨트롤러 이벤트 복호 처리(스텝(S130))를 행한다.
노트 이벤트 복호 처리 후에는 처리 트랙(N)의 모든 노트 이벤트를 처리했는지의 여부를 체크하여(스텝(S132)), 처리가 종료하고 있을 경우에는 노트 종료 플래그를 셋하고(스텝(S133)), 스텝(S138)으로 진행하며, 그렇지 않으면 변수(j)를 1개 인크리먼트하여(스텝(S134)), 스텝(S123)으로 되돌아간다. 또, 컨트롤러 이벤트 복호 처리 후에는 처리 트랙(N)의 모든 컨트롤러 이벤트를 처리했는지의 여부를 체크하여(스텝(S135)), 처리가 종료하고 있을 경우에는 컨트롤러 종료 플래그를 셋하고(스텝(S136)), 스텝(S138)으로 진행하며, 그렇지 않으면 변수(k)를 1개 인크리먼트하여(스텝(S137)), 스텝(S123)으로 돌아간다.
스텝(S138)에서는 노트 종료 플래그와 컨트롤러 종료 플래그 양방이 셋되어 있는지의 여부를 체크하여, 양쪽이 셋되어 있을 경우에는 이 트랙 복호 처리를 종료하고, 그렇지 않으면 스텝(S123)으로 돌아가 이 트랙 복호 처리를 반복한다.
도 24에 상세하게 도시하는 노트 이벤트 복호 처리에서는 우선, j번째 노트 넘버 부호 α[j]를 판독하여, 압축 처리에 있어서 사용한 함수 f()를 사용하여 (9)식에 따라서 노트 넘버 num[j]를 산출한다(스텝(S141)).
num[j] = f(num[j-1], num[j-2], …, num[j-S]) + α[j](j>S) + α[j](j≤S)
num[j] = α[j] (j≤S)
단, S는 함수 f()의 변수 개수 (9)
마찬가지로, j번째 벨로시티 부호 β[j]를 판독하여, 압축 처리에 있어서 사용한 함수 g()를 사용하여 (10)식에 따라서 벨로시티 vel[j]를 산출한다(스텝(S142)).
vel[j] = g(vel[j-1], vel[j-2], …, vel[j-T]) + β[j](j>T)
vel[j] = β[j] (j≤T)
단, T는 함수 g()의 변수 개수 (10)
이어서, Tn[j], num[j], vel[j]를 사용하여 도 25에 도시하는 바와 같은 노트 온 이벤트를 출력한다(스텝(S143)). 또한, SMT의 △타임 △T는 Tn[j] 직전에 출력한 이벤트 시각(Tb)을 사용하여 식 (11)에 따라서 구하여 출력한다.
△T = Tn[j]-Tb (11)
도 25에 도시하는 노트 온 이벤트에 있어서의 스테이터스 바이트의 상위 4비트는 노트 온 「9(hex)」를 나타내며, 하위 4비트는 채널 맵으로부터 얻어지는 번호가 계속된다. 이 스테이터스 바이트 후에는 노트 넘버와 벨로시티의 각 바이트가 계속된다.
다음으로 노트 오프 이벤트 등록을 행한다(스텝(S144)). 구체적으로는 듀레이션 부호 Da[j]를 판독하고, (12)식에 따라서 노트 오프 이벤트의 시각(Toff)을 산출하여, 이 시각(Toff)과 노트 넘버 num[j]를 도 26에 도시하는 바와 같은 노트 오프 큐에 등록한다. 이 노트 오프 큐에서는 사용되고 있는 엔트리 수를 보존함과 동시에, 노트 오프 시각(Toff)이 선두로부터 작은 순으로 나열하도록 관리된다.
Toff[j] = Da[j]×Ds + Tn[j] (12)
상술한 도 23의 스텝(S125)에 있어서는 Tn[j]과 Tc[k] 내 값이 작은 쪽 Tm을 노트 오프 큐의 선두 Toff[n](n=1 내지 엔트리 총수(N)) 순으로 비교한다. Toff[n]<Tm인 엔트리가 있으면 스텝(S126)으로 진행하여, 노트 오프 이벤트를 출력한다. 스텝(S126)에서는 상술한 노트 오프 이벤트를 SMF로서 출력한다.
다음으로 도 27을 참조하여 컨트롤러 이벤트 복호 처리를 상세하게 설명한다. 이 처리에서는 도 28에 도시하는 바와 같이 △타임, 스테이터스 및 파라미터로 이루어지는 컨트롤러 이벤트가 복원되며, 우선, Tc[k]와 직전에 출력한 이벤트 시각(Tb)을 사용하여 (13)식에 따라서 SMT의 △타임(△T)을 구하여 출력한다(스텝(S151)).
△T = Tc[k] - Tb (13)
다음으로 컨트롤러 부호 영역으로부터 이벤트 종류를 나타내는 이벤트 플래그 F[k]를 판독하여, F[k]가 「통상 이벤트」인지, 「연속 이벤트」인지 또는 「러닝 스테이터스」인지를 판정한다(스텝(S152)). 여기서, 연속 이벤트 블록 내에서는 도시 생략 16에 도시하는 바와 같이 2번째 이후의 이벤트는 이벤트 플래그가 생략된 「러닝 스테이터스」 상태로 기록되어 있다.
F[k]가 「통상 이벤트」일 경우에는 처리 이벤트의 연속 이벤트 블록 내에 있어서의 순번을 나타내는 변수(m)를 「0」에 리셋(reset)하고(스텝(S153)), 이어서 채널 맵을 참조하여 SMF의 스테이터스 바이트를 작성하여 출력한다(스텝(S154)). 더욱이 이벤트 종류에 따라서 필요한 바이트수를 컨트롤러부호 영역으로부터 판독하여, 이 판독한 값이 SMF의 파라미터(데이터 바이트)이기 때문에 이것을 출력한다(스텝(S155)).
F[k]가 「통상 이벤트」일 경우에는 처리 이벤트의 연속 이벤트 블록 내에 있어서의 순번을 나타내는 변수(m)를 「0」에 리셋하고(스텝(S156)), 이어서 채널 맵을 참조하여 SMF의 스테이터스 바이트를 작성하여 출력한다(스텝(S157)). 또한, m≥2인 경우의 스테이터스 바이트는 m이 「1」인 경우의 스테이터스 바이트를 이용한다. 그리고, 이 「연속 이벤트」의 경우에는 파라미터 부호 γ[m]을 판독하고, 압축 처리와 동일한 함수 h()를 사용하여, (14)식에 따라서 SMF의 파라미터 p[m]를 작성하여, 출력한다(스텝(S158)).
p[m] =h(p[m-1], p[m-2], …, p[m-U] + γ[m](m>U)
p[m] = γ[m] (m≤U)
단, U는 함수 h()의 변수 개수 (14)
F[k]가 「러닝 스테이터스」일 경우에는 변수(m) 값을 체크하여(스텝(S159)), m이 「0」보다 크면 m을 1개 인크리먼트하여(스텝(S160)), 「연속 이벤트」 측 스텝(S157)으로 진행한다. 한편, m이 「0」이면 「통상 이벤트」 측 스텝(S154)으로 진행한다.
이상의 설명에서는 SMF를 예로 하여 연주 정보의 효율적인 압축 방법에 대해서 서술했지만, 이 압축 방법의 적용 대상 파일은 SMF에 한하는 것이 아니라, Mfi나 컴팩트 MIDI, SMAF 등이라 불리는 현재 착신 멜로디의 기술 포맷에 있어서도, 동일 수단을 적용함으로써, 압축·해동을 행하는 것도 가능하다.
<제 1 실시예의 동작>
다음으로, 도 33을 참조하여, 본 발명에 의한 연주 정보 기록 장치의 제 1 실시예 동작에 대해서 설명한다. 여기서는 착신 멜로디를 본 발명에 의한 연주 정보 기록 장치에 기록한 경우에 대해서 설명을 행한다. 통상, 유저가 구입 혹은 자기가 입력한 악곡은 악곡 연주 정보가 상술한 1차 부호화 및 2차 부호화된 상태에서 정보 기억 수단(105)에 한번 기록된다.
악곡 연주 정보가 정보 기억 수단(105)에 기록되는 플로 차트인 도 37을 사용하여 설명한다. 최초에 우선, 스텝(401)에서 악곡이 들어간다. 여기서, 악곡 입력은 도 33의 블록(104)에 도시하는 악곡 입력 수단에 의해 행해진다.
악곡이 들어갈 때, i모드와 같은 휴대 전화 서비스와 같은 시스템에서 배신이 행해질 경우에는 통상, 미리 1차 부호화 및 2차 부호화된 상태에서 압축된 파일이 배신된다.
이러한 파일을 넣은 경우에는 스텝(402), 스텝(404)에서 yes(Y)라 판정되어, 그대로 스텝(406)에 의해 정보 기억 수단(105)에 기록된다.
또, 스텝(401)에서 들어간 악곡이 예를 들면 유저가 스스로 작성한 파일과 같이 SMF채의 상태이면, 스텝(402)에서 no(N)라 판정되어, 스텝(403)에서 1차 부호화가 계속해서 스텝(405)에서 2차 부호화가 실시된 후, 스텝(406)에 의해 정보 기억 수단(105)에 기록된다.
또, 스텝(401)에서 입력된 악곡이 1차 부호화만 실시되고 있는 상태이면, 스텝(402)에서 yes(y)라 판정되고, 다음으로 스텝(404)에서 no(N)라 판정되며,스텝(405)에서 2차 부호화가 실시된 후, 스텝(406)에 의해 정보 기억 수단(105)에 기록된다.
또한, 상술한 스텝(402, 404)에서 판단하는 방법에 대해서 설명한다. 도 39에 연주 정보의 파일 구성을 도시한다. 본 발명에 의한 연주 정보는 이렇게 실제 연주 정보 선두에 부호화 상태 스테이터스를 나타내는 정보가 부가되어 있으며, 이로써, 연주 정보는 1차 부호화되어 있을 뿐인지, 2차 부호화까지 실시되고 있는 것인지 혹은 아무것도 이들 부호화는 실시되어 있지 않은지의 여부를 알 수 있다. 따라서, 도 37의 스텝(403)에서 1차 부호화된 경우에는 도 39의 부호화 상태 스테이터스는 1차 부호화된 상태인 것을 나타내는 정보에 재기록된다.
이상과 같이 하여, 우선 악곡 정보가 1차 부호화 및 2차 부호화가 실시된 상태에서 적당히 연주 정보 기록 장치에 기록된다. 다음으로, 도 38을 참조하여, 이 연주 정보 기록 장치가 전화 단말에 구비되어 있는 경우를 예로, 실제로 착신 멜로디로서 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 설명한다. 이 때, 지정하는 악곡은 1곡이라도 복수의 악곡이라도 상관없다. 복수의 경우는 전화가 걸려 오는 상대에 따라 착신 멜로디 선율을 바꾸고 싶은 경우 등에 사용할 수 있다. 전화 단말은 고정 전화라도, 휴대 전화라도, 혹은 통신 기능이 구비된 하드웨어이면, 정보 휴대 단말이나 셋 톱 박스, 퍼스널 컴퓨터, 텔레비젼, 라디오 카셋트, 미니 컴포넌트 등, 어떠한 형태라도 상관없다. 우선 스텝(411)에서 착신 멜로디로서 사용하고 싶은 악곡을 지정한다. 여기서, 악곡 지정은 도 33의 블록(106)에 도시하는 악곡 지정 수단에 의해 행해진다. 다음으로 스텝(412)으로 진행하여,지정된 악곡에 대응하는 압축 파일을 2차 복호한다. 다음으로 스텝(413)으로 진행하여, 정보 기억 수단(105)에 기록되어 있는 지정된 악곡에 대응하는 압축 파일을 소거하여, 스텝(412)에서 2차 복호한 파일을 기록한다. 다음으로 스텝(414)으로 진행하여, 그 밖에도 지정하는 악곡이 있으면 스텝(411)으로 돌아가, 이하 동일하게 이것을 지정하여, 그 밖에 지정하는 악곡이 없으면 여기서 악곡 지정은 종료한다.
도 29는 이상의 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억 수단(105)에 기억된 각 악곡 파일 모양을 도시하고 있다. 악곡(M) 이외는 1차 부호화 및 2차 부호화가 실시되어, 악곡(M)만 1차 부호화만 부호화된 상태에서 기록되어 있다.
또한, 악곡 지정 수단(106)에 의해 지정하는 악곡을 변경할 경우에, 그 때에 이미 지정되어 있는 악곡(M)이 새롭게 지정하는 악곡 대상으로부터 벗어났을 때에는, 이 때, 이미 기록하고 있던 1차 부호화만 실시된 악곡(M)에 대응하는 정보는 소거되며, 새롭게 도 33의 2차 부호 생성 수단(102)에 의해 2차 부호화된 상태에서, 정보 기억 수단(105)에 기록된다. 이로써, 지정되어 있지 않은 악곡에 대응하는 파일은 항상 1차 부호화 및 2차 부호화가 실시된 상태에서 정보 기억 수단(105)에 기록된다.
이상에 의해, 전화 착신 시에 2차 복호화에 시간을 요하지 않고, 단시간에 착신 멜로디를 재생하는 것이 가능해진다.
<제 2 실시예의 동작>
다음으로, 도 34를 참조하여 본 발명에 의한 연주 정보 기록 장치의 제 2 실시예의 동작에 대해서 설명한다. 여기에서도, 착신 멜로디를 본 발명에 의한 연주 정보 기록 장치에 기록한 경우에 대해서 설명을 행한다. 통상, 유저가 구입 혹은 자기가 입력한 악곡은 악곡 연주 정보가 상술한 1차 부호화 및 2차 부호화된 상태에서 정보 기억 수단(115)에 한번 기록된다.
여기서, 악곡 연주 정보가 정보 기억 수단(115)에 기록되는 플로는 도 37에 도시하는 대로이며, 상술한 경우와 동일하기 때문에, 설명은 생략한다.
다음으로, 도 40을 참조하여, 이 연주 정보 기록 장치가 전화 단말에 구비되어 있는 경우를 예로, 실제로 착신 멜로디로서 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 설명한다. 이 때, 지정하는 악곡은 1곡이어도 복수의 악곡이어도 상관없다. 복수의 경우는 전화가 걸려 오는 상대에 따라 착신 멜로디 선율을 바꾸고 싶은 경우 등에 사용할 수 있다. 전화 단말은 고정 전화라도 휴대 전화라도 혹은 통신 기능이 구비된 하드웨어이면, 정보 휴대 단말이나 셋 톱 박스, 퍼스널 컴퓨터, 텔레비젼, 라디오 카세트, 미니 컴포넌트 등, 어떠한 형태라도 상관없다. 우선 스텝(411)에서 착신 멜로디로서 사용하고 싶은 악곡을 지정한다. 여기서, 악곡 지정은 도 34의 블록(116)에 도시하는 악곡 지정 수단에 의해 행해진다. 다음으로 스텝(412)으로 진행하여 지정된 악곡에 대응하는 압축 파일을 2차 복호한다. 다음으로 스텝(415)으로 진행하여 지정된 악곡에 대응하는 압축 파일을 1차 복호한다.
다음으로 스텝(413)으로 진행하여, 정보 기억 수단(115)에 기록되어 있는 지정된 악곡에 대응하는 압축 파일을 소거하여, 스텝(415)에서 1차 복호한 파일을 기록한다. 다음으로 스텝(414)으로 진행하며, 그 밖에도 지정하는 악곡이 있으면 스텝(411)으로 돌아가, 이하 동일하게 이것을 지정하며, 그 밖에 없으면 여기서 악곡 지정은 종료한다.
도 30은 이상의 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억 수단(115)에 기억된 각 악곡 파일 모양을 도시하고 있다. 악곡(M) 이외는 1차 부호화 및 2차 부호화가 실시되며, 악곡(M)만 아무것도 부호화되지 않은 상태로 기록되어 있다.
또한, 악곡 지정 수단(116)에 의해 지정하는 악곡을 변경할 경우에, 이미 지정되어 있는 악곡(M)이 새롭게 지정하는 악곡 대상으로부터 벗어났을 때에는 이 때, 이미 기록하고 있던 아무것도 부호화되지 않은 상태인 곳의 악곡(M)에 대응하는 정보는 소거되며, 새롭게 도 34의 1차 부호 생성 수단(118) 및 2차 부호 생성 수단(112)에 의해 2차 부호화된 상태에서, 정보 기억 수단(115)에 기록된다. 이로써, 지정되어 있지 않은 악곡에 대응하는 파일은 항상 1차 부호화 및 2차 부호화가 실시된 상태에서 정보 기억 수단(115)에 기록된다.
<제 3 실시예의 동작>
다음으로, 도 35를 참조하여 본 발명에 의한 연주 정보 기록 장치의 제 3 실시예의 동작에 대해서 설명한다. 여기에서도, 착신 멜로디를 본 발명에 의한 연주 정보 기록 장치에 기록한 경우에 대해서 설명을 행한다. 통상, 유저가 구입 혹은 자기가 입력한 악곡은 악곡 연주 정보가 상술한 1차 부호화 및 2차 부호화된 상태에서 정보 기억 수단(125)에 한번 기록된다.
여기서, 악곡 연주 정보가 정보 기억 수단(125)에 기록되는 플로는 도 37에 도시하는 대로이며, 상술한 경우와 동일하기 때문에, 설명은 생략한다.
다음으로, 도 41을 참조하여 이 연주 정보 기록 장치가 전화 단말에 구비되어 있는 경우를 예로, 실제로 착신 멜로디로서 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 설명한다. 이 때, 지정하는 악곡은 1곡이어도 복수의 악곡이어도 상관없다. 복수의 경우는 전화가 걸려 오는 상대에 따라 착신 멜로디 선율을 바꾸고 싶은 경우 등에 사용할 수 있다. 전화 단말은 고정 전화여도 휴대 전화여도 혹은 통신 기능이 구비된 하드웨어이면, 정보 휴대 단말이나 셋 톱 박스, 퍼스널 컴퓨터, 텔레비젼, 라디오 카세트, 미니 컴포넌트 등, 어떠한 형태라도 상관없다. 우선 스텝(421)에서 착신 멜로디로서 사용하고 싶은 악곡을 지정한다. 여기서, 악곡 지정은 도 35의 블록(126)에 도시하는 악곡 지정 수단에 의해 행해진다. 다음으로 스텝(422)으로 진행하여 지정된 악곡에 대응하는 압축 파일을 2차 복호한다.
다음으로 스텝(423)으로 진행하여 정보 기억 수단(125)에 기록되어 있는 지정된 악곡에 대응하는 압축 파일은 그대로 남기고, 스텝(425)에서 2차 복호한 파일을 기록한다. 다음으로 스텝(424)으로 진행하여, 그 밖에도 지정하는 악곡이 있으면 스텝(421)으로 돌아가, 이하 동일하게 이것을 지정하며, 그 밖에 없으면 여기서 악곡 지정은 종료한다.
도 31은 이상의 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억수단(125)에 기억된 각 악곡 파일 모양을 도시하고 있다. 착신 지정 악곡으로서 새롭게 악곡(M)은 1차 부호화만 실시된 상태의 악곡(M')으로서 추가된다. 미리 기억된 악곡은 모두 1차 부호화 및 2차 부호화가 실시된 상태에서 기록되어 있다.
또한, 악곡 지정 수단(126)에 의해 지정하는 악곡을 변경할 경우에, 이미 지정되어 있는 악곡(M')이 새롭게 지정하는 악곡 대상으로부터 벗어났을 때에는 악곡(M')의 파일은 소거된다.
이로써, 지정되어 있지 않은 악곡에 대응하는 파일은 항상 1차 부호화 및 2차 부호화가 실시된 상태에서 정보 기억 수단(125)에 기록된다.
<제 4 실시예의 동작>
다음으로, 도 36을 참조하여 본 발명에 의한 연주 정보 기록 장치의 제 4 실시예의 동작에 대해서 설명한다.
여기에서도, 착신 멜로디를 본 발명에 의한 연주 정보 기록 장치에 기록한 경우에 대해서 설명을 행한다. 통상, 유저가 구입 혹은 자기가 입력한 악곡은 악곡 연주 정보가 상술한 1차 부호화 및 2차 부호화된 상태에서 정보 기억 수단(135)에 한번 기록된다.
여기서, 악곡 연주 정보가 정보 기억 수단(135)에 기록되는 플로는 도 37에 도시하는 대로이며, 상술한 경우와 동일하기 때문에, 설명은 생략한다.
다음으로, 도 42를 참조하여 이 연주 정보 기록 장치가 전화 단말에 구비되어 있는 경우를 예로, 실제로 착신 멜로디로서 유저가 전화 착신 시에 연주시키는 악곡을 지정하는 모양을 설명한다. 이 때, 지정하는 악곡은 1곡이어도 복수의 악곡이어도 상관없다. 복수의 경우는 전화가 걸려 오는 상대에 따라 착신 멜로디 선율을 바꾸고 싶은 경우 등에 사용할 수 있다. 전화 단말은 고정 전화라도 휴대 전화라도 혹은 통신 기능이 구비된 하드웨어이면, 정보 휴대 단말이나 셋 톱 박스, 퍼스널 컴퓨터, 텔레비젼, 라디오 카세트, 미니 컴포넌트 등, 어떠한 형태라도 상관없다. 우선 스텝(431)에서 착신 멜로디로서 사용하고 싶은 악곡을 지정한다. 여기서, 악곡 지정은 도 36의 블록(136)에 도시하는 악곡 지정 수단에 의해 행해진다. 다음으로 스텝(432)으로 진행하여 지정된 악곡에 대응하는 압축 파일을 2차 복호한다. 다음으로 스텝(435)으로 진행하여 지정된 악곡에 대응하는 압축 파일을 1차 복호한다.
다음으로 스텝(433)으로 진행하여 정보 기억 수단(135)에 기록되어 있는 지정된 악곡에 대응하는 압축 파일은 그대로 남기고, 스텝(435)에서 1차 복호한 파일을 기록한다. 다음으로 스텝(434)으로 진행하여, 그 밖에도 지정하는 악곡이 있으면 스텝(431)으로 돌아가, 이하 동일하게 이것을 지정하며, 그 밖에 없으면 여기서 악곡 지정은 종료한다.
도 32는 이상의 방법에 의해 악곡(M)이 지정되었을 때의 정보 기억 수단(135)에 기억된 각 악곡 파일 모양을 도시하고 있다. 착신 지정 악곡으로서 새롭게 악곡(M')이 추가되며, 미리 기억된 악곡은 모두 1차 부호화 및 2차 부호화가 실시된 상태에서 기록되어 있다.
또한, 악곡 지정 수단(136)에 의해 지정하는 악곡을 변경할 경우에, 이미 지정되어 있는 악곡(M)이 새롭게 지정하는 악곡 대상으로부터 벗어났을 때에는 이미기록하고 있던 아무것도 부호화되지 않은 상태인 곳의 악곡(M')에 대응하는 정보는 소거된다. 이로써, 지정되어 있지 않은 악곡에 대응하는 파일은 항상 1차 부호화 및 2차 부호화가 실시된 상태에서 정보 기억 수단(135)에 기록된다.
이상, 4개의 실시예에 대해서 기재했지만, 이들은 실제의 재생 기기의 처리 시간에 의해 선택된다. 즉, 2차 복호화에만 처리에 시간을 요하는 재생 기기 경우에는 실시예 1 또는 3을 사용하며, 2차 복호화뿐만 아니라 1차 복합화에도 처리에 시간을 요하는 재생 기기의 경우에는 실시예 2 또는 4를 사용한다. 또 재생 기기 측 코스트나 규모에 제한이 있어, 1차 부호 생성 수단을 갖지 않을 경우에는 실시예 1 또는 실시예 3을 사용하며, 1차 부호 생성 수단을 갖는 것이 가능한 재생 기기는 실시예 2 또는 실시예 4를 사용한다. 실시예 1 또는 실시예 2는 악곡을 기억하는 메모리를 절약하고 싶은 경우에도 유효하다. 따라서, 재생 기기 코스트나 사양에 따라서 이들 실시예 1에서 실시예 4를 선택할 수 있다.
<제 5 실시예의 동작>
다음으로 본 발명의 SMF를 시간 축 상에서 2개 이상의 블록으로 분할하여, 적어도 최초 블록은 상기 1차 압축 및/또는 상기 2차 압축을 행하지 않는 것을 특징으로 하는 연주 정보 압축 장치에 대해서 설명한다.
도 43에 본 발명에 의한 압축을 행했을 때의 제 5 실시예를 도시한다. 종래 방법에서는 원래의 연주 정보는 그대로 1곡마다 압축을 행하고 있지만, 연주 정보를 착신 멜로디 등으로 사용할 경우에는 전화 수신 후, 바로 착신 멜로디가 재생되어야 하여, 압축된 파일을 해동하기 위해 단말 측 처리 속도를 고속화할 필요가 있다. 그래서, 도 43과 같이 연주 정보 파일을 시계열 상에 블록(1)과 블록(2)의 2개 블록으로 분할하여, 각각의 블록 단위로 압축을 행한다. 이 때, 블록(1)은 가능한 한 단말 측에서 바로 데이터를 해동할 수 있도록 1차 부호화만의 압축을 실시하며, 2차 부호화는 행하지 않는다. 블록(2)은 전체 메모리 용량이나 배신 파일 사이즈를 작게 하기 위해, 통상의 1차 부호화 및 2차 부호화에 의한 압축을 행한다. 이렇게 하여, 1차 부호화만 실시된 압축 블록(1)과 1차 부호화 및 2차 부호화가 실시된 압축 블록(2)을 하나의 파일로서 배신 전송하여, 단말 측 메모리에 기록시킨다.
블록(1)은 예를 들면 최초의 5초분 등, 어느 정도 짧게 해 두고, 전화에 대해 착신이 있었을 때, 우선, 압축된 블록(1)으로부터 해동하여, 블록(1)에 해당하는 부분의 착신 멜로디를 재생하면서, 동시에 압축된 블록(2)을 해동한다. 그 때문, 블록(1)은 블록(2) 해동을 행하기 위한 충분한 시간이 있으면, 가능한 한 짧은 쪽이 좋다. 이것은 압축된 블록(1)을 해동하는 작업 시간을 단축하는 점에서도 중요하다.
도 49에 제 5 실시예의 인코드 플로를 도시한다. 우선, SMF를 입력(스텝(601)), 스텝(602)에서 SMF를 시간 축 상에서 2분할하여, 최초 5초분을 블록(1), 나머지 부분을 블록(2)으로 한다. 그리고, 스텝(603)에서 블록(1)을 1차 부호화, 이로써 스텝(604)에서 블록(1)을 압축한 압축 블록(1)을 생성한다. 그리고, 스텝(605)에서 블록(2)을 1차 부호화 및 2차 부호화하여, 스텝(606)에서 사용하여 압축 블록(2) 파일을 생성한다. 더욱이, 압축 블록(1) 및 압축 블록(2) 파일을 하나로 모아(스텝(607)), 인코드를 종료한다.
다음으로 재생 시의 동작을 도 45 및 도 46을 참조하면서 설명한다. 전화 착신이 발생했을 때, 악곡 입력 수단(534)에 의해, 발신 상대에 대응하는 악곡 파일을 정보 기억 수단(535)에 입력한다. 이미 정보 기억 수단(535)에 악곡 파일이 수록되어 있을 경우에는 직접 여기에서 해동을 행해도 된다. 우선 압축 블록(1) 해동을 시작한다. 이 때, 압축 블록(1)은 1차 부호화만 실시되고 있기 때문에, 도 45의 1차 부호 복호 수단(531)에 의해 복호를 행하며, 바로 연주 정보 재생을 행한다. 그리고 연주 정보 재생을 행하면서 압축 블록(2) 해동을 시작한다. 압축 블록(2)은 도 45의 2차 부호 복호 수단(532)에 의해, 2차 복호화가 행해지며, 다음으로 1차 부호 복호 수단(531)에 의해 1차 복호화가 행해진다. 블록(1)의 파일 사이즈는 이 2차 복호화가 종료하여, 블록(2)의 연주 정보가 재생 가능해지는 타이밍까지 시간적인 유예를 가질 수 있을 정도의 크기가 바람직하다. 또, 연주 정보는 템포를 베이스로 기술되어 있는 경우가 있기 때문에, 재생 템포가 단말 측에서 최대(가장 빠르다)가 되도록 설정되어 있는 경우에도 시간에 맞도록 해야 한다. 전개한 악곡 정보는 정보 기억 수단(535)에 기록된다. 그리고 악곡 재생 수단(536)에 의해, 정보 기억 수단(535)에 전개된 연주 정보가 재생된다. 또한, 상술한 실시예에서는 발신 상대에 대응하는 악곡 파일을 선택하고 있지만, 발신 상대 모두에 동일 착신 멜로디를 사용하여, 전화 사용자 기호에 따라서 악곡을 전환하도록 해도 된다.
<제 6 실시예의 동작>
다음으로, 본 발명에 의한 압축을 행했을 때의 제 6 실시예에 대해서 도 44를 참조하여 설명한다. 이것은 제 5 실시예보다도 단말 처리가 느릴 경우에, 전체 압축율은 약간 내려가지만, 블록(1) 부분에 대해서는 원래의 데이터를 그대로 사용하는 것이다. 도 50에 제 6 실시예의 인코드 플로를 도시한다. 또한, 블록(1)의 1차 부호화를 행하지 않는 점을 제외하고 상술한 제 5 실시예와 동일하기 때문에 설명을 생략한다(스텝(613)에 있어서 블록(1) 파일을 생성하며, 스텝(617)에서는 압축(1부호화)되어 있지 않은 블록(1) 및 압축 블록(2) 파일을 하나로 정리한다). 또, 재생 시의 동작에 대해서도 도 45에 도시하는 제 5 실시예와 동일한 단말 구성으로, 도 47에 도시하는 바와 같이 압축 블록(1) 해동을 행하지 않는 점이 다른 것으로 설명은 생략한다.
<제 7 실시예의 동작>
다음으로, 본 발명에 의한 압축을 행했을 때의 제 7 실시예에 대해서 도 48을 참조하여 설명한다. 이것은 어느 정도 단말 측 처리 속도 고속화가 예상될 경우에, 블록(1)에도 1차 부호화 및 2차 부호화를 실시하는 것이다. 도 51에 제 7 실시예의 인코드 플로를 도시하지만 이에 대해서도 블록(1)에 대해 1차 부호화 및 2차 부호화를 실시하는 것 이외에는 상술한 제 5, 6 실시예와 동일하기 때문에, 설명을 생략한다(스텝(623)에 있어서, 블록(1)을 1차 부호화 및 2차 부호화한다). 다음으로 재생 시의 플로에 대해서도 상술한 제 5, 6 실시예와 동일하며, 블록(1) 부분만이 각각의 압축 내용에 의한 차이가 생길 뿐이기 때문에, 설명은 생략한다.
또한, 상기는 착신 멜로디에 대해서 설명을 행했지만, 가라오케나 BGM이라도, 재생 지정 시에 바로 연주를 개시할 수 있는 점에서, 실용에 견딜 수 있는 것이 되기 때문에, 이들과 같은 사용 형태에 적용하는 것도 가능하다.
이상 설명한 바와 같이 본 발명에 의하면, LZ법 등의 수법에 의해 압축하기 전에 미리 동일 데이터 패턴 길이가 길고 출현 회수가 많으며 또한 가까운 거리에서 출현하도록 연주 정보를 음정과, 강도와, 길이와 그 밖의 정보로 분리하여, 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하고, 이 1차 부호를 LZ법에 의해 압축하기 때문에, 연주 정보의 데이터량을 효율적으로 압축할 수 있음과 동시에, 전화 착신 시에 재생하는 악곡을 미리 단말 장치 측에서 지정하여, 지정된 악곡을 기술하는 연주 정보 파일은 2차 압축 또는 1차 압축을 해동한 상태에서, 기록 매체에 새롭게 또는 추가하여 보존해 둠으로써, 전화 착신 시에 바로 착신 멜로디를 재생하는 것을 가능하게 함과 동시에, 기록 매체에 기록하는 메모리 사이즈를 작게 할 수 있다는 효과를 낸다.
더욱이, 이러한 장치에 있어서, SMF를 2개 이상의 블록으로 분할하여, 적어도 최초 블록은 상기 1차 압축 및/또는 상기 2차 압축을 행하지 않는 것을 특징으로 하는 장치를 제공함으로써, 압축한 상태로부터의 재생을 바로 행할 수 있는 단말을 제공할 수 있다.
또, 1차 부호로서 연주 정보를 음부의 음정 영역과, 음부의 강도 영역과, 음부의 길이 영역과 그 밖의 영역 중 적어도 4개 영역으로 분리하여 부호화하기 때문에, 원래의 연주 정보가 갖는 연주 품위를 전혀 잃지 않고, 종래에 비해 대폭 데이터 용량을 삭감할 수 있으며, 따라서, 데이터를 보존하는 데 소용량의 기록 매체를 사용할 수 있어 코스트를 삭감할 수 있고, 또, 통신 회선을 개재시켜 데이터를 전송할 경우에도 코스트를 삭감할 수 있음과 동시에, 전송 시간을 삭감할 수 있다. 또, 대량의 연주 정보를 취급하는 통신 가라오케나 착신 멜로디 등의 음악 데이터 베이스나 휴대 전화 등의 메모리 용량에 제한이 있을 경우에 메모리 용량 절약에 특히 효과가 커진다.
Claims (23)
- 악곡 연주 정보를 적어도 음정(音程) 정보와, 음(音) 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서,상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기 압축 정보를 기록하는 정보 기억 수단을 가지고, 상기 정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 2차 부호 복호 수단에 의해 복호된 양태로 변환하여 상기 정보 기억 수단에 기록하는 것을 특징으로 하는 연주 정보 기록 장치.
- 악곡 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서,상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기 압축 정보를 기록하는 정보 기억 수단을 가지고, 상기정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 연주 정보 양태로 변환하여 상기 정보 기억 수단에 기록하는 것을 특징으로 하는 연주 정보 기록 장치.
- 악곡 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서,상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기 압축 정보를 기록하는 정보 기억 수단을 가지고, 상기 정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 2차 부호 복호 수단에 의해 복호된 양태로 변환하여 상기 정보 기억 수단에 추가하여 기록하는 것을 특징으로 하는 연주 정보 기록 장치.
- 악곡 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과, 상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단에 의해 작성된 압축 정보를 복호할 수 있는 연주 정보 기록 장치에 있어서,상기 1차 부호를 복호하는 1차 부호 복호 수단과, 상기 2차 부호를 복호하는 2차 부호 복호 수단과, 상기 압축 정보를 기록하는 정보 기억 수단을 가지고, 상기 정보 기억 수단에 기록된 상기 압축 정보 중, 미리 지정된 악곡에 대응하는 상기 압축 정보는 상기 연주 정보 양태로 변환하여 상기 정보 기억 수단에 추가하여 기록하는 것을 특징으로 하는 연주 정보 기록 장치.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 1차 부호 생성 수단은 각 음부(音符)의 음정 정보를 그 이전에 출현한 음부의 음정 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제의 음정 수치와의 잔차(殘差)로 나타내는 것을 특징으로 하는 연주 정보 기록 장치.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 1차 부호 생성 수단은 각 음부의 강도 정보를 그 이전에 출현한 음부의 강도 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 강도 수치와의 잔차로 나타내는 것을 특징으로 하는 연주 정보 기록 장치.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 1차 부호 생성 수단은 특정 종류 이벤트의 파라미터치를 그 이전에 출현한 같은 종류의 이벤트 파라미터치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 파라미터치와의 잔차로 나타내는 것을 특징으로 하는 연주 정보 기록 장치.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 1차 부호 생성 수단은 상기 각 정보를 해당 영역에 있어서 트랙 순으로 배치한 것을 특징으로 하는 연주 정보 기록 장치.
- 제 8 항에 있어서,상기 1차 부호 생성 수단은 상기 각 영역을 데이터 성질이 닮은 영역끼리가 근접하도록 배치한 것을 특징으로 하는 연주 정보 기록 장치.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 1차 부호 생성 수단은 각 이벤트간의 상대 시간 공약수 및 각 음부 길이 공약수를 산출하여, 각 이벤트간의 상대 시간 및 각 음부 길이 값을 이들 공약수로 제산(除算)한 후 부호화하는 것을 특징으로 하는 연주 정보 기록 장치.
- 복수의 악곡 연주 정보를 기억 가능하고, 또한 상기 복수의 악곡 중에서 미리 선택한 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서,상기 미리 선택한 연주 정보 이외의 악곡 연주 정보만을 압축하여 기록하는 것을 특징으로 하는 전화 단말 장치.
- 상기 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서, 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 연주 정보 기록 장치를 구비 또는 이와 접속하여, 전화 착신 시에 상기 미리 지정된 악곡을 재생하는 것을 특징으로 하는 전화 단말 장치.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 2차 부호는 LZ법을 사용하는 것을 특징으로 하는 연주 정보 기록 장치.
- 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 생성하는 1차 부호 생성 수단과,상기 1차 부호 생성 수단에 의해 생성된 1차 부호의 각 영역 정보를 압축하는 2차 부호 생성 수단과,상기 연주 정보를 시간 축 상에서 2개 이상의 블록으로 분할하여, 적어도 최초 블록에 대해서는 상기 1차 부호 생성 수단에 의한 압축 및/또는 상기 2차 부호 생성 수단에 의한 압축을 행하지 않는 것을 특징으로 하는 연주 정보 압축 장치.
- 제 14 항에 있어서,상기 1차 부호 생성 수단은 각 이벤트간의 상대 시간 공약수 및 각 음부 길이 공약수를 산출하여, 각 이벤트간의 상대 시간 및 각 음부 길이 값을 각각의 공약수로 제산한 후 부호화하는 것을 특징으로 하는 연주 정보 압축 장치.
- 제 14 항 또는 제 15 항에 있어서,상기 1차 부호 생성 수단은 각 음부의 음정 정보를 그 이전에 출현한 음부의 음정 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 음정 수치와의 잔차로 나타내는 것을 특징으로 하는 연주 정보 압축 장치.
- 제 14 항 또는 제 15 항에 있어서,상기 1차 부호 생성 수단은 각 음부의 강도 정보를 그 이전에 출현한 음부의 강도 수치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 강도 수치와의 잔차로 나타내는 것을 특징으로 하는 연주 정보 압축 장치.
- 제 14 항 또는 제 15 항에 있어서,상기 1차 부호 생성 수단은 특정 종류의 이벤트 파라미터치를 그 이전에 출현한 같은 종류의 이벤트 파라미터치를 사용하여 일정 함수식에 따라서 산출한 수치와 실제 파라미터치와의 잔차로 나타내는 것을 특징으로 하는 연주 정보 압축 장치.
- 제 14 항 또는 제 15 항에 있어서,상기 1차 부호 생성 수단은 상기 각 정보를 해당 영역에 있어서 트랙 순으로 배치한 것을 특징으로 하는 연주 정보 압축 장치.
- 제 19 항에 있어서,상기 1차 부호 생성 수단은 상기 각 영역을 데이터 성질이 닮은 영역끼리가 근접하도록 배치한 것을 특징으로 하는 연주 정보 압축 장치.
- 연주 정보를 적어도 음정 정보와, 음 강도 정보와, 음 길이 정보와, 그 밖의 정보로 분리하여, 상기 각 정보를 각각 독립한 영역에 배치한 1차 부호를 복호하는 연주 정보 복호 장치에 있어서,공급되는 상기 1차 부호를 연주 정보에 복호하는 1차 부호 복호 수단을 갖는 것을 특징으로 하는 연주 정보 복호 장치.
- 연주 정보를 기억 가능하고, 또한 상기 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서,상기 연주 정보를 시간 축 상에서 두 개 이상의 블록으로 분할하여, 적어도 최초 블록이 전화 착신 시에 바로 연주할 수 있도록 두번째 이후 블록만을 압축하여 기록하는 것을 특징으로 하는 전화 단말 장치.
- 연주 정보를 기억 가능하고, 또한 상기 연주 정보를 전화 착신 시에 재생하는 기능을 갖는 전화 단말 장치에 있어서,상기 연주 정보를 시간 축 상에서 두 개 이상의 블록으로 분할하여, 각각의 블록을 압축할 때에,적어도 최초 블록은 전화 착신 시에 바로 연주할 수 있고, 또한, 압축된 두번째 블록 복호를 행할 수 있는 시간 길이 및/또는 두번째 이후 블록의 압축 방법보다도 단시간에 복호 가능한 압축 방법으로 압축되어 있는 것을 특징으로 하는 전화 단말 장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000283178A JP2002091436A (ja) | 2000-09-19 | 2000-09-19 | 演奏情報記録装置、演奏情報圧縮装置及び電話端末装置 |
JPJP-P-2000-00283178 | 2000-09-19 | ||
JP2000283179A JP2002091437A (ja) | 2000-09-19 | 2000-09-19 | 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置 |
JPJP-P-2000-00283179 | 2000-09-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020022568A KR20020022568A (ko) | 2002-03-27 |
KR100415002B1 true KR100415002B1 (ko) | 2004-01-13 |
Family
ID=26600198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0055011A KR100415002B1 (ko) | 2000-09-19 | 2001-09-07 | 연주 정보 기록 장치, 연주 정보 압축 장치, 연주 정보복호 장치 및 전화 단말 장치 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR100415002B1 (ko) |
CN (1) | CN1194334C (ko) |
TW (1) | TW594670B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6708180B2 (ja) * | 2017-07-25 | 2020-06-10 | ヤマハ株式会社 | 演奏解析方法、演奏解析装置およびプログラム |
JP6801687B2 (ja) * | 2018-03-30 | 2020-12-16 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法、及びプログラム |
CN110992672B (zh) * | 2019-09-25 | 2021-06-29 | 广州广日电气设备有限公司 | 红外遥控器学习及编码方法、红外遥控器系统及存储介质 |
-
2001
- 2001-08-06 TW TW090119155A patent/TW594670B/zh not_active IP Right Cessation
- 2001-09-07 KR KR10-2001-0055011A patent/KR100415002B1/ko not_active IP Right Cessation
- 2001-09-07 CN CNB011314230A patent/CN1194334C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20020022568A (ko) | 2002-03-27 |
CN1345027A (zh) | 2002-04-17 |
TW594670B (en) | 2004-06-21 |
CN1194334C (zh) | 2005-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5734119A (en) | Method for streaming transmission of compressed music | |
JP2003519845A (ja) | 音楽検索エンジン | |
US9596354B2 (en) | Method and system for providing ring back tone played at a point selected by user | |
US7507897B2 (en) | Dictionary-based compression of melody data and compressor/decompressor for the same | |
JP2002055678A (ja) | Midiファイルの圧縮方法 | |
US7982113B2 (en) | Method for synchronizing at least one multimedia peripheral of a portable communication device, and corresponding portable communication device | |
KR100415002B1 (ko) | 연주 정보 기록 장치, 연주 정보 압축 장치, 연주 정보복호 장치 및 전화 단말 장치 | |
KR20030020991A (ko) | 악음 생성 장치, 이동 단말 장치, 악음 생성 방법, 및기억 매체 | |
KR100508640B1 (ko) | 악음 생성 장치, 악음 생성 방법, 및 이 방법을 실현하는프로그램 | |
KR100619826B1 (ko) | 이동 통신 단말기의 음악 및 음성 합성 장치와 방법 | |
JP2002091436A (ja) | 演奏情報記録装置、演奏情報圧縮装置及び電話端末装置 | |
JP2002091437A (ja) | 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置 | |
KR20020031287A (ko) | 데이터 압축 방법, 데이터 전송 방법 및 데이터 재생 방법 | |
KR100694395B1 (ko) | 웨이브 테이블 기반의 미디 합성 방법 | |
KR100687683B1 (ko) | 연주 제어 데이터 생성 장치, 연주 제어 데이터 생성 방법, 및 그 방법을 실행하기 위한 프로그램을 저장하는 기억 매체 | |
US7378587B2 (en) | Method for fast compressing and decompressing music data and system for executing the same | |
US6426456B1 (en) | Method and apparatus for generating percussive sounds in embedded devices | |
US7081578B2 (en) | Musical performance information compression apparatus, and musical performance information decoding apparatus | |
KR20100016793A (ko) | 휴대단말을 이용한 음악작곡시스템 | |
KR100731232B1 (ko) | 악곡 데이터 편집 재생 장치 및 휴대 정보 단말기 | |
JP4148355B2 (ja) | 携帯端末装置 | |
JP3322763B2 (ja) | 演奏情報圧縮方法 | |
US7214869B2 (en) | Method for generating and playing a musical file and a computer-readable media storing the musical file | |
KR100818746B1 (ko) | 통신망을 통한 노래방 서비스 제공 시스템 및 방법 | |
JP5104414B2 (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: 20110420 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |