KR100990200B1 - 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는오디오 재생방법 - Google Patents

최소한의 메모리를 사용하여 크로스-페이드 효과를 내는오디오 재생방법 Download PDF

Info

Publication number
KR100990200B1
KR100990200B1 KR1020080057170A KR20080057170A KR100990200B1 KR 100990200 B1 KR100990200 B1 KR 100990200B1 KR 1020080057170 A KR1020080057170 A KR 1020080057170A KR 20080057170 A KR20080057170 A KR 20080057170A KR 100990200 B1 KR100990200 B1 KR 100990200B1
Authority
KR
South Korea
Prior art keywords
fade
buffer
data
frame
cross
Prior art date
Application number
KR1020080057170A
Other languages
English (en)
Other versions
KR20090131349A (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 KR1020080057170A priority Critical patent/KR100990200B1/ko
Publication of KR20090131349A publication Critical patent/KR20090131349A/ko
Application granted granted Critical
Publication of KR100990200B1 publication Critical patent/KR100990200B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • 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/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • 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/32Indexing; 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 separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 크로스-페이드 효과를 내는 오디오 재생기술에 관한 것으로, 특히 모바일 장치와 같이 제한된 하드웨어 자원의 조건에서 오디오 데이터의 디코딩, 페이드-인 처리 및 페이드-아웃 처리를 프레임 단위로 처리하여 메모리의 사용량을 최소화하면서 크로스-페이드 효과를 낼 수 있는 오디오 재생기술에 관한 것이다. 본 발명에 따르면 저성능 시스템 및 임베디드 시스템에서 오디오의 페이드-인과 페이드-아웃을 동시에 구현하는데 매우 유용하게 쓰일 수 있으며, 메모리의 활용도를 높일 수 있는 효과가 있다. 또한, 테이블을 이용한 산술 연산의 최적화로 시스템의 연산량을 크게 줄여 시스템의 효율을 높이는 효과가 있다.
오디오, 페이드-인, 페이드-아웃, 크로스-페이드, 믹싱

Description

최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법{AUDIO PLAYING METHOD HAVING CROSS-FADE EFFECT USING MINIMUM MEMORY}
본 발명은 크로스-페이드 효과를 내는 오디오 재생기술에 관한 것으로, 특히 모바일 장치와 같이 제한된 하드웨어 자원의 조건에서 오디오 데이터의 디코딩, 페이드-인 처리 및 페이드-아웃 처리를 프레임 단위로 처리하여 메모리의 사용량을 최소화하면서 크로스-페이드 효과를 낼 수 있는 오디오 재생기술에 관한 것이다.
현재의 오디오 데이터는 일반적으로 디지털화되어 다양한 기기를 통해 재생 가능하며, 압축 알고리즘에 의해 MP3/WMA/AAC와 같은 다양한 포맷의 파일로 제공된다.
압축 알고리즘에 의해 데이터의 크기가 줄어든 오디오 데이터는 개인용 컴퓨터뿐만 아니라 차량/가정용/휴대용 기기에서 용이하게 사용할 수 있다.
개인용 컴퓨터의 경우 고사양의 하드웨어 지원이 가능하므로 오디오의 재생시 다양한 음향 효과의 구현이 가능하다. 복잡한 연산처리에 큰 무리가 따르지 않 으므로 오디오의 음색을 다양하게 조절할 수 있으며, 동시에 여러 곡을 재생하거나 동영상 및 다른 프로그램과 같이 사용하는 것도 가능하다.
예컨대, 하나의 오디오를 재생하다가 종료할 때 오디오의 소리 크기가 점점 작아지게 하여 곡의 종료가 부드럽게 이루어지도록 구현할 수 있다. 이러한 음향 효과를 페이드-아웃(fade-out)이라 하며, 소리의 크기를 어떤 스케일로 줄어들게 할 것인가에 대해서는 다양한 형태의 구현이 가능하다.
또한, 새롭게 재생되는 곡의 소리가 점점 커져서 본래의 크기로 재생되도록 처리할 수도 있으며, 이러한 음향 효과를 페이드-인(fade-in)이라고 한다.
이상의 페이드-아웃 또는 페이드-인과 같은 음향 효과를 구현하는 데에는 단순히 음악을 재생하는 기능 이외에 페이드-아웃 및 페이드-인을 처리하기 위한 부가적인 정보가 필요하며, 이러한 부가적인 정보를 오디오 데이터에 적용하는 과정에서 어느 정도의 연산처리량이 발생하며 연산 결과물을 저장하기 위한 메모리가 필요하다.
고사양의 하드웨어 조건 하에서는 이러한 페이드-아웃과 페이드-인 효과를 자연스럽게 구현할 수 있으며 두 효과를 동시에 구현하는 것도 어렵지 않다. 하지만 하드웨어 자원 조건이 한정되어 있는 모바일 장치에 있어서는 오디오 데이터를 단순히 재생하는 기능 이외에 다양한 음향 효과를 구현하는 데에는 많은 한계가 따른다는 문제점이 있다.
본 발명의 목적은 메모리의 사용량을 최소화하면서 오디오의 크로스-페이드 효과를 낼 수 있는 오디오 재생기술을 제공하는 것이다.
본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법은 (A) 입력신호의 세기를 시간에 따라 감소시키는 페이드-아웃 정보와, 입력신호의 세기를 시간에 따라 증가시키는 페이드-인 정보를 미리 마련하는 단계; (B) 현재 재생중인 오디오 데이터를 프레임 단위로 디코딩하여 제 1 버퍼에 저장하는 단계; (C) 새로 재생할 오디오 데이터를 프레임 단위로 디코딩하여 제 2 버퍼에 저장하는 단계; (D) 페이드-아웃 정보를 프레임 단위로 적용하여 제 1 버퍼에 저장된 데이터를 변경하는 단계; (E) 페이드-인 정보를 프레임 단위로 적용하여 제 2 버퍼에 저장된 데이터를 변경하는 단계; (F) 제 1 버퍼로부터 한 프레임 분량의 데이터를 판독하고, 제 2 버퍼로부터 한 프레임 분량의 데이터를 판독한 후, 두 데이터로부터 한 프레임 분량의 믹싱 데이터를 생성하는 단계; (G) 믹싱 데이터를 출력버퍼에 입력하는 단계; 및 (H) 출력버퍼에 저장된 데이터를 재생하여 외부 출력하는 단계;를 포함하여 구성된다.
또한, 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법에서 (F) 단계는 두 데이터의 평균값을 산출하여 믹싱 데이터를 생성하는 단계;를 포함하여 구성되는 것이 바람직하다.
또한, 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법에서 (A) 단계는, 시간을 입력값으로 하여 시간 흐름에 따라 감소하는 출력값을 산출하는 수학함수식으로 구성된 페이드-아웃 정보를 마련하는 단계; 및 시간을 입력값으로 하여 시간 흐름에 따라 증가하는 출력값을 산출하는 수학함수식으로 구성된 페이드-인 정보를 마련하는 단계;를 포함하여 구성되는 것이 바람직하다.
또한, 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법에서, (A) 단계는 일정 시간 단위의 대표값으로 구성된 테이블을 포함하는 페이드-인 정보와 페이드-아웃 정보를 마련하는 단계;를 포함하여 구성되고, (D) 단계는 페이드-아웃 정보의 테이블로부터 현재 시간구간에 대응되는 대표값을 판독하여 제 1 버퍼의 데이터에 적용하는 단계;를 포함하고, (E) 단계는 페이드-인 정보의 테이블로부터 현재 시간구간에 대응되는 대표값을 판독하여 제 2 버퍼의 데이터에 적용하는 단계;를 포함하여 구성되는 것이 바람직하다.
또한, 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법에서, (A) 단계는 일정 시간 단위의 미리 설정된 대표값으로 구성된 테이블을 포함하는 페이드-인 정보를 마련하는 단계;를 포함하여 구성되고, (E) 단계는, 페이드-인 정보의 테이블로부터 현재 시간구간의 시작점과 끝점의 대표값을 판독하는 단계; 2개의 대표값 사이를 연결하며 시간에 따라 선형적으로 변하는 선형곡선을 산출하는 단계; 선형곡선으로부터 현재 시간에 대응되는 출력값을 산출하는 단계; 및 출력값을 제 2 버퍼의 데이터에 적용하는 단계;를 포함하여 구성되는 것이 바람직하다.
또한, 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법에서, (A) 단계는 일정 시간 단위의 미리 설정된 대표값으로 구성된 테이블을 포함하는 페이드-아웃 정보를 마련하는 단계;를 포함하여 구성되고, (D) 단계는, 페이드-아웃 정보의 테이블로부터 현재 시간구간의 시작점과 끝점의 대표값을 판독하는 단계; 2개의 대표값 사이를 연결하며 시간에 따라 선형적으로 변하는 선형곡선을 산출하는 단계; 선형곡선으로부터 현재 시간에 대응되는 출력값을 산출하는 단계; 및 출력값을 제 1 버퍼의 데이터에 적용하는 단계;를 포함하여 구성되는 것이 바람직하다.
또한, 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법에서, (B) 단계는 제 1 버퍼를 2개의 영역을 갖는 이중버퍼로 설정하여 데이터를 제 1 버퍼의 양쪽 영역에 번갈아 저장하는 단계;를 포함하고, (D) 단계는 제 1 버퍼의 양쪽 영역을 번갈아가며 먼저 저장된 데이터부터 페이드-아웃 적용하는 단계;를 포함하고, (F) 단계는 제 1 버퍼의 양쪽 영역을 번갈아가며 데이터를 판독하는 단계;를 포함하여 구성되는 것이 바람직하다.
또한, 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법에서, (C) 단계는 제 2 버퍼를 2개의 영역을 갖는 이중버퍼로 설정하여 데이터를 제 2 버퍼의 양쪽 영역에 번갈아 저장하는 단계;를 포함하고, (E) 단계는 제 2 버퍼의 양쪽 영역을 번갈아가며 먼저 저장된 데이터부터 페이드- 인 적용하는 단계;를 포함하고, (F) 단계는 제 2 버퍼의 양쪽 영역을 번갈아가며 데이터를 판독하는 단계;를 포함하여 구성되는 것이 바람직하다.
본 발명에 따르면 저성능 시스템 및 임베디드 시스템에서 오디오의 페이드-인과 페이드-아웃을 동시에 구현하는데 매우 유용하게 쓰일 수 있으며, 메모리의 활용도를 높일 수 있는 효과가 있다.
또한, 테이블을 이용한 산술 연산의 최적화로 시스템의 연산량을 크게 줄여 시스템의 효율을 높이는 효과가 있다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
[도 1]은 크로스-페이드의 기본 개념을 설명한 도면이다.
오디오 재생장치를 통해 현재 노래가 재생되는 중에 다른 노래가 선택되어 현재 재생중인 노래는 페이드-아웃되고 이후 재생되는 노래는 페이드-인 되도록 처리하는 것을 크로스-페이드라 한다.
예컨대, 크로스-페이드 구간을 10초로 설정하였다면, 현재 재생중인 A곡의 종료 10초 전에 다음 B곡을 재생하기 시작한다. 이때, A곡은 크로스-페이드 10초 구간동안 페이드-아웃 처리하여 소리가 점점 작아지며, B곡은 페이드-인 처리하여 소리가 점점 커지도록 한다.
A곡은 크로스-페이드 구간 동안 계속 페이드-아웃 처리되어 A곡의 재생이 끝나는 시점에 묵음이 되며, B곡은 크로스-페이드 구간 동안 계속 페이드-인 처리되어 A곡의 재생이 끝나는 시점에서 더 이상 소리가 증가하지 않고 정상 크기로 재생이 이어진다.
크로스-페이드는 하나의 곡이 종료하고 다음 곡으로 이어지는 구간에 적용할 수도 있지만, 사용자가 현재 재생중인 곡 대신 다른 곡을 선택했을 경우에도 적용될 수 있다.
[도 2]는 오디오 신호의 선형적인 페이드-인과 페이드-아웃 변환을 나타낸 도면이다.
페이드-인은 시간의 흐름에 따라 소리의 크기를 0 또는 아주 작은 상태로부터 점점 증가시켜 정상 크기로 변화시키는 효과이며, 반대로 페이드-아웃은 정상 크기의 소리를 점점 감소시켜 소리의 크기를 0 또는 매우 작은 상태로 만드는 효과를 의미한다.
[도 2(A)]에 도시된 바와 같이, 시간의 흐름에 따라 일정한 크기를 갖는 소리에 선형적인 페이드-인 효과를 줌으로써 소리의 크기가 선형적으로 증가함을 알 수 있다.
또한, [도 2(B)]를 통해서는 위와 마찬가지로 일정한 크기의 소리에 선형적인 페이드-아웃 효과를 줌으로써 소리의 크기가 선형적으로 감소하는 그래프를 나타냄을 알 수 있다.
페이드-인 또는 페이드-아웃 효과는 선형적인 변화 외에 비선형적인 변화를 갖도록 설정할 수도 있으며, 이에 대해서는 이후 도 4에서 보다 다양한 형태의 페이드 효과에 대하여 설명하기로 한다.
[도 3]은 [도 2]의 페이드 변환 결과를 합성하여 크로스-페이드 효과를 내는 방법을 나타낸 도면이다.
도시된 바와 같이, Task A의 페이드-인 결과와 Task B의 페이드-아웃 결과를 합성하면 선형성을 갖는 크로스-페이드 효과를 내게 된다.
[도 4]는 다양한 수학함수식을 사용하여 페이드-인 및 페이드-아웃 곡선을 나타낸 도면이다.
[도 4(A)]의 경우에는 로그함수를 사용하여 페이드-인과 페이드-아웃 곡선을 구현하였으며, [도 4(B)]의 경우에는 지수함수를 사용하여 페이드-인과 페이드-아웃 곡선을 구현하였다.
또한, 앞서 경우들을 통해서는 소리의 크기가 0인 상태를 기준으로 페이드-인 및 페이드-아웃 효과를 구현하였으나, [도 4(C)]의 경우에는 0이 아닌 어느 정도 크기가 있는 소리를 기준으로 페이드-인 및 페이드-아웃 효과를 내도록 구현한 예를 나타내었다.
이상 나타낸 페이드-인 및 페이드-아웃 곡선들은 아래와 같은 [수학식 1]을 이용하여 구현할 수 있다.
[수학식 1]
(페이드 적용 결과 값) = (압축 해제된 오디오 데이터) × (페이드 산술 연산식)
여기에서, 페이드 산술 연산식은 지수함수, 로그함수 또는 선형적인 함수와 같은 수학함수식을 의미하며, 압축 해제된 오디오 데이터는 MP3, WMV와 같은 형식으로 압축된 데이터를 디코딩함으로써 압축되기 이전 형태의 오디오 데이터를 의미한다.
[도 5]는 본 발명의 실시예에 따라 2개의 오디오 데이터가 프레임 단위로 페이드-인 및 페이드-아웃 변환되어 합성된 후 출력버퍼에 저장되는 과정을 나타낸 도면이다.
Task A는 현재 재생중인 오디오 데이터에 페이드-아웃을 적용하여 버퍼에 저장하는 과정을 나타내며, Task B는 앞으로 재생될 오디오 데이터에 페이드-인을 적용하여 버퍼에 저장하는 과정을 나타낸 것이다. 그리고, Task A와 Task B를 통해 버퍼에 저장된 데이터는 믹싱 과정을 거쳐 출력 버퍼에 저장된다.
두 데이터의 '믹싱'은 일반적으로 두 데이터를 더하여 2로 나눔으로써 평균값을 산출한다.
이상의 일련의 과정에서 페이드-인 및 페이드-아웃 적용은 압축된 오디오 데 이터가 의미있는 소리를 재생할 수 있는 최소 단위인 프레임 단위로 처리된다.
일반적인 압축 오디오 데이터의 구조를 살펴보면, 의미 있는 소리를 재생할 수 있는 단위를 발견할 수 있다. MP3 압축 오디오 데이터의 경우에는 프레임 단위가 여기에 해당된다. 예컨대, MP3 44.1Khz/128kbitrate 스테레오의 경우 한 프레임의 압축을 해제하면 4680 바이트의 오디오 데이터가 만들어진다.
이처럼 각각의 압축 오디오 데이터를 재생할 수 있는 최소 단위로 압축을 해제하여 생성된 데이터 단위가 크로스-페이드 처리를 위한 최소 처리 단위가 된다.
이때, Task A와 Task B에서 사용되는 버퍼는 이중버퍼로 구현하는 것이 바람직하다. 즉, 이중버퍼의 한쪽은 디코딩하여 압축을 푸는 용도로 사용하고 다른 한쪽은 페이드-인 또는 페이드-아웃을 적용하는 공간으로 사용하여 Task에 의해 양쪽을 번갈아 사용하도록 구현한다.
예컨대, 페이드-인을 적용하는 Task A에서 이중버퍼를 사용할 경우 이중버퍼를 2개의 영역으로 분할하고, 디코딩된 데이터를 양쪽을 번갈아가며 저장한다. 그리고, 페이드-인 역시 양쪽의 데이터를 오래된 데이터부터 번갈아 적용한 후 이를 판독하여 믹싱하게 된다.
[도 6]은 크로스-페이드 구간의 길이에 상관없이 일정한 메모리의 범위 내에서 크로스-페이드 연산이 이루어지는 과정을 나타낸 도면이다.
앞서 든 예시에 의하면 MP3 44.1Khz/128kbitrate의 압축 오디오 데이터의 경우 한 프레임을 압축 해제하면 4680 바이트의 오디오 데이터가 만들어진다. 따라 서, 디코딩을 포함한 이후의 크로스-페이드 처리 과정은 4680 바이트 단위로 이루어진다.
만약, 크로스-페이드 구간이 5초라면 44.1Khz 디지털 곡의 경우 1초에 44100의 샘플이 필요하며, 데이터 크기는 총 5×44100 = 220500이므로 바이트로 환산하면 882000 바이트이다. 이는 하나의 오디오 데이터를 5초 동안 재생한 크기이므로 2개의 오디오 재생을 위해 사용되는 크로스-페이드는 1764Kbyte이다. 만약, 크로스-페이드 구간이 10초로 늘어나면 2배의 메모리가 더 필요하다.
따라서, 본 발명에서 제시하는 바와 같이 크로스-페이드 처리의 모든 단계를 압축 오디오 데이터를 재생할 수 있는 최소 단위로 처리하면 크로스-페이드 구간의 크기에 상관없이 일정한 크기의 메모리만으로 크로스-페이드 효과를 낼 수 있다. 위 조건의 MP3 곡의 경우 4608Kbyte를 기본 단위로 크로스-페이드 구간의 데이터를 나누어 처리하게 된다.
결과적으로, 크로스-페이드 구간의 크기가 변하더라도 크로스-페이드 효과를 내는데 필요한 메모리의 크기는 "현재 처리되는 데이터의 최소 단위 × 3" 이상을 넘지 않고 일정하게 유지된다.
[도 7]은 수학함수식 대신 테이블에 저장된 값을 사용하여 선형적인 페이드-인 곡선과 유사한 결과를 나타낸 도면이다.
페이드-인 및 페이드-아웃을 적용하기 위해서는 선형적인 직선 함수 외에 지수함수나 로그함수를 사용할 수도 있지만, 시스템의 연산량을 줄이기 위해 미리 설 정된 값을 갖는 산술 테이블을 사용할 수도 있다.
테이블에는 일정 시간 단위의 대표값이 메모리에 저장되므로 산술 연산의 부담을 덜어준다.
[도 7]에 도시된 바와 같이 테이블에 저장된 값은 시간 흐름에 따라 계단 형태로 표현된다. 따라서, 시간이 일정 단계 증가할 동안 소리의 크기가 같은 값으로 처리되므로 본래 의도했던 페이드-인 직선에 비해서는 다소 거친 형태로 소리의 크기가 변하게 된다.
[도 8]은 테이블에 저장된 값을 사용하여 비선형적인 페이드-인 곡선과 유사한 결과를 나타낸 도면이다.
[도 8]의 경우는 페이드-인 곡선을 지수함수의 형태로 나타내려고 할 때, 이를 테이블에 저장된 값으로 대체하는 방식을 나타낸 것이다. 지수함수를 사용한 연산결과가 이미 테이블에 저장되어 있으므로, 현재 시점의 테이블 값을 오디오 데이터에 곱하여 소리의 크기를 산출하면 된다.
따라서, 앞서 [도 7]의 직선함수의 경우와 비교할 때 지수함수로 표현하기 때문에 연산량이 증가하는 일은 발생하지 않으며, 테이블에 미리 저장된 값을 사용하므로 [도 7]의 경우와 [도 8]의 경우에 있어 연산량에는 차이가 없게 된다.
[도 9]는 [도 8]의 결과에 선형보간을 적용하여 테이블에 저장된 값들 사이의 증감이 부드러운 곡선에 근접하도록 보정된 결과를 나타낸 도면이다.
앞서 [도 7]과 [도 8]의 경우에서 문제점은 산술 연산량은 줄어들지만 시간의 적용 단계가 촘촘해질수록 테이블의 크기가 늘어나고 이를 반영하기 위한 메모리의 크기도 함께 증가해야 한다.
이를 최대한 극복하기 위해서 산술연산이 비교적 간단한 선형 보간을 사용하여 테이블에 저장된 값들 사이의 비선형적인 증감을 선형보간 처리하는 방식을 [도 9]에 도시하였다.
즉, 페이드-인 또는 페이드-아웃 테이블로부터 현재 시간구간의 시작점과 끝점의 대표값을 판독하고 두 지점의 대표값 사이를 직선 형태의 선형곡선으로 연결함으로써, 현재 시간에 대응되는 출력값을 선형곡선으로부터 산출하여 오디오 데이터에 반영하게 된다.
이처럼, 테이블의 값을 선형보간 처리함으로써 테이블의 크기를 줄이면서도 본래 의도했던 부드러운 곡선에 최대한 근접한 페이드-인 및 페이드-아웃 곡선을 얻을 수 있으며, 이에 따라 오디오 데이터의 소리 크기 증가 및 감소가 보다 부드럽게 진행될 수 있다.
[도 9]의 선형보간 결과를 살펴보면 도 8의 지수함수와 매우 비슷한 외형을 나타냄을 알 수 있다.
[도 10]은 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법의 전체 동작과정을 나타낸 순서도이다.
[도 10]에서는 본 발명의 전체적인 동작과정을 요약하여 설명하였다. 따라 서, 본 발명의 구체적인 사항에 대해서는 앞서 설명한 [도 1]부터 [도 9]를 참조하여 파악하면 된다.
먼저, 입력신호의 세기를 시간에 따라 감소시키는 페이드-아웃 정보와, 입력신호의 세기를 시간에 따라 증가시키는 페이드-인 정보를 미리 마련한다(ST10). 페이드-인 정보와 페이드-아웃 정보는 이후 입력되는 디코딩된 오디오 데이터에 적용되어 오디오 데이터의 소리의 크기를 증가시키거나 감소시킨다.
페이드-인 정보와 페이드-아웃 정보는 시간을 입력값으로 갖는 수학함수식으로 구성될 수도 있으며, 또는 일정 시간 단위의 대표값으로 구성된 테이블을 포함할 수도 있다.
그 다음으로, 현재 재생중인 오디오 데이터를 프레임 단위로 디코딩하여 제 1 버퍼에 저장하고(ST20), 새로 재생할 오디오 데이터를 프레임 단위로 디코딩하여 제 2 버퍼에 저장한다(ST30).
또한, 앞서 마련된 페이드-아웃 정보를 제 1 버퍼에 저장된 데이터에 프레임 단위로 적용하여 해당 데이터를 변경한다(ST40). 그리고, 페이드-인 정보를 프레임 단위로 적용하여 제 2 버퍼에 저장된 데이터를 변경한다(ST50).
그 다음으로, 제 1 버퍼로부터 한 프레임 분량의 데이터를 판독하고, 제 2 버퍼로부터 한 프레임 분량의 데이터를 판독한 후, 두 데이터로부터 한 프레임 분량의 믹싱 데이터를 생성하고(ST60), 믹싱 데이터를 출력버퍼에 입력한다(ST70).
위 과정을 거쳐(ST20 ~ ST70) 현재 재생중인 오디오 데이터가 페이드-아웃 처리되고 앞으로 재생될 오디오 데이터가 페이드-인 처리되어 믹싱된 오디오 데이 터가 생성되며, 이상의 과정은 각 단계가 의미 있는 소리로 재생가능한 최소 단위인 프레임 단위로 처리된다.
마지막으로, 출력버퍼에 저장된 데이터를 재생하여 스피커나 이어폰 등의 외부 출력수단으로 외부 출력한다(ST80).
이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
도 1은 크로스-페이드의 기본 개념을 설명한 도면,
도 2는 오디오 신호의 선형적인 페이드-인과 페이드-아웃 변환을 나타낸 도면,
도 3은 도 2의 페이드 변환 결과를 합성하여 크로스-페이드 효과를 내는 방법을 나타낸 도면,
도 4는 다양한 수학함수식을 사용하여 페이드-인 및 페이드-아웃 곡선을 나타낸 도면,
도 5는 본 발명의 실시예에 따라 2개의 오디오 데이터가 프레임 단위로 페이드-인 및 페이드-아웃 변환되어 합성된 후 출력버퍼에 저장되는 과정을 나타낸 도면,
도 6은 크로스-페이드 구간의 길이에 상관없이 일정한 메모리의 범위 내에서 크로스-페이드 연산이 이루어지는 과정을 나타낸 도면,
도 7은 수학함수식 대신 테이블에 저장된 값을 사용하여 선형적인 페이드-인 곡선과 유사한 결과를 나타낸 도면,
도 8은 테이블에 저장된 값을 사용하여 비선형적인 페이드-인 곡선과 유사한 결과를 나타낸 도면,
도 9는 도 8의 결과에 선형보간을 적용하여 테이블에 저장된 값들 사이의 증감이 부드러운 곡선에 근접하도록 보정된 결과를 나타낸 도면,
도 10은 본 발명에 따른 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는 오디오 재생방법의 전체 동작과정을 나타낸 순서도이다.

Claims (8)

  1. 삭제
  2. 삭제
  3. 삭제
  4. (A) 입력신호의 세기를 시간에 따른 복수 프레임에 걸쳐 감소시키는 페이드-아웃 정보와, 입력신호의 세기를 시간에 따른 복수 프레임에 걸쳐 증가시키는 페이드-인 정보를 미리 마련하는 단계;
    (B) 현재 재생중인 오디오 데이터를 프레임 단위로 디코딩하여 제 1 버퍼에 저장하는 단계;
    (C) 새로 재생할 오디오 데이터를 프레임 단위로 디코딩하여 제 2 버퍼에 저장하는 단계;
    (D) 상기 페이드-아웃 정보를 프레임 단위로 순차적으로 적용하여 상기 제 1 버퍼에 저장된 데이터를 변경하는 단계;
    (E) 상기 페이드-인 정보를 프레임 단위로 순차적으로 적용하여 상기 제 2 버퍼에 저장된 데이터를 변경하는 단계;
    (F) 상기 제 1 버퍼의 데이터와 상기 제 2 버퍼의 데이터를 믹싱하여 프레임 단위의 믹싱 데이터를 순차적으로 생성하는 단계;
    (G) 상기 믹싱 데이터를 출력버퍼에 입력하는 단계; 및
    (H) 상기 출력버퍼에 저장된 데이터를 재생하여 외부 출력하는 단계;를 포함하여 구성되며,
    상기 (A) 단계는 일정 시간 단위의 대표값으로 구성된 테이블을 포함하는 페이드-인 정보와 페이드-아웃 정보를 마련하는 단계;를 포함하여 구성되고,
    상기 (D) 단계는 상기 페이드-아웃 정보의 테이블로부터 현재 시간구간에 대응되는 대표값을 판독하여 상기 제 1 버퍼의 데이터에 적용하는 단계;를 포함하고,
    상기 (E) 단계는 상기 페이드-인 정보의 테이블로부터 현재 시간구간에 대응되는 대표값을 판독하여 상기 제 2 버퍼의 데이터에 적용하는 단계;
    를 포함하여 구성된 것을 특징으로 하는 크로스-페이드 효과를 내는 오디오 재생 방법.
  5. (A) 입력신호의 세기를 시간에 따른 복수 프레임에 걸쳐 감소시키는 페이드-아웃 정보와, 입력신호의 세기를 시간에 따른 복수 프레임에 걸쳐 증가시키는 페이드-인 정보를 미리 마련하는 단계;
    (B) 현재 재생중인 오디오 데이터를 프레임 단위로 디코딩하여 제 1 버퍼에 저장하는 단계;
    (C) 새로 재생할 오디오 데이터를 프레임 단위로 디코딩하여 제 2 버퍼에 저장하는 단계;
    (D) 상기 페이드-아웃 정보를 프레임 단위로 순차적으로 적용하여 상기 제 1 버퍼에 저장된 데이터를 변경하는 단계;
    (E) 상기 페이드-인 정보를 프레임 단위로 순차적으로 적용하여 상기 제 2 버퍼에 저장된 데이터를 변경하는 단계;
    (F) 상기 제 1 버퍼의 데이터와 상기 제 2 버퍼의 데이터를 믹싱하여 프레임 단위의 믹싱 데이터를 순차적으로 생성하는 단계;
    (G) 상기 믹싱 데이터를 출력버퍼에 입력하는 단계; 및
    (H) 상기 출력버퍼에 저장된 데이터를 재생하여 외부 출력하는 단계;를 포함하여 구성되며,
    상기 (A) 단계는 일정 시간 단위의 미리 설정된 대표값으로 구성된 테이블을 포함하는 페이드-인 정보를 마련하는 단계;를 포함하여 구성되고,
    상기 (E) 단계는,
    상기 페이드-인 정보의 테이블로부터 현재 시간구간의 시작점과 끝점의 대표값을 판독하는 단계;
    상기 2개의 대표값 사이를 연결하며 시간에 따라 선형적으로 변하는 선형곡선을 산출하는 단계;
    상기 선형곡선으로부터 현재 시간에 대응되는 출력값을 산출하는 단계; 및
    상기 출력값을 상기 제 2 버퍼의 데이터에 적용하는 단계;
    를 포함하여 구성된 것을 특징으로 하는 크로스-페이드 효과를 내는 오디오 재생 방법.
  6. 청구항 5에 있어서,
    상기 (A) 단계는 일정 시간 단위의 미리 설정된 대표값으로 구성된 테이블을 포함하는 페이드-아웃 정보를 마련하는 단계;를 포함하여 구성되고,
    상기 (D) 단계는,
    상기 페이드-아웃 정보의 테이블로부터 현재 시간구간의 시작점과 끝점의 대표값을 판독하는 단계;
    상기 2개의 대표값 사이를 연결하며 시간에 따라 선형적으로 변하는 선형곡선을 산출하는 단계;
    상기 선형곡선으로부터 현재 시간에 대응되는 출력값을 산출하는 단계; 및
    상기 출력값을 상기 제 1 버퍼의 데이터에 적용하는 단계;
    를 포함하여 구성된 것을 특징으로 하는 크로스-페이드 효과를 내는 오디오 재생 방법.
  7. 청구항 4 내지 청구항 6 중 어느 한 항에 있어서,
    상기 (B) 단계는 상기 제 1 버퍼를 2개의 영역을 갖는 이중버퍼로 설정하여 상기 데이터를 상기 제 1 버퍼의 양쪽 영역에 번갈아 저장하는 단계;를 포함하고,
    상기 (D) 단계는 상기 제 1 버퍼의 양쪽 영역을 번갈아가며 먼저 저장된 데이터부터 페이드-아웃 적용하는 단계;를 포함하고,
    상기 (F) 단계는 상기 제 1 버퍼의 양쪽 영역을 번갈아가며 데이터를 판독하는 단계;
    를 포함하여 구성된 것을 특징으로 하는 크로스-페이드 효과를 내는 오디오 재생 방법.
  8. 청구항 7에 있어서,
    상기 (C) 단계는 상기 제 2 버퍼를 2개의 영역을 갖는 이중버퍼로 설정하여 상기 데이터를 상기 제 2 버퍼의 양쪽 영역에 번갈아 저장하는 단계;를 포함하고,
    상기 (E) 단계는 상기 제 2 버퍼의 양쪽 영역을 번갈아가며 먼저 저장된 데이터부터 페이드-인 적용하는 단계;를 포함하고,
    상기 (F) 단계는 상기 제 2 버퍼의 양쪽 영역을 번갈아가며 데이터를 판독하는 단계;
    를 포함하여 구성된 것을 특징으로 하는 크로스-페이드 효과를 내는 오디오 재생 방법.
KR1020080057170A 2008-06-18 2008-06-18 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는오디오 재생방법 KR100990200B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080057170A KR100990200B1 (ko) 2008-06-18 2008-06-18 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는오디오 재생방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080057170A KR100990200B1 (ko) 2008-06-18 2008-06-18 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는오디오 재생방법

Publications (2)

Publication Number Publication Date
KR20090131349A KR20090131349A (ko) 2009-12-29
KR100990200B1 true KR100990200B1 (ko) 2010-10-29

Family

ID=41690571

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080057170A KR100990200B1 (ko) 2008-06-18 2008-06-18 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는오디오 재생방법

Country Status (1)

Country Link
KR (1) KR100990200B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866854A (zh) * 2020-12-23 2021-05-28 广东思派康电子科技有限公司 一种大风噪触发调整淡入淡出机制的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720382B1 (ko) * 1999-11-10 2007-05-22 톰슨 라이센싱 Dvd 재생 장치를 위한 믹싱 특성

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720382B1 (ko) * 1999-11-10 2007-05-22 톰슨 라이센싱 Dvd 재생 장치를 위한 믹싱 특성

Also Published As

Publication number Publication date
KR20090131349A (ko) 2009-12-29

Similar Documents

Publication Publication Date Title
JP4084990B2 (ja) エンコード装置、デコード装置、エンコード方法およびデコード方法
KR101118922B1 (ko) 음향 가상 현실 엔진 및 전달 사운드 확장을 위한 향상된 기술들
DK2095513T3 (en) System and method for digital signal processing
US8160274B2 (en) System and method for digital signal processing
JP3106774B2 (ja) デジタル音場創生装置
AU2012202127B2 (en) System and method for digital signal processing
JP4747835B2 (ja) オーディオ再生の効果付加方法およびその装置
US8874245B2 (en) Effects transitions in a music and audio playback system
US8457322B2 (en) Information processing apparatus, information processing method, and program
US10979811B2 (en) Center protection dynamic range control
JP5585401B2 (ja) 再生装置、再生方法、提供装置および再生システム
CN101131816A (zh) 一种音频文件生成方法、装置及数码播放器
JPH06177688A (ja) オーディオ信号処理装置
KR100924731B1 (ko) 재생 장치, 재생 방법 및 재생 프로그램이 기록된 컴퓨터판독 가능한 기록 매체
KR100990200B1 (ko) 최소한의 메모리를 사용하여 크로스-페이드 효과를 내는오디오 재생방법
US6759585B2 (en) Musical-file-processing apparatus, musical-file-processing method and musical-file-processing method program
JP2002314429A (ja) 信号処理装置および信号処理方法
CN101656090A (zh) 多媒体播放器、多媒体输出方法及多媒体系统
JP2000311445A (ja) ディジタルデータプレーヤー、そのデータ処理方法及び記録媒体
JP2003243952A (ja) デジタルオーディオシステム、自動音量調整要素生成方法、自動音量調整方法、自動音量調整要素生成プログラム、自動音量調整プログラム、自動音量調整要素生成プログラムが記録された記録媒体及び自動音量調整プログラムが記録された記録媒体
KR20090132123A (ko) 연산량을 절감시키면서 크로스-페이드 효과를 내는 오디오재생방법
JP2002109824A (ja) ディジタル音声信号の記録方法、およびその装置
KR100775535B1 (ko) 선택이력에 기반한 임의 재생 기능을 구비한 멀티미디어데이터 재생 장치
JP2002304198A (ja) 信号処理装置および信号処理方法
JP2003271198A (ja) 圧縮データ処理装置、方法および圧縮データ処理プログラム

Legal Events

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

Payment date: 20130905

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140904

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150903

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160922

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180911

Year of fee payment: 9