KR20230134856A - 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법 - Google Patents

정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법 Download PDF

Info

Publication number
KR20230134856A
KR20230134856A KR1020220032180A KR20220032180A KR20230134856A KR 20230134856 A KR20230134856 A KR 20230134856A KR 1020220032180 A KR1020220032180 A KR 1020220032180A KR 20220032180 A KR20220032180 A KR 20220032180A KR 20230134856 A KR20230134856 A KR 20230134856A
Authority
KR
South Korea
Prior art keywords
block
signal
flow
inverse
flow block
Prior art date
Application number
KR1020220032180A
Other languages
English (en)
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 KR1020220032180A priority Critical patent/KR20230134856A/ko
Priority to US18/150,126 priority patent/US20230298603A1/en
Publication of KR20230134856A publication Critical patent/KR20230134856A/ko

Links

Images

Classifications

    • 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
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명에 따른 프로세서에 의해서 수행되는 입력 오디오 신호를 부호화 및 복호화 하는 방법에 있어서, 하나 이상의 플로우 블록 및 하나 이상의 분할 블록을 이용해 상기 입력 오디오 신호를 부호화 하는 단계, 하나 이상의 양자화 블록 및 대응되는 하나 이상의 역 양자화 블록을 이용해 상기 부호화된 신호를 복호화 단계로 전달하는 단계, 및 하나 이상의 역 플로우 블록 및 하나 이상의 모음 블록을 이용해 상기 전달 받은 부호화된 신호를 복호화 하여 복원 신호를 출력하는 단계를 포함한다.

Description

정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법{METHOD FOR ENCODING AND DECODING AUDIO SIGNAL USING NORMALIZATION FLOW, AND TRAINING METHOD THEREOF}
본 발명은 오디오 신호를 부호화 및 복호화 하는 기술에 관한 것으로, 보다 상세하게는, 정규화 플로우를 활용한 생성자를 이용하여 오디오 신호를 부호화 하고, 복호화 하는 방법 및 그 학습 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다.
종래 오디오 압축 기술 중 손실 압축 기반 방식은 오디오 신호 내에서 일부 신호 성분을 제거함으로써, 오디오 신호를 장치에 저장하거나 통신을 위해 전송하는 데 필요한 정보의 양을 감소시킨다. 여기서, 심리음향적(Psychoacoustic) 지식을 바탕으로 제거할 신호 성분을 결정함으로써, 일부 신호의 상실로 인해 발생하는 왜곡이 가급적 일반적인 청취자들에게 적게 인지될 수 있도록 한다.
그 대표적인 예로, MP3나 AAC 같이 현재 다양한 멀티미디어 서비스에서 활용되고 있는 주요 오디오 코덱들은 MDCT(Modified Discrete Cosine Transform)와 같은 전통적인 신호 변환 기술을 이용해 신호를 구성하는 주파수 성분을 분석한 뒤, 다양한 청취 실험을 통해 설계된 심리음향모델(Psychoacoustic Model)을 기반으로 각 주파수 성분이 실제로 사람에게 인지되는 정도 및 보다 낮은 비트를 부호화에 할당하였을 때의 왜곡 정도를 판단하여, 그 중요도에 따라 각 주파수 성분에 할당할 비트의 수를 결정한다. 그 결과 현재 상용 코덱들은 약 7배에서 10배 정도의 압축률에서도 일반 청취자가 원본 신호와 구분이 불가능한 수준의 압축 복원 품질을 달성하고 있다.
최근에는 전술한 바와 같은 전통적인 신호 처리 방식에서 벗어나, 급격히 발전하고 있는 심층 신경망 기반 딥러닝 기술을 오디오 신호의 압축에 접목하고자 하는 시도가 널리 이루어지고 있다. 상기 딥러닝 기술을 오디오 코덱에 적용하기 위한 가장 간단한 방법은 주파수 변환 및 역 변환 과정을 딥러닝 네트워크로 대체하는 것이다. 예를 들면, 오토인코더(Auto-Encoder)로 알려져 있는 간단한 구조를 사용하면, 오디오 코덱의 부호화 및 복호화 과정을 대체할 수 있다. 그러나, 이 방법은 성능이 높지 않으므로 더 적합한 방법은 생성 모델(Generative Model) 기반의 딥 러닝 네트워크를 사용하는 필요성이 있다.
플로우 기반 딥러닝 생성 모델을 음성신호처리에 적용한 예로는 뉴럴 보코더(Neural Vocoder) 기술인 웨이브글로우(WaveGlow)가 있다. 상기 웨이브글로우(WaveGlow)는 데이터의 차원을 이분(bipartite)하여 아핀(Affine) 변환하는 함수로 확률 분포를 모델링하고, 1x1 가역성(Invertible) 필터링 된 데이터에 대한 아핀(Affine) 커플링 층을 설계함으로써, 데이터의 각 성분 조합을 일반화하여 데이터의 확률 분포를 효과적으로 모델링 할 수 있다. 특히, 생성될 샘플의 특성을 정해주는 역할을 하는 조건 벡터로 멜-스펙트로그램을 이용하여 플로우 기반 생성 모델의 딥 러닝 네트워크에 통과함으로써 음성 신호를 생성한다. 상기 웨이브글로우(WaveGlow)는 멜-스펙트로그램만으로 음성 파형을 만들어내는 뉴럴 보코더(Neural Vocoder)로써 효율적인 결과를 가져왔으나, 원본 음성을 생성하는 데는 성능적으로 제한이 있었다.
본 발명의 목적은 음향 신호의 부호화 및 복호화를 위한 종단간 심층 신경망 구조를 구성하는데 있어서, 정규화 플로우를 활용하여 부호화 및 복호화를 수행하도록 함으로써 동일한 데이터 대비 복원 후 음향의 품질이 우수한 복호화 및 부호화 방법 및 장치를 제공하는데 있다.
본 발명의 다른 목적은 정규화 플로우를 활용하여 부호화 및 복호화를 수행하는 장치의 효과적인 학습 방법을 제공함으로써, 동일한 데이터 양 대비 복원 후 음향 품질이 우수한 부호화 및 복호화 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 프로세서에 의해서 수행되는, N개(N은 2이상의 자연수)의 플로우 블록(들)과 (N-1)개의 분할 블록(들)을 이용하여 입력 신호를 부호화하는 방법으로, 상기 N개의 플로우 블록(들) 중 k번째(k는 1이상 N-1 이하의 자연수) 플로우 블록이 입력 받은 신호를 잠재 표현으로 변환한 k번째 변환 신호를 상기 (N-1)개의 분할 블록(들) 중 k번째 분할 블록으로 전달하는 단계; 상기 k번째 분할 블록이 상기 k번째 변환 신호를 소정의 비율로 나누어, 제1 분할 신호와 제2 분할 신호로 나누는 단계; 상기 k번째 분할 블록이 상기 제1 분할 신호를 (k+1) 번째 플로우 블록에 전달하는 단계; 및 N번째 플로우 블록이 변환한 신호 및 상기 제2 분할 신호들을 양자화 블록을 이용하여 양자화 하는 단계를 포함한다.
상기 플로우 블록은, 정규화 플로우 기반의 생성 모델을 적용하여 학습된 생성 모델일 수 있다.
상기 제2 분할 신호는, 부호화기가 사용되는 환경에 따라 선택적으로 상기 분할 블록의 외부에 전달 되지 않을 수 있다
상기 양자화 블록은, 상기 N번째 플로우 블록이 변환한 신호 및 상기 제2 분할 신호들마다 다른 양자화 스텝의 크기 값을 적용할 수 있다.
상기 양자화 블록은, 상기 제2 분할 신호들을 전달하는 상기 분할 블록의 k값이 커질수록 더 작은 양자화 스텝의 크기 값을 적용할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 프로세서에 의해서 수행되는, N개(N은 2이상의 자연수)의 역 플로우 블록(들)과 (N-1)개의 모음 블록(Gather Block)(들)을 이용하여 신호를 복호화 하는 방법으로, 상기 N개의 역 플로우 블록(들) 중 k번째(k는 1이상 N 이하의 자연수) 역 플로우 블록이 복원한 k번째 복원 신호를 상기 (N-1)개의 모음 블록(들) 중 (k-1)번째 모음 블록으로 전달하는 단계; 상기 (k-1)번째 모음 블록이 역 양자화 블록으로부터 전달 받은 분할 신호 및 상기 k번째 역 플로우 블록에서 전달 받은 복원 신호를 합하여, (k-1)번째 역 플로우 블록에 전달하는 단계; 및 k 값이 1인, 1번째 역 플로우 블록이 최종 복원 신호를 출력하는 단계를 포함한다.
상기 역 플로우 블록은, 정규화 플로우 기반의 생성 모델을 적용하여 학습된 생성 모델일 수 있다.
상기 (k-1)번째 모음 블록이 (k-1)번째 역 플로우 블록에 신호를 전달하는 단계는, 상기 역 양자화 블록으로부터 분할 신호를 수신하였는지 여부를 판단하는 단계를 더 포함할 수 있다.
상기 분할 신호를 수신하지 않았다고 판단된 경우, (k-1)번째 예측 블록을 통하여 생성된 예측 신호를 수신하는 단계를 더 포함할 수 있다.
상기 예측 블록은, 상기 예측 블록에 연결된 역 플로우 블록에서 전달받은 역 변환된 신호로부터 평균 및 분산을 추정하고, 추정된 평균 및 분산을 가지는 확률 분포로부터 예측 신호를 생성하여 상기 모음 블록에 전달할 수 있다.
상기 역 양자화 블록은, 상기 역 양자화 블록 마다 서로 다른 양자화 스텝의 크기 값을 적용할 수 있다.
상기 역 양자화 블록은, 상기 역 양자화 블록이 신호를 전달하는 상기 모음 블록의 k값이 커질수록 더 작은 양자화 스텝의 크기 값을 적용할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 프로세서에 의해서 수행되는, 오디오 신호의 부호화 및 복호화를 위한 학습 방법에 있어서, 하나 이상의 플로우 블록 및 하나 이상의 분할 블록을 이용하여 입력 오디오 신호를 부호화하여 부호화된 신호를 생성하는 단계(a); 하나 이상의 양자화 블록 및 대응되는 하나 이상의 역 양자화 블록을 이용하여 상기 부호화된 신호를 변환하여 생성된 변환 신호를 복호화기로 전달하는 단계(b); 하나 이상의 역 플로우 블록 및 하나 이상의 모음(Gather) 블록을 이용하여 상기 전달 받은 역 양자화 된 신호를 복호화 하여 복원 신호를 출력하는 단계(c); 하나 이상의 역 플로우 블록, 하나 이상의 모음 블록, 및 하나 이상의 예측 블록을 이용하여 복호화 하여 예측 복원 신호를 출력하는 단계(d); 및 상기 단계(a) 내지 상기 단계(d)를 반복적으로 수행하며 획득되는 상기 입력 오디오 신호, 상기 복원 신호, 및 상기 예측 복원 신호를 기반으로 산출되는 손실 함수의 값을 최소화 하도록 상기 플로우 블록, 상기 역 플로우 블록 및 상기 예측 블록을 학습시키는 단계를 포함한다.
상기 손실 함수는 중간 단계에서 추출 분할된 변환 신호를 조건부로 하는 음의 로그 우도(Negative Log Likelihood), 및 상기 원본 오디오 신호, 상기 복원 신호, 및 상기 예측 복원 신호 간 오차의 가중치의 합을 통해 산출될 수 있다.
상기 복원 신호를 생성하는 과정에서의 부호화 단계는, N개(N은 2이상의 자연수)의 플로우 블록(들)과 (N-1)개의 분할 블록(들)을 포함하여 수행되며, 상기 N개의 플로우 블록(들) 중 k번째(k는 1이상 N-1 이하의 자연수) 플로우 블록이 입력 받은 신호를 잠재 표현으로 변환한 k번째 변환 신호를 상기 (N-1)개의 분할 블록(들) 중 k번째 분할 블록으로 전달하는 단계; 상기 k번째 분할 블록이 상기 k번째 변환 신호를 소정의 비율로 나누어, 제1 분할 신호와 제2 분할 신호로 나누는 단계; 및 상기 k번째 분할 블록이 상기 제1 분할 신호를 (k+1) 번째 플로우 블록에 전달하고, 상기 제2 분할 신호들을 대응되는 양자화 블록으로 전달하는 단계를 더 포함할 수 있다.
상기 복원 신호를 생성하는 과정에서의 복호화 단계는, 선행하는 역 플로우 블록이 전달 받은 신호를 복호화 하는 단계(a); 상기 모음 블록이 선행하는 역 플로우 블록의 복호화 신호 및 역 양자화 블록으로부터 전달 받은 분할 신호를 수신하여 후행하는 역 플로우 블록에 전달하는 단계(b); 및 상기 단계(a) 내지 상기 단계(b)를 반복적으로 수행하며 상기 복원 신호를 출력하는 단계를 포함할 수 있다.
상기 예측 복원 신호를 생성하는 과정에서의 복호화 단계는, 역 플로우 블록이 입력 받은 신호를 복호화 하여 모음(Gather) 블록 및 예측 블록에 전달하는 단계(a); 상기 예측블록이 상기 전달 받은 복호화된 신호를 토대로 예측 신호를 생성하여 상기 모음 블록에 전달하는 단계(b); 상기 모음 블록은 상기 역 플로우 블록에서 전달 받은 신호 및 상기 예측 신호를 후행 역 플로우 블록에 전달하는 단계(c); 상기 모음 블록이 선행 역 플로우 블록의 복호화 신호 및 선행 예측 블록의 예측 신호를 후행 역 플로우 블록에 전달하는 단계(d); 및 상기 단계(a) 내지 단계(d)를 반복적으로 수행하며 예측 복원 신호를 출력하는 단계를 더 포함할 수 있다.
상기 손실 함수 값을 최소화 하는 단계는, 오차역전파(Backpropagation)를 통하여 상기 플로우 블록, 상기 역 플로우 블록 및 상기 예측 블록의 생성 모델의 가중치를 갱신하는 단계를 더 포함할 수 있다.
상기 플로우 블록 및 상기 역 플로우 블록은 가역 변환 함수가 적용되며, 상기 플로우 블록 및 대응되는 역 플로우 블록은 상호 역 변환 구조를 가질 수 있다.
본 발명에 의하면, 정규화 플로우 기반 생성 모델을 사용하여 압축률이 높고 품질이 우수한 오디오 부호화 및 복호화를 수행할 수 있다.
또한, 부호화 과정에서는 정규화 플로우 생성 모델을 이용함으로써 입력 오디오 신호를 플로우 기반 다수의 변환 신호로 압축 전송하며 복호화 과정에서는 이를 기반으로 정규화 플로우 기반 생성 모델의 역구조를 이용하여 원 오디오 신호를 복원하고, 변환 신호를 예측 생성함으로써 적은 비트율의 데이터 전송으로도 오디오 신호를 복원할 수 있다.
또한, 본 발명은 변환 신호들의 양자화 시, 각각의 정보량을 제어함으로써 오디오 코딩 효율을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치의 기능적 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치의 기능적 블록도이다.
도 3은 본 발명의 일 실시예에 따른 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치의 학습 과정을 보여주는 기능적 블록도이다.
도 4는 본 발명의 일 실시예에 따른 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치의 물리적 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 출원의 실시예들에서, "A 및 B 중에서 적어도 하나"는 "A 또는 B 중에서 적어도 하나" 또는 "A 및 B 중 하나 이상의 조합들 중에서 적어도 하나"를 의미할 수 있다. 또한, 본 출원의 실시예들에서, "A 및 B 중에서 하나 이상"은 "A 또는 B 중에서 하나 이상" 또는 "A 및 B 중 하나 이상의 조합들 중에서 하나 이상"을 의미할 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
주어진 데이터에 대한 확률 분포를 모델링 하는 기술을 생성 모델(Generative Model)이라 한다. 대표적인 생성 모델로는 가변 오토인코더(Variational Auto-encoder, VAE), 적대적 생성 신경망(Generative Adversarial Network, GAN), 정규화 플로우(Normalizing Flow) 등이 있다. 상기 가변 오토인코더와 상기 적대적 생성 신경망은 데이터의 확률 분포를 간접적으로 모델링하므로 최적화가 어렵고 학습이 불안정한 단점이 있다. 반면에, 정규화 플로우(normalizing flow) 기반 생성 모델은 주어진 데이터에 대한 확률 분포를 직접적으로 모델링 함으로써, 다른 생성 모델 기술에 비해 학습 불안정성이 적고, 잠재 변수에 대한 추론이 가능하며, 새로운 샘플 생성을 보다 빠르게 할 수 있다는 장점이 있다.
정규화 플로우 기반 생성 모델은 잠재 변수(latent variable, z)에 가역 변환 함수(fi)를 적용하여 변수 변환(change of variables)을 통해 주어진 데이터(x)에 대한 확률 변수를 모델링 할 수 있다. 여기서, 수학식 1과 같은 잠재 변수의 변환 과정을 플로우(flow)라고 하며, 데이터(x)를 모델링 하기 위한 변수 변환 과정을 정규화 플로우(Normalizing Flow)라고 한다.
정규화 플로우 기반 딥러닝 생성 모델의 목적 함수는 학습 데이터에 대한 음의 로그 우도(Negative Log-Likelihood)로 구할 수 있으며, 가역 변환 함수와 야코비 행렬식(Jacobian Determinant)을 구하기 쉬운 형태로 변수 변환 함수를 설계하여 학습 데이터에 대한 로그 우도를 계산 가능하게 할 수 있다. 이후 플로우 기반 딥러닝 생성 모델의 목적 함수 값이 최소화되도록 학습함으로써 데이터(x)의 확률 분포를 직접 모델링 할 수 있다. 참고로, 플로우 기반 딥러닝 생성 모델에서 야코비 행렬식을 구하기 쉬운 형태로 변수 변환 함수를 설계하기 위한 접근으로는 데이터 x를 이분(Bipartite)하여 변수 변환 함수(fi)를 아핀(Affine) 변환 함수로써 모델링하는 이분 플로우(Biopartite Flow) 방식과 변수 변환 함수(fi)를 자기회귀적 모델로 모델링하는 자기회귀적 플로우(Autoregressive Flow) 방식 등이 있다.
도 1은 본 발명의 일 실시예에 따른 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치의 기능적 블록도이다.
도 1을 참조하면, 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치는 플로우 블록(111, 112, 113) 및 분할 블록(121, 122)을 포함하는 부호화기(100), 역 플로우 블록(211, 212, 213) 및 모음 블록(221, 222)을 포함하는 복호화기(200), 양자화 블록(301, 311, 321) 및 역 양자화 블록(302, 312, 322)을 포함하는 양자화기를 포함한다.
상기 부호화기(100)는 부호화(Encoding)를 수행하는 장치를 의미할 수 있다. 말하자면, 부호화기(100)는 입력 받은 오디오 신호를 정규화 플로우를 이용하여 잠재 표현으로 변환시키는 부호화 장치일 수 있다. 상기 부호화기(100)는 적어도 하나의 플로우 블록(111, 112, 113) 및 적어도 하나의 분할 블록(121, 122)을 포함할 수 있다.
상기 적어도 하나의 플로우 블록(111, 112, 113)은 입력 받은 신호를 잠재 표현으로 변환할 수 있다. 상기 적어도 하나의 분할 블록(121, 122)은 입력 받은 신호를 소정의 비율로 분할할 수 있다. 상기 분할된 신호의 일부는 상기 분할 블록(121, 122)에 연결된 플로우 블록(112, 113)으로 전달되고, 분할된 잔여 신호는 상기 양자화기에 전달될 수 있다.
상기 양자화기는 상기 양자화 블록(301, 311, 321) 및 상기 역 양자화 블록을 더 포함하고, 상기 양자화 블록(301, 311, 321)은 상기 부호화기(100)에 의해 변환된 잠재 표현들을 압축하고, 상기 역 양자화 블록(302, 312, 322)은 상기 압축된 잠재 표현들을 다시 역 양자화하여 복호화기(200)에 전달하는 블록일 수 있다.
상기 복호화기(200)는 복호화(Decoding)를 수행하는 장치를 의미할 수 있다. 말하자면, 상기 복호화기(200)는 상기 역 양자화된 신호를 전달 받아 원신호를 복원하는 복호화 장치일 수 있다. 상기 복호화기(200)는 적어도 하나의 역 플로우 블록(211, 212, 213) 및 적어도 하나의 모음 블록(221, 222)을 더 포함할 수 있다.
상기 적어도 하나의 역 플로우 블록(211, 212, 213)은 상기 양자화기로부터 전달 받은 신호들을 역 플로우 변환하여 복원할 수 있다. 상기 적어도 하나의 모음 블록은 선행 역 플로우 블록(212, 213)에서 복원된 신호 및 대응되는 분할 블록에서 전달 받은 신호를 결합하여 후행 역 블로우 블록(211, 212)으로 전달할 수 있다.
여기서, 상기 역 플로우 블록(211, 212, 213)은 상기 플로우 블록(111, 112, 113)의 역 구조를 갖는다. 다시 말하면, 상기 역 플로우 블록(211, 212, 213)의 변환 함수는 상기 플로우 블록(111, 112, 113)의 변환 함수의 역함수 관계에 있을 수 있다.
다시 도 1을 참조하면, 입력된 오디오 신호()는 제1 플로우 블록(111)에 의해 제1 변환 신호로 변환될 수 있다. 상기 제1 변환 신호는 제1 분할 블록(121)에 의해 소정의 비율로 분할되어, 분할된 신호 중 하나의 신호는 제2 플로우 블록(112)에 전달되고, 잔여 신호()는 양자화기(301, 302)를 거쳐 대응되는 제1 모음 블록(221)에 전달될 수 있다.
또한, 상기 제2 플로우 블록(112)에 전달된 신호는 제2 플로우 블록(112)에 의해 제2 변환 신호로 변환될 수 있고. 상기 제2 변환 신호는 제2 분할 블록(122)에 의해 소정의 비율로 분할되어, 분할된 신호 중 하나의 신호는 제3 플로우 블록(113)에 전달되고, 잔여 신호()는 양자화기(311, 312)를 거쳐 대응되는 제2 모음 블록(222)에 전달될 수 있다.
상기 제3 플로우 블록(113)에 전달된 신호는 상기 제3 플로우 블록(113)에 의해 최종 변환 신호()로 변환되어, 상기 양자화기(321, 322)를 거쳐 대응되는 제3 역 플로우 블록(213)에 전달될 수 있다.
상기 제3 역 플로우 블록(213)은 전달 받은 신호()를 복원하여 제2 모음 블록(222)에 전달할 수 있다. 상기 제2 모음 블록(222)은 제3 역 플로우 블록(213)으로부터 전달 받은 신호 및 제2 분할 블록(122)으로부터 전달 받은 신호()를 제2 역 플로우 블록(212)에 전달 할 수 있다. 제2 역 플로우 블록(212)은 입력 받은 신호를 복원하여, 상기 제1 모음 블록(221)에 전달하며, 상기 제1 모음 블록(221)은 상기 제2 역 플로우 블록(212)로부터 전달 받은 복원 신호 및 상기 제1 분할 블록(121)으로부터 전달 받은 신호()를 제1 역 플로우 블록(211)으로 전달할 수 있다. 상기 제1 역 플로우 블록(211)은 상기 제1 모음 블록(221)으로부터 전달 받은 신호를 복원하여 최종 복원 신호()를 출력할 수 있다.
상기와 같이, 정규화 플로우 과정 중에 분할 추출된 변환 신호()는 입력 오디오 신호()를 각 플로우 블록에서 다중 스케일 구조로 변환하는 잠재 신호 모델링 효과를 가져올 수 있다.
또한, 각 정규화 플로우 단계 별 변환 신호의 엔트로피가 다르므로, 정규화 플로우 중간 단계에서 추출한 변환 신호들()과 정규화 플로우 최종 변환 신호()의 양자화 단계의 양자화 스텝 크기를 다르게 적용하여 양자화 할 수 있다. 특히, 부호화기에서 추출된 순서로 변환 신호의 양자화 스텝 크기를 크게 함으로써 코딩 음질은 유지하면서도 비트율을 낮출 수 있다. 다시 말하면, 상기 제1 분할 블록에서 분할된 신호()의 양자화 스텝의 크기보다 상기 제2 분할 블록에서 분할된 신호()의 양자화 스텝의 크기가 더 작을 수 있다. 또한, 상기 제2 분할 블록에서 분할된 신호()의 양자화 스텝의 크기가 최종 변환 신호()의 양자화 스텝의 크기보다 더 클 수 있다.
도 2는 본 발명의 다른 실시예에 따른 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치의 기능적 블록도이다.
전송 환경 등을 고려하여 비트율을 제안하기 위해 부호화기에서 의도적으로 중간 단계의 변환 신호를 출력하지 않거나, 또는 전송 상황 상 전송된 중간 단계의 변환 신호가 존재하지 않는 경우, 상기 복호화기(200)는 예측 블록(401)을 더 포함 할 수 있다.
상기 예측 블록(401, 402)은 선행 역 플로우 블록(212, 213)에서 역 변환된 신호를 입력 받아 기 가정한 확률분포의 파라미터인 평균과 분산을 추정하고 추정된 확률분포로부터 샘플링하여 상기 역 변환된 신호로부터 변환 신호를 예측할 수 있고, 예측 신호를 후행 모음 블록(221, 222)에 전달 할 수 있다.
도 2를 참조하면, 상기 부호화기(100)에서 상기 제1 모음 블록(221)으로 전달되는 중간 변환 신호()가 없는 경우, 상기 제1 모음 블록(221)은 상기 제2 역 플로우 블록(212)에서 복원된 신호, 및 상기 예측 블록(401)이 상기 제2 역 플로우 블록(212)에서 복원된 신호를 입력 받아 예측한 변환 신호인 예측 신호를 입력 받아 제1 역 플로우 블록에 전달할 수 있다. 상기 부호화기(100)에서 상기 제1 모음 블록(221)으로 전달되는 중간 변환 신호()가 없는 경우를 예로 들었으나, 이에 한정되지 않고, 상기 부호화기에서 상기 제2 모음 블록(222)으로 전달되는 신호()가 없는 경우에도 마찬가지로 상기 예측 블록을 이용하여 복호화 할 수 있다.
본 발명에 의한 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 장치가 사용되는 환경에 따라, 비트율에 제한이 없는 경우에는 중간 전달 신호() 및 최종 변환 신호()를 활용하여 입력되는 오디오 신호를 부호화 및 복호화 할 수 있고, 최종 변환 신호() 및 예측 블록을 활용하여 비트율을 최소화 할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 장치의 학습 과정을 보여주는 기능적 블록도이다.
도 3을 참조하면, 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 장치의 학습 과정은 분할 블록을 통해 분할된 중간 전달 신호() 및 최종 변환 신호()를 통해 복호화기(200)에서 복원한 신호(), 부호화기에서 출력되는 최종 변환 신호()만 전달 받고, 중간 전달 신호() 없이 예측 블록(401, 402)을 이용하여 출력한 복원 신호(), 및 부호화기에 입력된 원본 오디오 신호()를 이용하여 손실 함수를 계산하고, 계산된 손실 함수 값을 최소화하도록 하여, 플로우 블록, 역 플로우 블록 및 예측 블록들이 학습될 수 있다. 여기서, 손실함수 값을 최소화하도록 역전파를 통해 플로우 기반 생성 모델의 가중치를 업데이트 하며 생성 모델의 학습이 수행될 수 있다.
상기 손실함수는 정규화 플로우 기반 생성모델의 손실 함수인 음의 로그 우도(Negative Log Likelihood), 및 원본 신호와 복원 신호 간 오차의 가중치 합으로 계산될 수 있다. 정규화 플로우 기반 생성모델의 손실 함수는 정규화 플로우 중간 단계에서 추출 분할된 변환 신호를 조건부로 하여 음의 로그 우도를 수학식 2와 같이 계산할 수 있으며, 원본 신호와 복원 신호 간 오차는 수학식 3과 같은 평균 제곱 오차(Mean Squared Error, MSE)로 계산할 수 있다.
상기 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 장치의 학습 방법은 잠재 변수 신호의 확률 분포를 미리 가정하고 이를 학습 과정에 반영할 수 있으므로 오디오 부호화에 더욱 적합한 형태의 데이터 분포를 갖는 잠재변수 신호를 생성하여 압축 효율을 높일 수 있다.
또한, 정규화 플로우 중간 단계에서 추출한 변환 신호들과 정규화 플로우 최종 변환 신호의 양자화 방법을 다르게 적용하여 압축효율을 높일 수 있다. 이것은 각 정규화 플로우 단계 별 변환 신호의 엔트로피가 다름에 근거하며 일 실시예로는, 부호화기에서 추출된 순서로 변환 신호의 양자화 스텝의 크기를 작게 함으로써 코딩 음질은 유지하면서도 비트율을 낮출 수 있다.
도 4는 본 발명의 일 실시예에 따른 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치의 물리적 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예의 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치는 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 상기 적어도 하나의 명령은 상기 프로세서가, 하나 이상의 플로우 블록 및 하나 이상의 분할 블록을 이용해 상기 입력 오디오 신호를 부호화 하고, 하나 이상의 양자화 블록 및 대응되는 하나 이상의 역 양자화 블록을 이용해 상기 부호화된 신호를 복호화 단계로 전달하고, 하나 이상의 역 플로우 블록 및 하나 이상의 모음 블록을 이용해 상기 전달 받은 부호화된 신호를 복호화 하여 복원 신호를 출력하도록 구성된다.
프로세서(510)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.
메모리(520) 및 저장 장치(560) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(520)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
또한, 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치는 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver, 530)를 포함할 수 있다.
또한, 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치는 상기 오디오 신호를 입력 받을 수 있는 입력 인터페이스 장치(540), 상기 복원 신호를 출력할 수 있는 출력 인터페이스 장치(550), 학습데이터를 저장할 수 있는 저장 장치(560) 등을 더 포함할 수 있다.
정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치는 포함된 각각의 구성 요소들은 버스(bus)(570)에 의해 연결되어 서로 통신을 수행할 수 있다.
본 발명의 정규화 플로우를 활용한 오디오 신호 부호화 및 복호화 하는 장치 의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
또한, 본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 부호화기 111, 112, 113 플로우 블록
121, 122 분할 블록 200 복호화기
211, 212, 213 역 플로우 블록 221, 222 모음 블록
301, 311, 321 양자화 블록 302, 312, 322 역 양자화 블록
401, 402 예측 블록 510 프로세서
520 메모리 530 송수신 장치
540 입력 인터페이스 장치 550 출력 인터페이스 장치
560 저장 장치 570 버스

Claims (19)

  1. 프로세서에 의해서 수행되는, N개(N은 2이상의 자연수)의 플로우 블록(들)과 (N-1)개의 분할 블록(들)을 이용하여 입력 신호를 부호화하는 방법으로,
    상기 N개의 플로우 블록(들) 중 k번째(k는 1이상 N-1 이하의 자연수) 플로우 블록이 입력 받은 신호를 잠재 표현으로 변환한 k번째 변환 신호를 상기 (N-1)개의 분할 블록(들) 중 k번째 분할 블록으로 전달하는 단계;
    상기 k번째 분할 블록이 상기 k번째 변환 신호를 소정의 비율로 나누어, 제1 분할 신호와 제2 분할 신호로 나누는 단계;
    상기 k번째 분할 블록이 상기 제1 분할 신호를 (k+1) 번째 플로우 블록에 전달하는 단계; 및
    N번째 플로우 블록이 변환한 신호 및 상기 제2 분할 신호들을 양자화 블록을 이용하여 양자화 하는 단계를 포함하는,
    부호화 방법.
  2. 청구항 1에 있어서,
    상기 플로우 블록은,
    정규화 플로우 기반의 생성 모델을 적용하여 학습된 생성 모델인 것을 특징으로 하는,
    부호화 방법.
  3. 청구항 1에 있어서,
    상기 제2 분할 신호는,
    부호화기가 사용되는 환경에 따라 선택적으로 상기 분할 블록의 외부에 전달 되지 않는 것을 특징으로 하는,
    부호화 방법.
  4. 청구항 3에 있어서,
    상기 양자화 블록은,
    상기 N번째 플로우 블록이 변환한 신호 및 상기 제2 분할 신호들마다 다른 양자화 스텝의 크기 값을 적용하는 것을 특징으로 하는,
    부호화 방법.
  5. 청구항 4에 있어서,
    상기 양자화 블록은,
    상기 제2 분할 신호들을 전달하는 상기 분할 블록의 k값이 커질수록 더 작은 양자화 스텝의 크기 값을 적용하는 것을 특징으로 하는,
    부호화 방법.
  6. 프로세서에 의해서 수행되는, N개(N은 2이상의 자연수)의 역 플로우 블록(들)과 (N-1)개의 모음 블록(Gather Block)(들)을 이용하여 신호를 복호화 하는 방법으로,
    상기 N개의 역 플로우 블록(들) 중 k번째(k는 1이상 N 이하의 자연수) 역 플로우 블록이 복원한 k번째 복원 신호를 상기 (N-1)개의 모음 블록(들) 중 (k-1)번째 모음 블록으로 전달하는 단계;
    상기 (k-1)번째 모음 블록이 역 양자화 블록으로부터 전달 받은 분할 신호 및 상기 k번째 역 플로우 블록에서 전달 받은 복원 신호를 합하여, (k-1)번째 역 플로우 블록에 전달하는 단계; 및
    k 값이 1인, 1번째 역 플로우 블록이 최종 복원 신호를 출력하는 단계를 포함하는,
    복호화 방법.
  7. 청구항 6에 있어서,
    상기 역 플로우 블록은,
    정규화 플로우 기반의 생성 모델을 적용하여 학습된 생성 모델인 것을 특징으로 하는,
    복호화 방법.
  8. 청구항 6에 있어서,
    상기 (k-1)번째 모음 블록이 (k-1)번째 역 플로우 블록에 신호를 전달하는 단계는,
    상기 역 양자화 블록으로부터 분할 신호를 수신하였는지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는,
    복호화 방법.
  9. 청구항 8에 있어서,
    상기 분할 신호를 수신하지 않았다고 판단된 경우,
    (k-1)번째 예측 블록을 통하여 생성된 예측 신호를 수신하는 단계를 더 포함하는,
    복호화 방법.
  10. 청구항 9에 있어서,
    상기 예측 블록은,
    상기 예측 블록에 연결된 역 플로우 블록에서 전달받은 역 변환된 신호로부터 평균 및 분산을 추정하고, 추정된 평균 및 분산을 가지는 확률 분포로부터 예측 신호를 생성하여 상기 모음 블록에 전달하는 것을 특징으로 하는,
    복호화 방법.
  11. 청구항 6에 있어서,
    상기 역 양자화 블록은,
    상기 역 양자화 블록 마다 서로 다른 양자화 스텝의 크기 값을 적용하는 것을 특징으로 하는,
    복호화 방법.
  12. 청구항 11에 있어서,
    상기 역 양자화 블록은,
    상기 역 양자화 블록이 신호를 전달하는 상기 모음 블록의 k값이 커질수록 더 작은 양자화 스텝의 크기 값을 적용하는 것을 특징으로 하는,
    복호화 방법.
  13. 프로세서에 의해서 수행되는, 오디오 신호의 부호화 및 복호화를 위한 학습 방법에 있어서,
    하나 이상의 플로우 블록 및 하나 이상의 분할 블록을 이용하여 입력 오디오 신호를 부호화하여 부호화된 신호를 생성하는 단계(a);
    하나 이상의 양자화 블록 및 대응되는 하나 이상의 역 양자화 블록을 이용하여 상기 부호화된 신호를 변환하여 생성된 변환 신호를 복호화기로 전달하는 단계(b);
    하나 이상의 역 플로우 블록 및 하나 이상의 모음(Gather) 블록을 이용하여 상기 전달 받은 역 양자화 된 신호를 복호화 하여 복원 신호를 출력하는 단계(c);
    하나 이상의 역 플로우 블록, 하나 이상의 모음 블록, 및 하나 이상의 예측 블록을 이용하여 복호화 하여 예측 복원 신호를 출력하는 단계(d); 및
    상기 단계(a) 내지 상기 단계(d)를 반복적으로 수행하며 획득되는 상기 입력 오디오 신호, 상기 복원 신호, 및 상기 예측 복원 신호를 기반으로 산출되는 손실 함수의 값을 최소화 하도록 상기 플로우 블록, 상기 역 플로우 블록 및 상기 예측 블록을 학습시키는 단계를 포함하는,
    학습 방법.
  14. 청구항 13에 있어서,
    상기 손실 함수는 중간 단계에서 추출 분할된 변환 신호를 조건부로 하는 음의 로그 우도(Negative Log Likelihood), 및 상기 원본 오디오 신호, 상기 복원 신호, 및 상기 예측 복원 신호 간 오차의 가중치의 합을 통해 산출되는 것을 특징으로 하는,
    학습 방법.
  15. 청구항 13에 있어서,
    상기 복원 신호를 생성하는 과정에서의 부호화 단계는,
    N개(N은 2이상의 자연수)의 플로우 블록(들)과 (N-1)개의 분할 블록(들)을 포함하여 수행되며,
    상기 N개의 플로우 블록(들) 중 k번째(k는 1이상 N-1 이하의 자연수) 플로우 블록이 입력 받은 신호를 잠재 표현으로 변환한 k번째 변환 신호를 상기 (N-1)개의 분할 블록(들) 중 k번째 분할 블록으로 전달하는 단계;
    상기 k번째 분할 블록이 상기 k번째 변환 신호를 소정의 비율로 나누어, 제1 분할 신호와 제2 분할 신호로 나누는 단계; 및
    상기 k번째 분할 블록이 상기 제1 분할 신호를 (k+1) 번째 플로우 블록에 전달하고, 상기 제2 분할 신호들을 대응되는 양자화 블록으로 전달하는 단계를 더 포함하는 것을 특징으로 하는,
    학습 방법.
  16. 청구항 15에 있어서,
    상기 복원 신호를 생성하는 과정에서의 복호화 단계는,
    선행하는 역 플로우 블록이 전달 받은 신호를 복호화 하는 단계(a);
    상기 모음 블록이 선행하는 역 플로우 블록의 복호화 신호 및 역 양자화 블록으로부터 전달 받은 분할 신호를 수신하여 후행하는 역 플로우 블록에 전달하는 단계(b); 및
    상기 단계(a) 내지 상기 단계(b)를 반복적으로 수행하며 상기 복원 신호를 출력하는 단계를 포함하는 것을 특징으로 하는,
    학습 방법.
  17. 청구항 13에 있어서,
    상기 예측 복원 신호를 생성하는 과정에서의 복호화 단계는,
    역 플로우 블록이 입력 받은 신호를 복호화 하여 모음(Gather) 블록 및 예측 블록에 전달하는 단계(a);
    상기 예측블록이 상기 전달 받은 복호화된 신호를 토대로 예측 신호를 생성하여 상기 모음 블록에 전달하는 단계(b);
    상기 모음 블록은 상기 역 플로우 블록에서 전달 받은 신호 및 상기 예측 신호를 후행 역 플로우 블록에 전달하는 단계(c);
    상기 모음 블록이 선행 역 플로우 블록의 복호화 신호 및 선행 예측 블록의 예측 신호를 후행 역 플로우 블록에 전달하는 단계(d); 및
    상기 단계(a) 내지 단계(d)를 반복적으로 수행하며 예측 복원 신호를 출력하는 단계를 더 포함하는 것을 특징으로 하는,
    학습 방법.
  18. 청구항 13에 있어서,
    상기 손실 함수 값을 최소화 하는 단계는,
    오차역전파(Backpropagation)를 통하여 상기 플로우 블록, 상기 역 플로우 블록 및 상기 예측 블록의 생성 모델의 가중치를 갱신하는 단계를 더 포함하는,
    학습 방법.
  19. 청구항 13에 있어서,
    상기 플로우 블록 및 상기 역 플로우 블록은 가역 변환 함수가 적용되며, 상기 플로우 블록 및 대응되는 역 플로우 블록은 상호 역 변환 구조를 갖는 것을 특징으로 하는,
    학습 방법.
KR1020220032180A 2022-03-15 2022-03-15 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법 KR20230134856A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220032180A KR20230134856A (ko) 2022-03-15 2022-03-15 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법
US18/150,126 US20230298603A1 (en) 2022-03-15 2023-01-04 Method for encoding and decoding audio signal using normalizing flow, and training method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220032180A KR20230134856A (ko) 2022-03-15 2022-03-15 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법

Publications (1)

Publication Number Publication Date
KR20230134856A true KR20230134856A (ko) 2023-09-22

Family

ID=88067219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220032180A KR20230134856A (ko) 2022-03-15 2022-03-15 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법

Country Status (2)

Country Link
US (1) US20230298603A1 (ko)
KR (1) KR20230134856A (ko)

Also Published As

Publication number Publication date
US20230298603A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
JP6364518B2 (ja) オーディオ信号符号化及び復号化方法並びにオーディオ信号符号化及び復号化装置
JP6174266B2 (ja) ブラインド帯域幅拡張のシステムおよび方法
RU2530926C2 (ru) Изменение формы шума округления для основанных на целочисленном преобразовании кодирования и декодирования аудио и видеосигнала
CN115050378B (zh) 音频编解码方法及相关产品
US11990148B2 (en) Compressing audio waveforms using neural networks and vector quantizers
CN103971693A (zh) 高频带信号的预测方法、编/解码设备
US11526734B2 (en) Method and apparatus for recurrent auto-encoding
CN113763973A (zh) 音频信号增强方法、装置、计算机设备和存储介质
JP7167335B2 (ja) 生成モデルを用いたレート品質スケーラブル符号化のための方法及び装置
US9425820B2 (en) Vector quantization with non-uniform distributions
CN113362804B (zh) 一种合成语音的方法、装置、终端及存储介质
RU2633097C2 (ru) Способы и устройства кодирования и декодирования сигнала
CN111816197B (zh) 音频编码方法、装置、电子设备和存储介质
CN106256001A (zh) 信号分类方法和装置以及使用其的音频编码方法和装置
KR20230134856A (ko) 정규화 플로우를 활용한 오디오 신호를 부호화 및 복호화 하는 방법 및 그 학습 방법
CN118016080B (zh) 一种音频处理方法、音频处理器及相关装置
KR20220080466A (ko) 플로우 기반의 학습 모델을 이용한 오디오 신호의 부호화 및 복호화 방법 및 장치와 학습 모델의 트레이닝 방법 및 장치
CN103035249B (zh) 一种基于时频平面上下文的音频算术编码方法
WO2024093588A1 (zh) 语音合成模型的训练方法、装置、设备、存储介质及程序产品
CN117616498A (zh) 使用神经网络和向量量化器压缩音频波形
Debnath et al. Lossless audio codec based on CNN, weighted tree and arithmetic encoding (LACCWA)
KR20230069167A (ko) 트레이닝된 생성형 모델 음성 코딩
Li et al. A Common Steganalysis Method of Low Embedding Rate Steganography in Compressed Speech Based on Hierarchy Feature Extraction and Fusion
KR20210030886A (ko) 동적 모델 파라미터를 이용한 오디오 부호화 방법 및 오디오 복호화 방법, 오디오 부호화 장치 및 오디오 복호화 장치
WO2018052004A1 (ja) サンプル列変形装置、信号符号化装置、信号復号装置、サンプル列変形方法、信号符号化方法、信号復号方法、およびプログラム