KR20180049182A - 누락 데이터에 대한 사인곡선 보간 - Google Patents

누락 데이터에 대한 사인곡선 보간 Download PDF

Info

Publication number
KR20180049182A
KR20180049182A KR1020187011991A KR20187011991A KR20180049182A KR 20180049182 A KR20180049182 A KR 20180049182A KR 1020187011991 A KR1020187011991 A KR 1020187011991A KR 20187011991 A KR20187011991 A KR 20187011991A KR 20180049182 A KR20180049182 A KR 20180049182A
Authority
KR
South Korea
Prior art keywords
audio signal
objects
peaks
computer implemented
spectrum
Prior art date
Application number
KR1020187011991A
Other languages
English (en)
Other versions
KR102188620B1 (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 구글 엘엘씨
Publication of KR20180049182A publication Critical patent/KR20180049182A/ko
Application granted granted Critical
Publication of KR102188620B1 publication Critical patent/KR102188620B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/051Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction or detection of onsets of musical sounds or notes, i.e. note attack timings
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/061Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of musical phrases, isolation of musically relevant segments, e.g. musical thumbnail generation, or for temporal structure analysis of a musical piece, e.g. determination of the movement sequence of a musical work
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/215Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
    • G10H2250/235Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Noise Elimination (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

오디오 신호에서 누락 세그먼트들 및/또는 불연속성들을 은닉함으로써, 신호의 연속성을 복원하기 위한 방법들 및 시스템들이 제공된다. 오디오 신호들을 위해 설계되며 오디오 신호들을 대상으로 하는 방법들 및 시스템들은 사인곡선들에 대한 보간 및 외삽 동작들에 기초하고, 사인곡선들이 고조파라는 가정에 의존하지 않을 수 있다. 다른 이점들 중에서도, 신호가 고조파이고, 오디오 신호들에 대해 효과적인 피크 선택 절차를 갖는다면, 방법들 및 시스템들이 비동기식 보간을 용이하게 하고, 시간-도메인 파형 보간에 대응하는 보간 절차를 사용한다는 점에서 이 방법들 및 시스템들이 기존의 오디오 은닉 접근법들보다 개선되었다.

Description

누락 데이터에 대한 사인곡선 보간{SINUSOIDAL INTERPOLATION ACROSS MISSING DATA}
[0001]상이한 디바이스들 간의 패킷 손실 및 클락 드리프트는 오디오 신호들에서의 누락 세그먼트들 또는 불연속성들에 이르게 할 수 있다. 신호에 있어서의 불연속성들과 0들의 삽입 둘 모두는 명확하게 개인들이 청취할 수 있다. 다양한 접근법들이 신호의 연속성을 복원하기 위해 제안되었지만, 이러한 접근법들은 일반적으로 스피치 신호들만을 대상으로 하고 일반적으로 오디오의 경우에는 잘 작동하지 않는다.
[0002]이 요약은, 본 개시물의 일부 양상들의 기본적인 이해를 제공하기 위해서 단순화된 형태로 다양한 개념들을 도입한다. 이 요약은 본 개시물의 광범위한 개관이 아니며, 본 개시물의 핵심 또는 중요한 엘리먼트들을 식별하거나 또는 본 개시물의 범위를 서술하려고 의도되지 않는다. 이 요약은 단지 아래에 제공되는 상세한 설명에 대한 서두로서 본 개시물의 개념들 중 일부만을 나타낸다.
[0003]본 개시물은 일반적으로 신호 프로세싱을 위한 방법들 및 시스템들에 관한 것이다. 보다 구체적으로, 본 개시물의 양상들은, 보간 및 외삽 동작들을 이용하여 오디오 신호에 있어서의 누락 세그먼트들 및/또는 불연속성들을 은닉하는 것과 관련된다.
[0004]본 개시물의 일 실시예는, 오디오 신호의 세그먼트들의 스펙트럼을 컴퓨팅하는 단계 ―세그먼트들은 오디오 신호의 누락 세그먼트의 반대 측들 상에 위치됨―; 컴퓨팅된 스펙트럼의 크기 피크들을 결정하는 단계; 결정된 피크들을 크기에 따라 정렬하는 단계; 피크들로부터 누락 세그먼트의 반대 측 상에 있는 근방 피크들을 결정함으로써 스펙트럼 피크들의 쌍들을 형성하는 단계; 및 누락 세그먼트에 대한 복원 데이터를 생성하기 위해서 스펙트럼 피크들의 쌍들을 이용하여 오디오 신호의 누락 세그먼트에 걸쳐 보간을 수행하는 단계를 포함하는 컴퓨터 구현 방법에 관한 것이다.
[0005]다른 구현에서, 컴퓨터 구현 방법은 누락 세그먼트의 반대 측들 상에 위치되는 세그먼트들의 데이터로 복원 데이터를 페이딩(fading)하는 단계를 더 포함한다.
[0006]다른 구현에서, 컴퓨터 구현 방법은 신호의 크기 스펙트럼을 평탄화하는 단계; 평탄화된 스펙트럼의 로컬 슬로프의 부호를 결정하는 단계; 로컬 슬로프의 부호가 포지티브에서 네거티브로 변경되는 포인트들에 기초하여 피크들의 추정치들을 생성하는 단계; 및 대응하는 추정된 피크 근방에서 평탄화되지 않은 신호를 탐색함으로써 피크들 각각에 대한 참된 위치들을 결정하는 단계를 더 포함한다.
[0007]다른 구현에서, 수행되는 보간의 레벨은, 보간기에 의해 생성된 순간 파형 및 알려진 신호 세그먼트로부터 추정되는 순간 파형의 정렬의 측도(measure)를 최대화하도록 보간 간격들의 범위로부터 선택된다.
[0008]본 개시물의 다른 구현은 오디오 신호의 제 1 세그먼트의 스펙트럼 및 오디오 신호의 제 2 세그먼트의 스펙트럼을 컴퓨팅하는 단계 ―제 1 세그먼트는 신호의 누락 세그먼트의 제 1 측 상에 위치되고 제 2 세그먼트는 신호의 누락 세그먼트의 제 2 측 상에 위치됨―; 제 1 세그먼트 및 제 2 세그먼트의 스펙트럼에서 복수의 오브젝트들을 식별하는 단계 ―복수의 오브젝트들은 피크들에 대응함―; 대응하는 피크들의 진폭들에 따라, 식별된 오브젝트들을 소팅(sorting)하는 단계; 소팅된 오브젝트들의 인덱스를 결정하는 단계; 및 오브젝트들 중 적어도 하나에 대해, 매칭 오브젝트를 식별하는 단계를 포함하는 컴퓨터 구현 방법에 관한 것이다.
[0009]또 다른 구현에서, 컴퓨터 구현 방법의 제 1 세그먼트 및 제 2 세그먼트의 스펙트럼의 복수의 오브젝트들을 식별하는 단계는 오브젝트들의 리스트를 생성하는 단계를 포함하고, 하나의 오브젝트는 제 1 세그먼트의 스펙트럼 및 제 2 세그먼트의 스펙트럼 둘 모두의 각각의 피크에 대한 것이다.
[0010]또 다른 구현에서, 컴퓨터 구현 방법에서 오브젝트들 중 적어도 하나에 대해, 매칭 오브젝트를 식별하는 단계는: 오브젝트에 대해, 다른 오브젝트들 모두에 대한 탐색을 수행함으로써 후보 매칭 오브젝트들을 식별하는 단계; 후보 매칭 오브젝트들로부터 매칭 오브젝트를 이미 갖는 오브젝트들 모두를 제거하는 단계; 나머지 후보 매칭 오브젝트들 각각에 대해, 매칭 기준을 평가하는 단계; 및 나머지 후보 매칭 오브젝트들 중 하나를, 평가된 매칭 기준에 기초하여 오브젝트에 대한 매칭 오브젝트로서 선택하는 단계를 포함한다.
[0011]또 다른 구현에서, 컴퓨터 구현 방법은 나머지 후보 매칭 오브젝트들을, 상보적 스펙트럼으로부터의 피크들을 갖는 오브젝트들 및 주파수 근방에 있는 피크들을 갖는 오브젝트들로 제한하는 단계를 더 포함한다.
[0012]또 다른 구현에서, 컴퓨터 구현 방법은 후보 매칭 오브젝트들을 갖지 않는 오브젝트를 식별하는 단계; 및 오브젝트의 주파수와 동일한 주파수를 갖는 가상의 피크를 생성하고 동일한 주파수에서 상보적 스펙트럼의 진폭 또는 0의 진폭을 갖는 단계를 더 포함한다.
[0013]또 다른 구현에서, 컴퓨터 구현 방법은 후보 매칭 오브젝트들을 갖지 않는 오브젝트를 식별하는 단계; 및 복수의 오브젝트들로부터 오브젝트를 제거하는 단계를 더 포함한다.
[0014]본 개시물의 또 다른 구현은, 오디오 신호의 세그먼트들의 스펙트럼을 컴퓨팅하는 단계 ―세그먼트들은 오디오 신호의 누락 세그먼트의 반대 측들 상에 위치됨―; 컴퓨팅된 스펙트럼의 크기 피크들을 결정하는 단계; 결정된 피크들을 크기에 따라 정렬하는 단계; 피크들로부터 누락 세그먼트의 반대 측 상에 있는 근방 피크들을 결정함으로써 스펙트럼 피크들의 쌍들을 형성하는 단계; 및 오디오 신호의 누락 세그먼트의 간격에 걸쳐 보간을 수행하는 단계를 포함하는 컴퓨터 구현 방법에 관한 것이고, 간격의 길이는, 페이즈 오프셋들의 진폭들에 따라 가중되는 페이즈 오프셋들의 대응하는 세트들의 정렬에 기초하여 결정된다.
[0015]하나 또는 그 초과의 다른 구현들에서, 본원에 설명된 방법들 및 시스템들은 다음의 추가 피처들 중 하나 또는 그 초과의 것을 선택적으로 포함할 수 있다: 보간은 사인곡선 보간이고; 피크들의 각각의 쌍은 누락 세그먼트의 제 1 측 상의 제 1 피크 및 누락 세그먼트의 제 2 측 상의 제 2 피크로 이루어진다; 이웃 피크들은 최고 피크로 시작하여 피크들 각각에 대해 결정된다; 복원 데이터는, 중첩-가산(overlap-add) 동작을 이용하여 누락 세그먼트의 반대 측들 상에 위치되는 세그먼트들의 데이터로 페이딩된다; 신호의 크기 스펙트럼은 저역 통과 필터를 스펙트럼에 적용함으로써 평탄화된다; 보간 간격들의 범위는 수신 디바이스의 지터 버퍼를 예상되는 패킷 손실들과 일치하는 레벨까지 채우도록 선택된다; 매칭 오브젝트는, 소팅된 오브젝트들의 인덱스에 따라, 최대 피크를 갖는 오브젝트로 시작하여 최소 피크를 갖는 오브젝트까지 계속되는 오브젝트들 중 적어도 하나에 대해 식별된다; 오브젝트들의 리스트는, 리스트 내 오브젝트들 각각에 대해, 대응하는 피크의 진폭, 피크가 위치되는 주파수, 대응하는 피크가 제 1 스펙트럼 또는 제 2 스펙트럼에 속하는지를 지정하는 라벨, 및 대응하는 피크가 속하는 스펙트럼에 대해 상보적인 스펙트럼에서의 매칭 피크의 위치를 포함하고; 그리고/또는 나머지 후보 매칭 오브젝트들 중 하나는 평가된 매칭 기준에 대해 최고 값을 갖는 후보 매칭 오브젝트에 기초하여 매칭 오브젝트로서 선택된다.
[0016]본 개시물의 적용가능성의 추가적인 범위는 아래에 주어진 상세한 설명으로부터 명백할 것이다. 그러나, 본 개시물의 정신 및 범위 내의 다양한 변경들 및 변화들이 이 상세한 설명으로부터 당업자에게 명백할 것이기 때문에, 바람직한 실시예들을 나타내는 동안, 상세한 설명 및 구체적인 예들은 단지 예시로 주어진다는 것을 이해해야 한다.
[0017]본 개시물의 이러한 목적들 및 다른 목적들, 피처들 및 특징들은 첨부된 청구범위 및 도면들과 관련하여 다음의 상세한 설명의 검토로부터 당업자에게 더욱 명백해질 것이고, 상기 내용 모두는 본 명세서의 일 부분을 형성한다. 도면들에서:
[0018]도 1은 본원에 설명된 하나 또는 그 초과의 실시예들에 따른 보간 및 외삽 동작들을 이용하여 오디오 신호에서의 누락 세그먼트들 및/또는 불연속성들을 은닉하기 위한 예시적인 애플리케이션을 도시하는 개략도이다.
[0019]도 2는 본원에 설명된 하나 이상의 실시예들에 따른 신호에 대한 보간 및 외삽 동작들의 단순화된 예를 도시하는 개략도이다.
[0020]도 3은, 데이터가 본원에 기재된 하나 또는 그 초과의 실시예들에 따라 복원될 오디오 신호의 세그먼트의 과거 엔드(end) 및 미래 엔드 둘 모두에서 이용가능한 예시적인 보간 방법을 도시하는 흐름도이다.
[0021]도 4는 본원에 기재된 하나 또는 그 초과의 실시예들에 따른 피크 추출을 위한 예시적인 방법을 도시하는 흐름도이다.
[0022]도 5는 본원에 설명된 하나 또는 그 초과의 실시예들에 따른 상보적인 피크들의 쌍들을 선택하기 위한 예시적인 방법을 도시하는 흐름도이다.
[0023]도 6은 본원에 기재된 하나 또는 그 초과의 실시예들에 따른 오브젝트들의 쌍을 형성하기 위한 예시적인 방법을 도시하는 흐름도이다.
[0024]도 7은 본원에 기재된 하나 또는 그 초과의 실시예들에 따른 오디오 신호의 누락 세그먼트의 과거 및 미래의 스펙트럼의 사인곡선 피크들에 대응하는 오브젝트들을 위한 예시적인 데이터를 도시하는 표이다.
[0025]도 8은 본원에 기재된 하나 또는 그 초과의 실시예들에 따른 사인곡선의 보간 및 외삽에 기초하여 오디오 신호에서의 누락 세그먼트들 및/또는 불연속성들을 은닉하도록 배열된 예시적인 컴퓨팅 디바이스를 도시하는 블록도이다.
[0026]본원에 제공된 제목들은 단지 편의를 위한 것이고, 본 개시물에서 청구되는 청구물의 범위 또는 의미에 반드시 영향을 미치는 것은 아니다.
[0027]도면들에서 동일한 참조 부호들 및 임의의 약어들은, 용이한 이해와 편의를 위한 동일한 또는 유사한 구조 및 기능을 가진 엘리먼트들 또는 동작들을 식별한다. 도면들은, 다음의 상세한 설명 중에서 상세하게 설명될 것이다.
[0028]개관
[0029]다양한 예들 및 실시예들이 이제 설명될 것이다. 다음 설명은 철저한 이해 및 이러한 예들의 설명을 가능하게 하기 위해서 상세한 설명들을 제공한다. 관련 기술 분야의 당업자는, 그러나, 본 명세서에 기재된 하나 또는 그 초과의 실시예들이 많은 이러한 세부사항들 없이 실시될 수 있다는 것을 이해할 것이다. 마찬가지로, 당업자는 또한, 본 개시물의 하나 또는 그 초과의 실시예들이 본원에 상세하게 설명되지 않은 많은 다른 불명확한 피처들을 포함할 수 있다는 것을 이해할 것이다. 추가적으로, 관련 설명을 본질적으로 불명확하게 하는 것을 방지하기 위해서, 몇몇 잘 알려진 구조들 또는 기능들이 아래에 상세히 나타내어지지 않거나 또는 설명되지 않을 수 있다.
[0030]본 개시물의 실시예들은 오디오 신호에 있어서의 누락 세그먼트들 및또는 불연속성들을 은닉(예를 들어, 복원)하고 이로써, 신호의 연속성을 복원하기 위한 방법들 및 시스템들과 관련된다. 방법들 및 시스템들은 보간 및 외삽 동작들에 기초하고, 오디오 세그먼트들을 늘리거나 또는 단축시키는 데에도 사용될 수 있다.
[0031]오디오 신호에 있어서의 누락 세그먼트들 및/또는 불연속성들을 복원하는 방법들은 종종 패킷-손실 은닉 방법들로서 지칭된다. 종래의 패킷-손실 은닉 방법들은 통상적으로, 재송신이 가능하지 않은 실시간 애플리케이션들에서 스피치 신호들이 널리 쓰이고 있기 때문에, 스피치만을 대상으로 해왔다. 그러나, 인터넷-기반 애플리케이션들의 확산과 함께, 일반 오디오 신호들을 위한 패킷-손실 은닉이 더욱 중요해지고 있다. 스피치만을 대상으로 하는 기존의 패킷-손실 은닉 방법들은 스피치 신호의 피치 구조에 상당히 의존하며, 그 결과, 이러한 방법들은 음악의 경우 잘 수행되지 않으며, 여기서 신호 구조는 일반적으로 더욱 복잡하고 스피치용으로 사용될 수 있는 단순 모델에 의해 잘 표현되지 않는다. 따라서, 본 개시물의 방법들 및 시스템들은 (단지 스피치에 비해 좀 더 일반적인 의미에서) 오디오 애플리케이션들에 대해 잘 수행하도록 설계된다.
[0032]상술된 기존의 접근방식들의 결점들의 관점에서, 본 개시물의 실시예들은 실시간으로 동작할 수 있는 오디오 신호들에서의 패킷 손실 및 불연속성들을 은닉하기 위한 방법들 및 시스템들을 제공한다.
[0033]본원에서 더 상세히 설명되는 바와 같이, 외삽 다음에 보간이 이어지고 보간 다음에 데이터 관측이 이어진다. 보간 및 외삽 동작들 둘 모두는 사인곡선의 합으로서 신호를 나타낸다. 하나 또는 그 초과의 실시예들에 따르면, 외삽의 경우, 사인곡선들의 세트가 최종 관측 데이터에서 검출될 수 있는 한편, 보간의 경우, 사인곡선들의 제 1 세트는 누락 세그먼트 전에 관측되거나 또는 생성되는 데이터에서 검출될 수 있고 사인곡선들의 제 2 세트는 누락 데이터 세그먼트 이후의 관측들에서 검출될 수 있다.
[0034]본원에 설명된 적어도 하나의 실시예에 따르면, 본 개시물의 보간 방법은 누락 세그먼트 앞뒤에서 관측되는 사인곡선들의 쌍을 형성시키기 전에 그들의 진폭에 의해서 사인곡선들을 소팅한다. 사인곡선들은 복소 지수함수의 실수부로서 설명된다. 사인곡선의 복소 이득과 주파수는 선형으로 보간된다.
[0035]아래에서 더 상세히 설명되는 바와 같이, 보간 방법은 2개의 모드들:동기식 모드 및 비동기식 모드에서 동작할 수 있다. 동기식 모드에서, 누락 데이터의 세그먼트의 길이가 고정된다(그리고 원래의 신호와 보통 일치한다). 보간 모델이 동기식 모드에서 데이터를 잘 피팅시키지 않는다면, 복소 지수함수들이 이들의 진폭에 있어서 편위(excursion)를 가질 것이며, 이는 청취가능할 수 있다. 비동기식 모드에서, 이러한 편위들의 의미를 감소시키기 위해서 누락 데이터 세그먼트의 길이가 조정된다.
[0036]도 1은, 본 개시물의 하나 또는 그 초과의 실시예들에 따른 오디오 신호들의 외삽 및 보간을 위한 예시적인 적용을 도시한다. 예를 들어, 2명의 사용자들(예를 들어, 음악가)(120a 및 120b)은 물리적으로 상이한 위치들(예를 들어, 떨어져 있는 환경들)에서 음악을 연주할 수 있으며, 여기서, 사용자(120a)는 "위치 1"에 있고 사용자(120b)는 "위치 2"에 있다. 이외에도, 사용자들(120a 및 120b)은, 예를 들어, 유선 연결 또는 네트워크를 통해 서로 통신 중에 있을 수 있는데, 사용자들(120a 및 120b) 각각은 오디오(예를 들어, 음악) 신호들을 각각 렌더링하고 캡처하기 위해 라우드스피커(105) 및 마이크로폰(110)을 구비할 수 있다. 복수의 신호 소스들(105)(예를 들어, 라우드스피커들)이 복수의 센서들(120)(예를 들어, 마이크로폰들, 개인들, 다른 오디오 캡처 디바이스들 등) 사이에 위치될 수 있다.
[0037]통신 네트워크를 통해 데이터(예를 들어, 음성) 패킷들을 송신할 경우, 패킷들은 때때로 확장된 시간 기간 동안 손실이 진행 중이거나 또는 네트워크의 수신단에서 수신되기 전에 모두 다 손실되었을 수 있다. 패킷들이 송신되는 동안 손실이 진행되는 경우, 데이터의 이러한 손실을 보상하기 위해서 무언가가 완료되어야 한다. 예를 들어, 일 기존 방법은 누락 데이터 대신에 0들을 삽입하는 것이다. 그러나, 이러한 접근법은, 사용자들이 성능 및 오디오 품질 저하를 겪게 되기 때문에 부적절한 솔루션을 제공한다.
[0038]스피치 신호들의 복원 시에 목표가 되는 다른 종래의 패킷 손실 은닉 방법들은 통상적으로, AR(autoregressive) 모델(예를 들어, 필터), 또는 그의 일부 비슷한 것에 의해 신호의 수신 세그먼트를 외삽한다. 스피치를 위한 자동회귀 모델들은 통상 단기 모델(short-term) 및 장기(long-term) 모델의 연결로서 보여질 수 있다. 단기 모델은 스펙트럼 엔벨로프를 설명하고 장기 모델은 피치 구조를 설명한다. 패킷-손실 은닉을 위해 더 중요한 것은, 통상적으로 2.5 내지 15 밀리초(ms) 범위로 상관관계를 캡처하는 장기 모델이다. 어떤 경우들에서, 장기 모델에는 단위 필터 이득이 할당된다. 패킷 손실 은닉에 대한 일부 기존 접근법들은, 누락 샘플들의 갭에 걸쳐 0의 여기(excitation)로 AR 모델들(예를 들어, 필터들)을 실행시킴으로써 누락 세그먼트들의 최소 평균 자승 에러 외삽 추정치들을 형성하며, 최초 필터 상태는 갭 앞의 신호에 기초하게 된다.
[0039]신호의 과거 세그먼트 및 미래 세그먼트 둘 모두가 은닉 동작이 시작될 때 알려지는 경우, 보간이 사용될 수 있다. 보간 접근법들은 종래에는 (예를 들어, 손상된 레코딩들을 위한) 신호 복원에 사용되어 왔으며, 이는 통상적으로 더 짧은 갭들과 관련되어 있다.
[0040]AR 신호 모델에 기초하는 하나의 기존 보간 방법은, 인코더를 칼만(Kalman) 추정기에 대한 측정치들의 세트로서 간주하는 완전 코딩 방식을 설명하며, 이는, 패킷들이 손실되는 경우 최적의 보간에 자연스럽게 이르게 하고 갭과 관련하여 과거에 알려진 데이터와 미래의 데이터를 설명할 수 있다. 그러나, 이러한 기존 접근법은 기존의 코더들과의 동작에 대해 호환되지 않는다.
[0041]일부 기존의 접근법들은, 데이터가 누락되고 있는 세그먼트들에 걸쳐 외삽 또는 보간을 하기 위해 AR 모델들 이외의 방법들을 활용한다. 예를 들어, 일 접근법은, 갭 앞 뒤의 신호의 스펙트럼으로부터 식별된 사인곡선들 사이의 보간을 위해 잘 알려진 사인곡선 모델을 사용한다. 다른 접근법은 적절한 기저 벡터들 및 AR 모델의 합으로서 신호를 모델링하고 이후 기저 벡터들과 AR 모델 신호 기여도의 이득들을 동시에 최적화한다. 기저 벡터는 사인곡선들일 수 있지만, 기저 벡터들을 위한 어떠한 효과적인 선택 프로세스가 이러한 방법들에서는 제공되지 않는다.
[0042]일반적으로, 기존의 보간 방법들은 계산적인 면에서 비용이 비싸다. 예를 들어, 일 접근법은 선형 예측기를 이용하여 누락 데이터의 매우 긴 세그먼트들에 걸쳐 사인곡선들의 시간-주파수 트랙을 예측하려고 시도한다. 실제로, 이러한 트랙들의 예측은 신뢰할 수 없다. 다른 접근법에서, 고조파 사인곡선 모델은 스피치 피처들의 진화를 추적하기 위해서 HMM(hidden Markov model)과 함께, 알려진 스피치 세그먼트들 사이에서 보간하기 위해 사용된다. 고조파 가정은, 이러한 방법이 오디오 신호들에 대해 효과가 없다는 것을 의미한다.
[0043]오디오 은닉에 대한 기존 접근법들의 다양한 결점들을 극복하기 위해서, 본 개시물의 실시예들은 누락된 세그먼트들에 대한 외삽 및 보간을 위한 개선된 방법들 및 시스템들을 제공한다. 본원에서 더 상세히 설명되는 바와 같이, 방법들 및 시스템들은 오디오 신호들을 위해 설계되고 오디오 신호들을 타겟으로 하며, 사인곡선의 보간 및 외삽에 기초하고, 사인곡선들이 고조파라는 가정에 의존하지 않는다.
[0044]기존의 접근법들에 대한 다른 이점들 및 개선점들 중에서, 본 개시물의 방법들 및 시스템들은 (i)비동기식 보간을 촉진시키고, (ⅱ)신호가 고조파인 경우, 시간-도메인 파형 보간에 대응하는 보간 절차를 사용하고, (ⅲ)오디오 신호들에 대해 효과적인 피크 선택 절차를 갖는다.
[0045]다음은 본 개시물의 보간 및 외삽에 대한 사인곡선-기반 접근법에 대한 모티베이션을 나타내며, 방법의 전체 아키텍처에 대한 상세들을 제공하며, 추가로, 시스템을 포함하는 다양한 컴포넌트들을 기술한다.
[0046]퓨리에 변환은, 복소 지수함수를 기반으로 신호(예를 들어, 오디오 신호)를 나타낸다. 신호가 실수이기 때문에, 복소 지수함수들에 있어서의 확장은 사인곡선들의 확장과 같이 재배열될 수 있다. 이와 같이, 스펙트럼 피크는 피크 주파수에서 사인곡선들의 이득들로서 해석될 수 있다. 퓨리에 변환이 정상 상태 사인곡선들의 면에서 신호를 확장하는 반면 (이산 퓨리에 변환의 경우, 사인곡선들이 유한 시간 세그먼트에 걸쳐 확장됨), 이 관점의 자연스러운 확장은, 이득 및 주파수를 끊임없이 변경하는 사인곡선들의 합으로서 신호를 확인하는 것이다. 그런 다음, 윈도우드 신호 세그먼트를 통한 퓨리에 변환은, 이러한 사인곡선들의 상태의 대략적인 스냅샷으로서 해석될 수 있으며, 각각의 피크가 사인곡선을 나타낸다. (또한, 스냅 샷의 유한 해상도로도 간주될 수 있는) 이 스냅샷의 피크들로부터의 크기의 점진적인 롤-오프는 유한 윈도우 길이 이용의 부작용이다. 그런다음, 스냅샷들 사이의 개별 사인곡선들을 보간하는 것이 가능하다. 이 원리는 본원에 설명된 실시예들 중 하나 이상의 것에 따른 오디오 신호들의 누락 세그먼트들을 통한 보간을 위한 방법들 및 시스템들에 기반하는 부분을 형성한다.
[0047]상세히 후술되는 바와 같이, 본 개시물의 알고리즘들은 연속 누락 데이터 샘플들의 세그먼트(여기서, 이러한 세그먼트는 오디오 신호에서의 누락 세그먼트 또는 불연속성일 수 있다)를 복원하는 것을 목표로 한다. 데이터가 거의 항상 누락 데이터 세그먼트의 과거 엔드에서 이용가능하지만, 이러한 것이 반드시 세그먼트의 미래 측에 대한 경우는 아니다. 적어도 하나의 실시예에 따르면, 복원될 데이터 세그먼트의 길이는, 알고리즘이 시작되기 전에 지정될 수 있다. 복원 세그먼트는 누락 데이터 세그먼트보다 더 짧을 수 있으므로, 누락 세그먼트의 미래 측을 위한 데이터가 아직 수신되지 않았던 경우가 감안된다. 그 경우, 알고리즘은 외삽을 수행할 수 있다. 누락 세그먼트의 미래 측에 대해 데이터가 이용가능한 시나리오에서, 이후 누락 세그먼트에 걸쳐 보간이 수행될 수 있다. 이와 같이, 방법의 적어도 하나의 실시예에 따르면, 외삽 동작들의 후속 세트 다음에 보간 동작이 이어지고 보간 동작은 누락 데이터 세그먼트의 복원을 종결한다.
[0048]도 2는, 본원에 설명된 하나 또는 그 초과의 실시예들에 따른, 신호(205)(예를 들어, 오디오 신호)에 대한 보간(220) 및 외삽(210) 동작들의 단순화된 예이다. 외삽(210)의 애플리케이션은 AR-모델 기반 시스템들에서 흔히 사용되는 것들과는 다르며, 외삽된 신호는, 누락 데이터 세그먼트의 미래 측에서 외삽 데이터와 신호 데이터 사이에서 병합(merging) 동작을 겪게 된다.
[0049]도 3은 본원에 설명된 하나 또는 그 초과의 실시예들에 따라, 데이터가, 복원될 오디오 신호의 세그먼트의 과거 및 미래 엔드들 둘 모두(예를 들어, 오디오 신호의 누락 세그먼트의 앞뒤에서 순차적으로)에서 이용가능한 예시적인 보간 동작(300)을 도시한다.
[0050]블록(305)에서, 이미 이용가능하지 않다면, 누락 세그먼트 앞뒤에 위치되는(예를 들어, 누락 세그먼트의 바로 앞뒤 또는 앞뒤에 순차적으로 위치되는) 오디오 신호의 세그먼트들(예를 들어, 제 1 세그먼트 및 제 2 세그먼트)의 복소 단기 스펙트럼이 컴퓨팅될 수 있다. 적어도 하나의 실시예에서, 누락 세그먼트 앞에(예를 들어, 시간 상으로 더 일찍) 순차적으로 인입하는 오디오 신호의 세그먼트들은 누락 세그먼트의 제 1 측(또는 과거 엔드)으로 간주될 수 있는 반면, 누락 세그먼트 뒤에(예를 들어, 시간 상으로 더 나중에) 순차적으로 인입하는 세그먼트들은 누락 세그먼트의 제 2 측(또는 미래 엔드)으로 간주될 수 있다.
[0051]블록(310)에서, 블록(305)에서 컴퓨팅된 스펙트럼의 크기 피크들이 결정될 수 있다.
[0052]블록(315)에서는, 블록(310)에서 결정된 피크들이 크기에 따라서 정렬(예를 들어, 배열, 나열 등)될 수 있다. 예를 들어, 적어도 하나의 실시예에 따르면, 블록(310)에서 결정되는 피크들은 리스트 형태로 위치될 수 있고 크기를 감소/증가시킴으로써 소팅될 수 있다. 누락 세그먼트의 과거 엔드 및 미래 엔드의 피크들이 하나의 리스트 내에 포함될 수 있다는 것을 주목해야 한다. 예를 들어, 블록(310)에서의 리스트는, 각각의 피크에 대해서, 그 피크가 누락 세그먼트의 과거 엔드에 속하는지 또는 미래 엔드에 속하는지 여부에 대한 정보를 포함할 수 있다.
[0053]블록(320)에서, 각각의 피크에 대해, 최고 피크로부터 시작해서, (오디오 신호의) 누락 데이터 세그먼트의 다른 측 상의 이웃들이, 일부 조건에 따라 결정될 수 있다. 적어도 하나의 실시예들에 따르면, 이웃으로 이미 선택되었던 피크들이 블록(320)의 수행 동안 스킵될 수 있다. 크기에 따른 피크들의 소팅은, 최고 피크들이 적절한 이웃들을 갖는 것을 보증한다. 블록(320)의 동작들은 쌍을 형성하지 않은 가청 성능에 대해 중요하지 않은 일부 작은 피크들을 남길 수 있다(이러한 나머지 피크들을 다루는 일 방법이 아래에 더 상세히 설명됨)는 것을 주목해야 한다.
[0054]블록(325)에서, 누락 데이터 세그먼트의 미래 및 과거 엔드들에서 결과적으로 얻어진 스펙트럼-피크 쌍들은 세그먼트에 걸쳐 보간하기 위한 기초로서 사용될 수 있다.
[0055]블록(330)에서, 데이터는, 보간 스테이지의 과거 및 미래 엔드들에서 중첩-가산 동작에 의해 기존의 데이터로 페이딩될 수 있다.
[0056]하나 또는 그 초과의 실시예들에 따르면, 본 개시물의 외삽 동작은, 미래-엔드 스펙트럼이 페이즈의 적절한 프리세션(precession)에 따라 과거-엔드 스펙트럼으로 대체되는 것을 제외하고 보간 동작과 유사하다. 사인곡선 주파수들은 외삽 동안 일정한 것으로 가정한다. 적어도 하나의 실시예에 따르면, 페이딩 동작은, 외삽 동작 다음에 다른 외삽이 있는 경우, 외삽 동작의 미래 엔드에서 생략될 수 있다. 다른 한편으로, 외삽 동작 다음에 보간 동작이 있다면, 미래-과거 피크 쌍의 부분이 아닌 작은 피크들을 고려하여 페이딩이 필요할 수 있다.
[0057]다음의 설명은 본 개시물의 패킷 손실 은닉 방법의 컴포넌트들에 대한 추가 상세들을 제공한다.
[0058]스펙트럼 추정 및 피크 추출
[0059]사인곡선들을 보간할 수 있게 하기 위해서, 외삽이 세그먼트의 과거 엔드에서 검출되는 사인곡선들에 의존하는 동안, 사인곡선들이 누락 세그먼트의 양쪽 엔드들(미래 엔드 및 과거 엔드)에서 검출될 필요가 있다. 이 검출은 다양한 방법들을 이용하여 수행될 수 있지만, 피크 진폭 및 주파수가, 사인신호들의 정확한 보간을 의식적으로 촉진시키는 정밀도로 발견된다는 것이 중요하다. 예를 들어, 적어도 8Hz의 주파수 리졸루션이 이러한 목적을 위해 적합하다.
[0060]적어도 하나의 실시예에 따르면, 32 밀리초(ms) 윈도우가 사용될 수 있다. 16kHz에서, 이 윈도우는 512개의 샘플들에 해당한다. 신호는 Hann 윈도우로 윈도잉되고 0들로 패딩되어, 2048개의 샘플들의 시퀀스를 획득할 수 있고, 이 샘플들의 시퀀스에 대해, FFT(Fast Fourier Transform)가 수행될 수 있다.
[0061]도 4는 피크 추출을 위한 예시적인 프로세스를 도시한다. 피크 추출 프로세스(400)는 크기 스펙트럼에 대해 동작하고, 적어도 실시예에 따라, 블록들(405-420)을 포함한다. 블록(405)에서, 크기 스펙트럼은, 작은 로컬 피크들이 고려되지 않는 것을 보증하기 위해서 저역 통과 필터링(예를 들어, 평탄화)될 수 있다. 적어도 하나의 구현에서, 블록(405)에서 스펙트럼에 대한 이러한 저역 통과 필터링은 약 0.02초의 대역폭으로 수행될 수 있다.
[0062]블록(410)에서, 블록(405)으로부터의 평탄화된 스펙트럼의 로컬 슬로프의 부호가 결정될 수 있다.
[0063]블록(415)에서, 피크들의 최초 추정치는, 슬로프 부호가 포지티브에서 네거티브로 변하는 포인트들에 기초하여 생성될 수 있다.
[0064]블록(420)에서, 진정한 피크 위치는, 초기 피크 추정치의 근방의, 원래의 평탄화되지 않은 신호에서 탐색될 수 있다. 예를 들어, 적어도 하나의 실시예에 따르면, 블록(420)에서 탐색될 수 있는 지역은 인버스 대역폭의 폭의 절반(예를 들어, 25Hz)일 수 있다.
[0065]쌍 선택
[0066]보간의 경우, 누락 신호 세그먼트의 과거 및 미래 엔드들에서 식별된 중요한 사인곡선들이 쌍을 형성하게 될 수 있다. 적어도 하나의 실시예에 따르면, 본 개시물의 방법은 피크들을 정렬하고, 이후, 최고 피크들로부터 시작해서, 적절한 상보적 피크들을 찾는다. 최대 피크들로부터 시작하는 것은, 중요한 미스매치들의 수가 작다는 표시이다(예를 들어, 미스매치들은 일반적으로, 있다 하더라도, 작은 피크들에 대해서만 발생한다).
[0067]도 5는 본원에 설명된 하나 이상의 실시예들에 따른 상보적 피크들의 쌍들을 선택하기 위한 예시적인 프로세스(500)를 도시한다. 블록(505)에서, 프로세스(500)는 복수의 오브젝트들을 식별한다(예를 들어, 오브젝트들의 리스트 또는 컬렉션을 생성한다). 하나의 오브젝트가 과거 및 미래 스펙트럼 둘 모두의 각각의 피크에 대해 식별된다. 목적은 그 오브젝트들에 대한 매치들을 지금 찾는 것이다. 적어도 하나의 실시예 따르면, 각각의 식별된 오브젝트는 4개의 라벨들:(1)피크 진폭; (2)피크가 위치되는 주파수; (3)피크가 미래 또는 과거 스펙트럼에 속하는지를 지정하는 라벨; 및 (4)상보적인 스펙트럼에서 매칭 피크의 위치(매치가 없는 경우 비어있거나 또는 0)를 가질 수 있다.
[0068]도 7은, 상술되고 도 5에 도시되는 예시적인 프로세스(500)의 블록(505)에서 식별된 오브젝트들 각각에 대한 데이터를 포함하는 예시적인 테이블(700)을 도시한다. 적어도 하나의 실시예에 따르면, 테이블(700)은 테이블(700)을 포함하는 엔트리들 각각을 식별하는 엔트리(또는 로우(raw)) 번호들(705)을 포함할 수 있다. 테이블(700)의 각각의 엔트리(705)는 상이한 오브젝트(710)(예를 들어, 예시적인 프로세스(500)의 블록(505)에서 식별된 오브젝트들)일 수 있고, 오브젝트들(710) 각각에 대해, 오브젝트의 진폭(예를 들어, 피크 진폭)(715), 오브젝트가 위치되는 주파수(720), 오브젝트가 미래 또는 과거 스펙트럼에 속하는지 여부를 나타내는 라벨(725) 및 (매치가 없는 경우 비어있는 채로 남아있거나 또는 0을 포함할 수 있는) 상보적 스펙트럼에서 매칭 피크의 테이블(700)에서의 위치(예를 들어, 엔트리 번호(705))를 포함할 수 있다. 본원에 설명된 하나 또는 그 초과의 실시예들에서, 테이블(700)은, 단지 예시를 위해서 제공되는 상기 설명된 예시적인 데이터 및 포맷들에 추가하여 또는 이러한 데이터 및 포맷들 대신에, 다양한 다른 포맷들로 배열되는 다양한 다른 데이터를 포함할 수 있다는 것을 이해해야 한다.
[0069]도 5의 예시적인 프로세스(500)를 다시 참고하면, 블럭(510)에서, 오브젝트들의 피크들의 진폭에 의해 소팅될 경우 오브젝트들의 인덱스들이 결정될 수 있다. 블록(515)에서, 실제 쌍을 형성하는 것은, 최대 피크를 갖는 오브젝트에서 최소 피크를 갖는 오브젝트로 이동하고, 소팅된 리스트에 대한 인덱스 시퀀스를 이용하여 각각의 오브젝트에 대해 따로따로 수행된다. 블록(515)에서 오브젝트들의 쌍을 형성하는 것에 대한 추가 상세들이 도 6을 참고로 하여 아래에 설명될 것이다. 블록(520)에서, (블록(515)에서 형성된)을 누락 데이터 세그먼트의 미래 및 과거 엔드들에서의 피크들의 쌍들이 세그먼트에 걸쳐 보간하기 위한 기초로서 사용될 수 있다.
[0070]도 6은 쌍을 이루는 오브젝트들을 위한 예시적인 프로세스를 도시한다. 본원에 기재된 하나 또는 그 초과의 실시예들에 따르면, 예시적인 프로세스(600)(블록들(605-640))은, 상술되고 도 5에 도시되는 예시적인 프로세스(500)에서 블록(515)의 부분일 수 있으며, 쌍을 이루는 것은, 소팅된 리스트에 대한 인덱스 시퀀스에 따라, 최대 피크를 갖는 오브젝트로 시작해서 최소 피크를 갖는 오브젝트까지 블록(505)에서 생성된 오브젝트들의 리스트의 각각의 오브젝트에 대해 따로따로 수행된다.
[0071]본 개시물의 적어도 하나의 실시예에 따르면, 예시적인 프로세스(600)(예를 들어, 프로세스(600)의 블록들(605-630))는 예시적인 프로세스(500)의 블록(505)에서 생성된 오브젝트들의 리스트에 있는 오브젝트들 각각(예를 들어, 과거 및 미래 스펙트럼 둘 모두의 각각의 피크에 대해 하나의 오브젝트)에 대해 반복적인 방식으로 수행될 수 있다는 것을 이해해야 한다.
[0072]각각의 오브젝트의 경우, 평가되는 오브젝트(때때로, 단지 간결함을 위해서 다음에서는 "현재 오브젝트"로 지칭함)가 매칭 오브젝트를 갖는지 여부에 관한 결정이 블록(605)에서 이루어질 수 있다. 현재 오브젝트가 매칭 오브젝트를 갖는다는 것이 블록(605)에서 결정되는 경우, 현재 오브젝트는 블록(610)에서 스킵될 수 있다.
[0073]한편, 블록(605)에서 현재 오브젝트가 매칭 오브젝트를 갖지 않는다고 결정되는 경우, 블록(615)에서, 매칭 오브젝트들에 대한 탐색이 다른 오브젝트들 모두에 대해 수행될 수 있어 후보 매칭 오브젝트들을 식별할 수 있다.
[0074]블록(620)에서, 후보 매칭 오브젝트들로서 이미 매칭 오브젝트들을 갖는 후보 매칭 오브젝트들은 삭제될 수 있다(예를 들어, 후보 매칭 오브젝트들의 리스트로부터 제거될 수 있다).
[0075]블록(625)에서, 매칭 기준이, 나머지 후보 매칭 오브젝트들 각각에 대해 평가될 수 있다. 예시적인 매칭 기준이 아래 식(1)에서 더욱 상세하게 제공된다.
[0076]블록(630)에서, 후보 매칭 오브젝트들 중 하나가, 평가된 매칭 기준에 기초하여 현재 오브젝트 대한 매칭 오브젝트로서 선택될 수 있다. 예를 들어, 본원에 설명된 일 실시예에 따르면, (예를 들어, 블록(625)에서 수행된 평가에 기초한 다른 후보 매칭 오브젝트들의 매칭 기준 값들과 비교하여) 매칭 기준을 위한 최고(예를 들어, 최대) 값을 갖는 후보 매칭 오브젝트가 현재 오브젝트에 대한 매칭 오브젝트로서 블록(630)에서 선택될 수 있다. 그러나, 현재 오브젝트 대한 매칭 오브젝트가 발견되지 않는 (예를 들어, 매칭 피크가 존재하지 않는) 경우가 있을 수 있다는 것을 이해해야 한다. 예를 들어, 상보적인 스펙트럼이 매칭 오브젝트로서 선택할 남은 오브젝트들을 갖지 않을 수도 있거나, 또는 매칭 기준이 상보적인 스펙트럼으로부터 나머지 피크의 선택에 대해 허용하지 않을 수도 있다. 유리하게도, 본 개시물의 시스템은, 이러한 시나리오(즉, 매칭 오브젝트가 존재하지 않음)가 작은 피크들에 대해서만 일반적으로 발생하도록 설계된다.
[0077]도 6에 도시되지 않았지만, 블록(630)에서 매칭 오브젝트의 선택 다음에, 현재 오브젝트의 제 4 라벨에서 매칭 오브젝트의 리스트 위치가 식별(예를 들어, 기록, 입력, 삽입 등)될 수 있고, (예를 들어, 상술되었고 도 7에 도시되는 예시적인 테이블(700)에서) 선택된 매칭 오브젝트의 제 4 라벨에서 현재 오브젝트의 위치가 유사하게 식별될 수 있다.
[0078]상술된 바와 같이, 예시적인 프로세스(600)는 (상술되고 도 5에 도시된) 예시적인 프로세스(500)의 블록(505)에서 생성된 오브젝트들의 리스트 내의 오브젝트들 각각에 대해 반복적인 방식으로 수행될 수 있다(예를 들어, 프로세스(600)는 오브젝트들 전체에 대해 루핑될 수 있음).
[0079]방법의 적어도 하나의 실시예에 따르면, "주파수 근방"은 100Hz로 설정된다. 기준은, 근처 피크들을 선호하는 거리-종속적인 가중치를 곱한 피크 값에 비례한다. 즉, j가 후보 오브젝트를 식별한다고 하자, α(j)는 그 피크 값을 나타내고, f(j)는 후보 오브젝트의 주파수를 나타낸다. 그런 다음, 후보는:
Figure pat00001
(1)
이다. 여기서, f(k)는 현재 오브젝트의 주파수이고 w:
Figure pat00002
는 음이 아닌 실수 주파수들을 음이 아닌 실수 거리 패널티 값으로 맵핑하는 함수이다. w에 대한 합리적인 선택은, 플로어 f0을 조건으로, 거리에 따른 선형 감쇠이다:
Figure pat00003
(2)
적어도 하나의 실시예에 따르면, f1은 100Hz이고, f0=1이다.
[0080]몇몇 상황들에서, 상술된 피크 식별 알고리즘에 의해 식별된 피크들 모두가, 일부 오브젝트들은 적절한 후보 매칭 오브젝트들이 없는 상태로 남겨질 수 있기 때문에, 매치를 획득하는 것은 아니라는 것을 주목해야 한다. 본원에 설명된 적어도 하나의 실시예에 따르면, 이러한 오브젝트들은, 동일한 주파수 및 그 주파수에서 상보적인 스펙트럼의 진폭 또는 0의 진폭을 갖는 "가상의" 피크를 생성시킴으로써 매칭될 수 있다(예를 들어, 신호가 사인곡선들의 단순 합으로서 해석되는 경우, 0 진폭 접근법이 더욱 합리적이다).
[0081]보간
[0082]사인곡선들의 보간은 다양한 상이한 방법들로 수행될 수 있다. 따라서, 다음은 상이한 보간 접근법들의 일부 기본 원리들을 개략적으로 설명하고 본 개시물의 실시예들에 따라 사용되는 보간 방법의 상세들을 설명한다.
[0083]사인곡선의 파라미터들은 사인곡선의 진폭, 사인곡선의 주파수, 및 사인곡선의 페이즈이다. 다음에서, 용어 "페이즈 오프셋"은 특정 기준 시간 순간에서의 페이즈의 값을 지칭한다. 이러한 파라미터들 각각은 스펙트럼의 피크에 대해 지정된다. 그러나, 복잡한 팩터는, 주파수가 페이즈의 도함수라는 것이다. 따라서, 진폭, 주파수 및 페이즈 오프셋의 선형 보간을 수행함으로써, 주파수는, 일정하지 않은 페이즈 오프셋으로 인한 편차를 겪게 된다. 이러한 주파수 편차는, 보간 간격 전체에 걸쳐 일정하고, 보간 간격의 인버스의 이분의 일과 같거나 또는 그보다 적을 수 있다.
[0084]페이즈 오프셋의 선형 보간은, 보간 간격의 엔드포인트들에서의 주파수들이 간격의 엔드포인트들에서 추정되었던 값들과 같지 않는다는 것을 의미한다. 제 1 기존 보간 접근법은, 엔드포인트들 둘 모두에서 측정치들에 의해 결정되는 그의 값과 도함수(주파수)에 따라, 페이즈의 3차 다항식 보간을 수행함으로써 이러한 문제를 방지한다. 이는, 전체 페이즈 프리세션이 선형 페이즈 오프셋 보간 경우의 것과 동일해야 하기 때문에, 선형 페이즈 오프셋 보간보다는 더 크지만 더 짧은 주파수 편위들로 이어져야 한다는 것이 명백하다. 이러한 제 1 보간 접근법의 추가적인 불이익은, 이것이 계산적으로 효율적인 구현들의 구성을 방해하는 사인 함수의 불규칙한 샘플링으로 이어진다는 것이다.
[0085]실제로, 상술된 제 1 보간 접근법은, 스피치의 경우 반향하는 본질로 인해 어려움을 겪는 것으로 밝혀졌고, 이는 바람직하지 않은 주파수 편위들에서 기인되었을 가능성이 크다. 스피치의 경우, 반향 특성은, 관측된 페이즈 오프셋을 사용하지 않고 대신에 고조파 최소 페이즈 모델을 사용하는 제 2 기존 보간 접근법에서 제거될 수 있다. 그러나, 이러한 제 2 접근법은, 사인 곡선들이 고조파가 아닐 수도 있는 음악의 경우에는 적합하지 않다. 이외에도, 이 제 2 접근법은 또한 고조파 신호들의 대해 스피치 파형을 보존하지 않는다.
[0086]사인곡선을 복소 지수함수의 실수부로 고려함으로써, 제 3 보간 접근법이 자연적으로 발생한다. 예를 들어,
Figure pat00004
를 고려하면, 여기서, f는 주파수이고, t는 시간이고, φ는 페이즈 오프셋이고, α는 복소 계수이고,
Figure pat00005
이고, 연산자
Figure pat00006
는 실수부 컴포넌트를 추출한다. 그런 다음, 주파수 f와 복소 계수 α 둘 모두의 선형 보간을 시간에 있어서 수행하는 것이 가능하다. 상기 설명된 제 1 및 제 2의 기존 보간 접근법들과는 대조적으로, 복소 계수들의 보간은 보간 간격에 대한 진폭의 변화로 이어진다. 이 제 3 접근법은 또한, 낮은 계산 복잡도로 이어질 수 있는 복소 지수함수의 정규 샘플링을 용이하게 한다.
[0087]사인곡선들의 세트가 고조파이고 결과적으로 발생되는 파형들의 정렬이 존재하는 시나리오의 경우, 복소-계수 보간은 스피치를 위한 파형 보간 방법과 유사하다(예를 들어, 파형 보간은 신호 파형 보존을 시도한다). 파형 보간 시스템들은 일반적으로, 스피치 신호들에 대한 3차 다항식 보간 접근법보다 덜 반향된다. (상술된) 제 2 보간 방법과는 대조적으로, 복소-계수 보간은 스피치 신호의 파형을 보존한다.
[0088]본 개시물의 하나 또는 그 초과의 실시예들에 따르면, 복소-계수 보간 방법이 사용된다. 이 방법은, 원래의 신호가 평탄하게 전개되고 재구성된 데이터의 세그먼트의 길이가 누락 데이터의 길이와 동일한 경우 잘 수행된다.
[0089]이 시스템 보간 성능은, 이러한 신호들이 본질적으로 고조파라는 사실을 이용함으로써 유성(voiced) 스피치의 경우에 대해 개선될 수 있다. 사인곡선 주파수들이 고조파에 가까운 경우, 이 주파수들이 완벽하게 고조파가 아닐 가능성이 큰 이유는 측정 오차의 결과에 있다. 따라서, 이러한 경우에, 주파수들은 고조파가 되게 수정될 수 있다. 예를 들어, 실제 구현에서, 300Hz 미만의 사인곡선들은, 이들이 기준
Figure pat00007
Figure pat00008
을 이용하여 유성 스피치 세그먼트에 속하는 경우 먼저 테스트될 수 있으며, 여기서, f0은 후보 피치이고, fn은 사인곡선(n)의 주파수이고, αn은 사인곡선 n의 크기이고, N은 3000Hz 미만의 사인곡선들의 수이고, 함수
Figure pat00009
Figure pat00010
를 가장 가까운 정수로 반올림한다. 먼저, 탐색은 ξ를 최소화하는 f0 값에 대해 수행될 수 있으며, 그런 다음, 신호가 고조파인 경우, 그 최선의 ξ에 대한 임계치가 사용될 수 있다. 신호가 고조파인 경우, 고조파에 가까운 주파수들 고조파(f0의 배수)가 되게 변경될 수 있다.
[0090]비동기 보간
[0091]위에서 설명된 다양한 보간 접근법은, 누락 데이터 세그먼트의 길이를 갖는 주어진 간격들을 통해 보간에 초점을 맞추었다. 본원에 설명된 실시예들 중 하나 또는 그 초과의 것에 따라 이용될 수 있는 비동기식 보간에서, 상기 간격의 길이는, 이러한 편위들이 반향으로 인해 가청이기 때문에 보간에 있어서 진폭 편위를 최소화할 목적으로 조정된다.
[0092]인덱스 n에 의해 식별된 사인곡선의 복소 계수의 선형 보간이 다음과 같이 기록될 수 있다:
Figure pat00011
(3)
여기서, t가 시간이고, 보간이 t=0에서 시작한다고 가정하고, αn,-는 복소 계수의 시작 값이고, αn,1은 변화율에 영향을 주는 계수이다. 이외에도, αn,+이 관측된 미래 데이터의 경우 α에 대한 추정치를 나타내고, τ는 공칭 보간 엔드포인트를 나타낸다고 하자. 그런 다음, 선형 보간의 경우, 식(3)을 다음과 같이 다시 쓸 수 있다:
Figure pat00012
(4)
[0093]fn,- 및 fn,+이 복원 갭 앞뒤의 사인곡선 주파수를 나타낸다고 하자. 합리적인 목적은 다음 식을 최소화하는 보간 간격 τ를 찾는 것이다.
Figure pat00013
(5)
Figure pat00014
(6)
Figure pat00015
(7)
식(7)이 다음과 같이 해석될 수 있다. 각각의 시간포인트에서, 계수들(αn) 및 주파수들(fn)은 "순간" 파형을 특징으로 한다. 그런 다음, 상기 결과(식 (7))는, 순간 신호 파형의 정렬의 측도로서 이해될 수 있다. 팩터
Figure pat00016
는 사인곡선(n)의 중요도의 가중치를 나타낸다. 항
Figure pat00017
은 간격에 대한 사인곡선의 페이즈의 프리세션을 나타내고, 최초 및 최종 주파수들의 평균치에서, 평균하여, 프리세션이 진행하는 것을 보여준다. 비
Figure pat00018
Figure pat00019
는 시작 페이즈 및 종료 페이즈를 나타낸다. 이와 같이, 전체적인 목적은, 보간된 신호의 페이즈들을 미래의 엔드에서 관찰되는 신호의 페이즈와 정렬시키는 복원 간격에 대해 종료 시간(τ)를 발견하는 것과 일치한다.
[0094]비동기식 보간의 상기 설명을 고려하여, 본 개시물의 하나 또는 그 초과의 실시예들에 따르면, 수행될 수 있는 보간의 레벨은, 보간기에 의해 생성된 순간 파형의 정렬의 측도 및 알려진 신호 세그먼트로부터 추정된 순간 파형을 최대화할 보간 간격들의 범위로부터 선택될 수 있다. 또한, 본원에 설명된 하나 또는 그 초과의 다른 실시예들에 따라, 보간 간격들의 범위는, 예상되는 패킷 손실들과 일관되는 레벨까지 수신 디바이스의 지터 버퍼를 채우도록 선택될 수 있다.
[0095]본 개시물의 적어도 하나의 실시예에 따르면, 식 (5)의 팩터
Figure pat00020
는, 양호한 성능을 희생시키지 않고 보다 낮은 계산 복잡도로 생략될 수 있다는 것을 주목해야 한다.
[0096]다음은 하나 또는 그 초과의 실시예들에 따른 본 개시물의 비동기식 보간 프로세스의 예시적인 특성들의 간략한(non-exhaustive) 리스트이다.
[0097](1)정렬 기준(수학 식(7)) 때문에, 일반적으로, 많은 최소치를 가지며, 기준에 대한 탐색이 수행되어야 한다.
[0098](2)본 개시물의 비동기식 보간 방법은, 본원에 기재된 방법이 주파수의 보간을 포함한다는 점에서 간단한 시간-도메인 정렬 절차와는 구별될 수 있다.
[0099](3)본 개시물의 비동기식 보간 방법은 임의의 길이의 세그먼트들에 걸친 보간을 제공한다: 관측된 데이터와 누락 세그먼트 길이에 대하여 모델의 "합리적인" 피트(fit)가 더 이상 가정되지 않는다.
[0100](4) 본 개시물의 보간 방법은, 불연속성들을 제거하기 위해서, 가상의 누락 세그먼트들을 삽입하고 데이터를 제거하고 보간을 이용함으로써, 오디오 세그먼트들을 감속시키고, 어느 정도까지는 가속시키기 위해 사용될 수 있다.
[0101](5)본원에 설명된 보간 방법은, 이것이 사인곡선들의 진폭에 있어서의 편위들을 최소화시키기 때문에, 반향을 최소화시킨다. 이점에서, 복소 계수 보간 방법은 어떤 경우에도 주파수 편위들을 갖지 않는다는 것을 주목하는 것이 중요하다.
[0102]도 8은 본원에 설명된 하나 또는 그 초과의 실시예들에 따른, 사인곡선들의 보간 및 외삽에 기초하여 오디오 신호의 불연속성들 및/또는 누락 세그먼트들을 은닉(예를 들어, 복원)하도록 배열되는 예시적인 컴퓨터(800)의 고레벨 블록도이다. 매우 기본 구성(801)으로, 컴퓨팅 디바이스(800)는 일반적으로 하나 또는 그 초과의 프로세서들(810) 및 시스템 메모리(820)를 포함한다. 메모리 버스(830)는 프로세서(810) 및 시스템 메모리(820) 간의 통신을 위해 사용될 수 있다.
[0103]원하는 구성에 따라, 프로세서(810)는, 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP), 또는 이들의 임의의 조합을 포함하는 임의의 타입일 수 있지만, 이것으로 한정되지 않는다. 프로세서(810)는, 레벨 1 캐시(811) 및 레벨 2 캐시(812), 프로세서 코어(813), 및 레지스터들(814)과 같은 캐싱의 2 이상의 레벨들을 포함할 수 있다. 프로세서 코어(813)는, ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core), 또는 이들의 임의의 조합을 포함할 수 있다. 메모리 컨트롤러(816)는 또한 프로세서(810)와 함께 사용될 수 있거나, 또는 일부 구현들에서, 메모리 컨트롤러(815)는 프로세서(810)의 내부 부품일 수 있다.
[0104]원하는 구성에 따라, 시스템 메모리(820)는, 휘발성 메모리(이를 테면, RAM), 비휘발성 메모리(이를 테면, ROM, 플래시 메모리 등) 또는 이들의 임의의 조합을 포함하는 임의의 타입일 수 있지만, 이것으로 제한되지 않을 수 있다. 시스템 메모리(820)는 통상적으로 운영 시스템(821), 하나 또는 그 초과의 애플리케이션들(822), 및 프로그램 데이터(824)를 포함한다. 애플리케이션(822)은, 본원에 설명된 하나 또는 그 초과의 실시예들에 따른 오디오 신호에서 연속 누락 데이터 샘플들의 세그먼트를 복원하기 위한 보간 및 외삽 알고리즘(823)을 포함할 수 있다. 프로그램 데이터(824)는, 하나 또는 그 초과의 프로세싱 디바이스들에 의해 실행될 경우, 본원에 설명된 하나 또는 그 초과의 실시예들에 따른 사인곡선들을 위해 설계된 보간 및 외삽 동작들을 이용하여 오디오 신호에서의 불연속성들 및/또는 누락 세그먼트들을 은닉하기 위한 방법을 구현하는 명령들을 저장하는 것을 포함할 수 있다.
[0105]추가적으로, 적어도 하나의 실시예에 따르면, 프로그램 데이터(824)는, 예를 들어, 신호를 윈도잉(windowing)함으로써 획득되는 오디오 신호의 샘플들에 대한 데이터를 포함할 수 있는 오디오 신호 데이터(825)를 포함할 수 있다. 적어도 하나의 실시예에 따르면, 32 밀리초(ms) 윈도우가 사용될 수 있으며, 이는 16kH에서, 512개의 샘플들에 해당한다. 적어도 하나의 다른 실시예에 따르면, 오디오 신호는 Hann 윈도우로 윈도잉되고 0들로 패딩되어, 2048개의 샘플들의 시퀀스를 획득할 수 있고, 이 샘플들의 시퀀스에 대해, FFT(Fast Fourier Transform)가 수행될 수 있다. 일부 실시예들에서, 애플리케이션(822)은 동작 시스템(821) 상의 프로그램 데이터(824)와 함께 동작하도록 배열될 수 있다.
[0106]컴퓨팅 디바이스(800)는, 기본 구성(801)과 임의의 필요한 디바이스들 및 인터페이스들 간의 통신들을 용이하게 하기 위해서 추가적인 특징들 또는 기능, 및 추가 인터페이스들을 가질 수 있다.
[0107]시스템 메모리(820)는 컴퓨터 저장 매체의 일 예이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk)들 또는 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 다른 자기 저장장치들, 또는 원하는 정보를 저장하는 데에 사용될 수 있고 컴퓨팅 디바이스(800)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이것으로 제한되지 않는다. 임의의 이러한 컴퓨터 저장 매체는 디바이스(800)의 일부일 수 있다.
[0108]컴퓨팅 디바이스(800)는, 소형 폼 팩터 포터블(또는 모바일) 전자 디바이스의 일 부분, 이를 테면, 셀 폰, 스마트폰, PDA(personal data assistant), 개인 미디어 플레이어 디바이스, 태블릿 컴퓨터(태블릿), 무선 웹-워치 디바이스, 개인 헤드셋 디바이스, 애플리케이션-특정 디바이스, 또는 상기 기능들 중 임의의 것을 포함하는 하이브리드 디바이스로서 구현될 수 있다. 컴퓨팅 디바이스(800)는 또한, 랩탑 컴퓨터 및 넌-랩탑 컴퓨터 구성들 둘 모두를 포함하는 개인 컴퓨터로서 구현될 수 있다.
[0109]앞의 상세한 설명은, 블록 다이어그램들, 흐름도들, 및/또는 예들의 사용을 통해 디바이스들 및/또는 프로세스들의 다양한 실시예들을 제시한다.  블록 다이어그램들, 흐름도들, 및/또는 예들이 하나 또는 그 초과의 기능들 및/또는 동작들을 포함하는 한, 이러한 블록 다이어그램들, 흐름도들, 또는 예들 내에서의 각각의 기능 및/또는 동작이, 다양한 범위의 하드웨어, 소프트웨어, 펌웨어 또는 사실상 이들의 임의의 조합에 의해 총괄적으로 그리고/또는 개별적으로 구현될 수 있다는 것을 당업자는 이해할 것이다.  일 실시예에서, 본원에 설명된 주제의 몇몇 부분들은, 주문형 집적 회로(ASIC)들, 필드 프로그래머블 게이트 어레이(FPGA)들, 디지털 신호 프로세서(DSP)들, 또는 다른 통합 포맷들을 통해 구현될 수 있다.  그러나, 당업자는, 본원에 개시된 실시예들의 일부 양상들이, 전체적으로 또는 부분적으로, 하나 또는 그 초과의 컴퓨터들 상에서 실행되는 하나 또는 그 초과의 컴퓨터 프로그램들로서, 하나 또는 그 초과의 프로세서들 상에서 실행되는 하나 또는 그 초과의 프로그램들로서, 펌웨어로서, 또는 이들의 사실상 임의의 조합으로서 집적 회로들에서 등가적으로 구현될 수 있다는 것과, 회로를 설계하는 것 및/또는 소프트웨어 및/또는 펌웨어를 위한 코드를 기록하는 것은 본 개시물에 비추어 볼 때 당업자의 기량의 범위 내에 확실히 있을 것이라는 것을 인식할 것이다.  
[0110]이외에도, 당업자는, 본원에 설명된 주제의 메커니즘들은 다양한 형태들로 프로그램 제품으로서 배포될 수 있으며, 본원에 설명된 주제의 예시적인 실시예가 배포를 실제로 실시하는데 사용되는 비일시적 신호 포함 매체의 특정 타입과 무관하게 적용된다는 것을 인식할 것이다.  비일시적인 신호 포함 매체의 예들은, 다음: 레코딩가능한 타입 매체, 이를 테면, 플로피 디스크, 하드 디스크 드라이브, 컴팩트 디스크(CD), 디지털 비디오 디스크(DVD), 디지털 테이프, 컴퓨터 메모리 등; 및 송신 타입 매체, 이를 테면, 디지털 및/또는 아날로그 통신 매체를 포함하지만, 이것으로 한정되지 않는다.(예를 들어, 광섬유 케이블, 도파관, 유선 통신 링크, 무선 통신 링크 등)
[0111]본원에서 실질적으로 임의의 복수 및/또는 단수 용어들의 사용에 대하여, 당업자는, 맥락 및/또는 적용에 적절한 바에 따라 복수형태를 단수형태로 그리고/또는 단수형태를 복수형태로 해석할 수 있다.  다양한 단수/복수 치환( permutation)들은 명료함을 위해서 본원에서 명시적으로 설명될 수 있다.   
[0112]이와 같이, 주제의 특정 실시예들을 설명하였다. 다른 실시예들은 다음의 청구범위 내에 있다. 일부 경우에, 청구범위에 기재된 동작들은 다른 순서로 수행될 수 있고 여전히 바람직한 결과를 달성할 수 있다. 이외에도, 첨부하는 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해 반드시 도시된 특정 순서, 또는 순차적 순서(sequential order)를 요구하는 것은 아니다. 특정 구현들에서, 멀티 태스킹 및 병렬 프로세싱이 유리할 수 있다.

Claims (20)

  1. 오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법으로서,
    오디오 신호의 세그먼트들의 스펙트럼을 컴퓨팅하는 단계 ―상기 세그먼트들은 상기 오디오 신호의 누락 세그먼트의 제 1 측 및 제 2 측 상에 위치됨―;
    컴퓨팅된 스펙트럼의 크기 피크들(magnitude peaks)을 결정하는 단계;
    결정된 피크들을 크기에 따라 정렬하는 단계;
    최고 피크(highest peak)로 시작하여 크기에 따라 정렬된 상기 피크들로부터 상기 누락 세그먼트의 상기 제 1 측 및 상기 제 2 측 상에 있는 근방 피크들을 결정함으로써 스펙트럼 피크들의 쌍들을 형성하는 단계;
    상기 누락 세그먼트에 대한 복원 데이터를 생성하기 위해서 상기 스펙트럼 피크들의 쌍들을 이용하여 상기 오디오 신호의 상기 누락 세그먼트에 걸쳐 복소 계수 보간을 수행하는 단계; 및
    상기 오디오 신호의 연속성을 복원하기 위해 상기 생성된 복원 데이터를 사용하는 단계
    를 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 보간은 사인곡선 보간인,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    피크들의 각각의 쌍은 상기 누락 세그먼트의 상기 제 1 측 상의 제 1 피크 및 상기 누락 세그먼트의 상기 제 2 측 상의 제 2 피크로 이루어지는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    근방 피크들은 최고 피크(highest peak)로 시작하여 피크들 각각에 대해서 결정되는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  5. 제 1 항에 있어서,
    상기 생성된 복원 데이터를 사용하는 단계는 상기 누락 세그먼트의 상기 제 1 측 및 상기 제 2 측 상에 위치되는 상기 세그먼트들의 데이터로 상기 복원 데이터를 페이딩(fading)하는 단계를 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  6. 제 5 항에 있어서,
    상기 복원 데이터는, 중첩-가산(overlap-add) 동작을 이용하여 상기 누락 세그먼트의 상기 제 1 측 및 상기 제 2 측 상에 위치되는 상기 세그먼트들의 데이터로 페이딩되는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    상기 신호의 주파수-도메인 표현을 생성하기 위해서 상기 신호에 대해 고속 퓨리에 변환을 수행하는 단계;
    변환된 신호의 크기 스펙트럼을 평탄화하는 단계;
    평탄화된 스펙트럼의 로컬 슬로프의 부호를 결정하는 단계;
    상기 로컬 슬로프의 상기 부호가 포지티브에서 네거티브로 변경되는 포인트들에 기초하여 상기 피크들의 추정치들을 생성하는 단계; 및
    대응하는 추정된 피크 근방에서 평탄화되지 않은 신호를 탐색함으로써 상기 피크들 각각에 대한 참된 위치들을 결정하는 단계를 더 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  8. 제 7 항에 있어서,
    상기 신호의 크기 스펙트럼은 저역 통과 필터를 상기 스펙트럼에 적용함으로써 평탄화되는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  9. 제 1 항에 있어서,
    수행되는 보간의 간격(τ)은,
    Figure pat00021
    를 최소화하는 상기 보간의 간격(τ)을 찾음으로써 보간 간격들의 범위로부터 선택되고, n은 인덱스이고, αn,-는 복소 계수의 시작 값이고, αn,+은 관측된 미래 데이터의 경우 α에 대한 추정치를 나타내고, fn,- 및 fn,+이 복원 갭 앞뒤의 사인곡선 주파수를 나타내는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  10. 제 9 항에 있어서,
    상기 보간 간격들의 범위는, 수신 디바이스의 지터 버퍼를 예상되는 패킷 손실들과 일치하는 레벨까지 채우도록 선택되는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  11. 오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법으로서,
    오디오 신호의 제 1 세그먼트의 스펙트럼 및 상기 오디오 신호의 제 2 세그먼트의 스펙트럼을 컴퓨팅하는 단계 ―상기 제 1 세그먼트는 상기 신호의 누락 세그먼트의 제 1 측 상에 위치되고 상기 제 2 세그먼트는 상기 신호의 상기 누락 세그먼트의 제 2 측 상에 위치됨―;
    상기 제 1 세그먼트 및 상기 제 2 세그먼트의 상기 스펙트럼에서 복수의 오브젝트들을 식별하는 단계 ―상기 복수의 오브젝트들은 피크들에 대응함―;
    대응하는 피크들의 진폭들에 따라, 식별된 오브젝트들을 정렬하는 단계;
    상기 정렬된 오브젝트들의 인덱스를 결정하는 단계;
    상기 오브젝트들 중 적어도 하나에 대해, 최고 진폭(highest amplitude)으로 시작하여, 상기 정렬된 오브젝트들의 인덱스에 기초하여 매칭 오브젝트를 식별하는 단계;
    상기 누락 세그먼트에 대한 복원 데이터를 생성하기 위해서 상기 적어도 하나의 오브젝트 및 상기 매칭 오브젝트를 이용하여 상기 오디오 신호의 상기 누락 세그먼트에 걸쳐 복소-계수 보간을 수행하는 단계; 및
    상기 오디오 신호의 연속성을 복원하기 위해 상기 생성된 복원 데이터를 사용하는 단계
    를 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  12. 제 11 항에 있어서,
    매칭 오브젝트는, 소팅된 오브젝트들의 인덱스에 따라, 최대 피크를 갖는 오브젝트로 시작하여 최소 피크를 갖는 오브젝트까지 계속되는 오브젝트들 중 적어도 하나에 대해 식별되는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  13. 제 11 항에 있어서,
    상기 제 1 세그먼트 및 상기 제 2 세그먼트의 상기 스펙트럼에서 복수의 오브젝트들을 식별하는 단계는 오브젝트들의 리스트를 생성하는 단계를 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  14. 제 13 항에 있어서,
    상기 오브젝트들의 리스트는, 상기 리스트의 상기 오브젝트들 각각에 대해, 상기 대응하는 피크의 진폭, 상기 대응하는 피크가 위치되는 주파수, 상기 대응하는 피크가 제 1 스펙트럼 또는 제 2 스펙트럼에 속하는지를 지정하는 라벨, 및 상기 대응하는 피크가 속하는 스펙트럼에 대해 상보적인 스펙트럼의 매칭 피크의 위치를 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  15. 제 11 항에 있어서,
    상기 오브젝트들 중 적어도 하나에 대해, 매칭 오브젝트를 식별하는 단계는,
    오브젝트에 대해, 다른 오브젝트들 모두에 대한 탐색을 수행함으로써 후보 매칭 오브젝트들을 식별하는 단계;
    상기 후보 매칭 오브젝트들로부터, 매칭 오브젝트를 이미 가진 오브젝트들 모두를 제거하는 단계;
    나머지 후보 매칭 오브젝트들 각각에 대해, 매칭 기준을 평가하는 단계; 및
    상기 나머지 후보 매칭 오브젝트들 중 하나를, 평가된 매칭 기준에 기초하여 상기 오브젝트에 대한 상기 매칭 오브젝트로서 선택하는 단계를 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  16. 제 15 항에 있어서,
    상기 나머지 후보 매칭 오브젝트들 중 하나는, 평가된 매칭 기준에 대한 최고 값(highest value)을 갖는 상기 후보 매칭 오브젝트에 기초하여 상기 매칭 오브젝트로서 선택되는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  17. 제 15 항에 있어서,
    상기 나머지 후보 매칭 오브젝트들을, 상보적 스펙트럼으로부터 피크들을 갖는 오브젝트들 및 주파수에 있어 근방에 있는 피크들을 갖는 오브젝트들로 제한하는 단계를 더 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  18. 제 15 항에 있어서,
    후보 매칭 오브젝트들을 갖지 않는 오브젝트를 식별하는 단계; 및
    상기 오브젝트의 주파수와 동일한 주파수를 갖고 그리고 0의 진폭을 갖는 가상의 피크를 생성하는 단계를 더 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  19. 제 15 항에 있어서,
    후보 매칭 오브젝트들을 갖지 않는 오브젝트를 식별하는 단계; 및
    상기 복수의 오브젝트들로부터 상기 오브젝트를 제거하는 단계를 더 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
  20. 오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법으로서,
    오디오 신호의 세그먼트들의 스펙트럼을 컴퓨팅하는 단계 ―상기 세그먼트들은 상기 오디오 신호의 누락 세그먼트의 제 1 측 및 제 2 측들 상에 위치됨―;
    컴퓨팅된 스펙트럼의 크기 피크들을 결정하는 단계;
    결정된 피크들을 크기에 따라 정렬하는 단계;
    최고 피크(highest peak)로 시작하여 크기에 따라 정렬된 상기 피크들로부터 상기 누락 세그먼트의 제 1 측 및 제 2 측 상에 있는 근방 피크들을 결정함으로써 스펙트럼 피크들의 쌍들을 형성하는 단계;
    상기 누락 세그먼트에 대한 복원 데이터를 생성하기 위해서 상기 오디오 신호의 상기 누락 세그먼트의 간격에 걸쳐 보간을 수행하는 단계 ― 상기 간격의 길이는, 상기 오디오 신호의 페이즈 오프셋을 이용한 상기 보간에 의해 생성된 보간된 신호에 대한 페이즈 오프셋의 정렬에 기초하여 결정됨 ―; 및
    상기 오디오 신호의 연속성을 복원하기 위해 상기 생성된 복원 데이터를 사용하는 단계를 포함하는,
    오디오 신호의 연속성을 복원하기 위한 컴퓨터 구현 방법.
KR1020187011991A 2014-02-28 2015-02-27 누락 데이터에 대한 사인곡선 보간 KR102188620B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/194,192 2014-02-28
US14/194,192 US9672833B2 (en) 2014-02-28 2014-02-28 Sinusoidal interpolation across missing data
PCT/US2015/017992 WO2015131040A1 (en) 2014-02-28 2015-02-27 Sinusoidal interpolation across missing data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167020196A Division KR20160102061A (ko) 2014-02-28 2015-02-27 누락 데이터에 대한 사인곡선 보간

Publications (2)

Publication Number Publication Date
KR20180049182A true KR20180049182A (ko) 2018-05-10
KR102188620B1 KR102188620B1 (ko) 2020-12-08

Family

ID=52686491

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187011991A KR102188620B1 (ko) 2014-02-28 2015-02-27 누락 데이터에 대한 사인곡선 보간
KR1020167020196A KR20160102061A (ko) 2014-02-28 2015-02-27 누락 데이터에 대한 사인곡선 보간

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167020196A KR20160102061A (ko) 2014-02-28 2015-02-27 누락 데이터에 대한 사인곡선 보간

Country Status (8)

Country Link
US (1) US9672833B2 (ko)
EP (1) EP3111444B1 (ko)
JP (1) JP6306718B2 (ko)
KR (2) KR102188620B1 (ko)
CN (1) CN105940380B (ko)
AU (1) AU2015222922B2 (ko)
BR (1) BR112016015557B1 (ko)
WO (1) WO2015131040A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3107097B1 (en) * 2015-06-17 2017-11-15 Nxp B.V. Improved speech intelligilibility
US10141005B2 (en) 2016-06-10 2018-11-27 Apple Inc. Noise detection and removal systems, and related methods
CN108922551B (zh) * 2017-05-16 2021-02-05 博通集成电路(上海)股份有限公司 用于补偿丢失帧的电路及方法
CN111640442B (zh) * 2020-06-01 2023-05-23 北京猿力未来科技有限公司 处理音频丢包的方法、训练神经网络的方法及各自的装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054525A1 (en) * 2001-01-22 2004-03-18 Hiroshi Sekiguchi Encoding method and decoding method for digital voice data
KR20050085761A (ko) * 2002-12-19 2005-08-29 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 인코딩에서의 사인곡선 선택
US20100228542A1 (en) * 2007-11-15 2010-09-09 Huawei Technologies Co., Ltd. Method and System for Hiding Lost Packets

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3649765A (en) * 1969-10-29 1972-03-14 Bell Telephone Labor Inc Speech analyzer-synthesizer system employing improved formant extractor
JPH06130998A (ja) * 1992-10-22 1994-05-13 Oki Electric Ind Co Ltd 圧縮音声復号化装置
US5517595A (en) * 1994-02-08 1996-05-14 At&T Corp. Decomposition in noise and periodic signal waveforms in waveform interpolation
DE69633164T2 (de) * 1995-05-22 2005-08-11 Ntt Mobile Communications Network Inc. Tondekoder
US6377915B1 (en) * 1999-03-17 2002-04-23 Yrp Advanced Mobile Communication Systems Research Laboratories Co., Ltd. Speech decoding using mix ratio table
US7143032B2 (en) * 2001-08-17 2006-11-28 Broadcom Corporation Method and system for an overlap-add technique for predictive decoding based on extrapolation of speech and ringinig waveform
US6747581B2 (en) * 2002-02-01 2004-06-08 Octiv, Inc. Techniques for variable sample rate conversion
US20040002856A1 (en) * 2002-03-08 2004-01-01 Udaya Bhaskar Multi-rate frequency domain interpolative speech CODEC system
US20070112573A1 (en) * 2002-12-19 2007-05-17 Koninklijke Philips Electronics N.V. Sinusoid selection in audio encoding
US7519535B2 (en) * 2005-01-31 2009-04-14 Qualcomm Incorporated Frame erasure concealment in voice communications
EP1881487B1 (en) * 2005-05-13 2009-11-25 Panasonic Corporation Audio encoding apparatus and spectrum modifying method
US9208821B2 (en) * 2007-08-06 2015-12-08 Apple Inc. Method and system to process digital audio data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054525A1 (en) * 2001-01-22 2004-03-18 Hiroshi Sekiguchi Encoding method and decoding method for digital voice data
KR20050085761A (ko) * 2002-12-19 2005-08-29 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 인코딩에서의 사인곡선 선택
US20100228542A1 (en) * 2007-11-15 2010-09-09 Huawei Technologies Co., Ltd. Method and System for Hiding Lost Packets

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MATHIEU LAGRANGE, et al. Long Interpolation of Audio Signals Using Linear Prediction in Sinusoidal Modeling. Journal of the Audio Engineering Society. Vol.53,N0.10, 2005.10., pp.891-905. *

Also Published As

Publication number Publication date
EP3111444B1 (en) 2020-09-02
JP2017509006A (ja) 2017-03-30
AU2015222922B2 (en) 2017-12-07
EP3111444A1 (en) 2017-01-04
KR102188620B1 (ko) 2020-12-08
KR20160102061A (ko) 2016-08-26
BR112016015557A2 (ko) 2017-10-03
BR112016015557B1 (pt) 2022-11-29
CN105940380B (zh) 2019-03-15
AU2015222922A1 (en) 2016-06-23
CN105940380A (zh) 2016-09-14
US9672833B2 (en) 2017-06-06
WO2015131040A1 (en) 2015-09-03
US20150248893A1 (en) 2015-09-03
JP6306718B2 (ja) 2018-04-04

Similar Documents

Publication Publication Date Title
US9330672B2 (en) Frame loss compensation method and apparatus for voice frame signal
US8515085B2 (en) Signal processing apparatus
KR102132500B1 (ko) 조화성 기반 단일 채널 음성 품질 추정 기법
RU2759716C2 (ru) Устройство и способ оценки задержки
WO2008066265A1 (en) Frame error concealment method and apparatus and error concealment scheme construction method and apparatus
US5774836A (en) System and method for performing pitch estimation and error checking on low estimated pitch values in a correlation based pitch estimator
KR102188620B1 (ko) 누락 데이터에 대한 사인곡선 보간
JP2013537324A (ja) ピッチラグを推定すること
Halperin et al. Dynamic temporal alignment of speech to lips
US20130208903A1 (en) Reverberation estimator
WO2021093808A1 (zh) 一种有效语音信号的检测方法、装置及设备
JP6641027B2 (ja) チャネル間時間差パラメータの安定性を増加させるための方法および装置
WO2014123469A1 (en) Enhanced audio frame loss concealment
EP0882287A1 (en) System and method for error correction in a correlation-based pitch estimator
US20190057705A1 (en) Methods and apparatus to identify a source of speech captured at a wearable electronic device
JP5395399B2 (ja) 携帯端末、拍位置推定方法および拍位置推定プログラム
US20160254003A1 (en) Digital watermark detecting device, method, and program
JP4413175B2 (ja) 非定常雑音判別方法、その装置、そのプログラム及びその記録媒体
JP4691079B2 (ja) 音声信号区間推定装置、方法、プログラムおよびこれを記録した記録媒体
US11004463B2 (en) Speech processing method, apparatus, and non-transitory computer-readable storage medium for storing a computer program for pitch frequency detection based upon a learned value
JP2001222289A (ja) 音響信号分析方法及び装置並びに音声信号処理方法及び装置
KR101261528B1 (ko) 복호화된 오디오 신호의 오류 은폐 방법 및 장치
US10636438B2 (en) Method, information processing apparatus for processing speech, and non-transitory computer-readable storage medium
JP6618885B2 (ja) 音声区間検出装置、音声区間検出方法、プログラム
JPS63281200A (ja) 音声区間検出方式

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant