KR20100035955A - 무손실 부호화/복호화 장치 및 방법 - Google Patents

무손실 부호화/복호화 장치 및 방법 Download PDF

Info

Publication number
KR20100035955A
KR20100035955A KR1020080095356A KR20080095356A KR20100035955A KR 20100035955 A KR20100035955 A KR 20100035955A KR 1020080095356 A KR1020080095356 A KR 1020080095356A KR 20080095356 A KR20080095356 A KR 20080095356A KR 20100035955 A KR20100035955 A KR 20100035955A
Authority
KR
South Korea
Prior art keywords
encoding
arithmetic
symbol
decoding
bit
Prior art date
Application number
KR1020080095356A
Other languages
English (en)
Other versions
KR101485339B1 (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 KR20080095356A priority Critical patent/KR101485339B1/ko
Priority to US12/432,811 priority patent/US7965206B2/en
Publication of KR20100035955A publication Critical patent/KR20100035955A/ko
Application granted granted Critical
Publication of KR101485339B1 publication Critical patent/KR101485339B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

무손실 부호화/복호화 장치 및 방법이 제공된다. 무손실 부호화 장치는 심볼에 대하여 산술 부호화 기법(arithmetic coding scheme) 및 Huffman 부호화 기법 등을 선택적으로 수행할 수 있다. 무손실 부호화 장치는 Huffman 부호화 기법에 의하여 생성된 제1 부호화 비트를 포함하는 비트 스트림을 생성할 수 있다. 이 때 비트 스트림은 산술 부호화 기법을 위한 예비 비트(reserve bit)를 포함할 수 있다. 무손실 부호화 장치는 부호화 효율을 높이고, 부호화의 복잡도를 낮출 수 있다.
무손실 부호화, 무손실 복호화, arithmetic coding, Huffman coding

Description

무손실 부호화/복호화 장치 및 방법 {APPARATUS AND METHOD FOR LOSSLESS CODING AND DECODING}
본 발명은 오디오 신호의 부호화 및 복호화 방법에 관한 것으로서, 특히 무손실(lossless) 부호화 및 복호화 방법에 관한 것이다.
오디오 신호를 디지털 비트 스트림으로 변환하는 과정을 부호화(coding), 디지털 비트 스트림을 오디오 신호로 변환하는 과정을 복호화(decoding)라 한다. 복호화 과정은 부호화 과정의 역 과정에 대응할 수 있다.
오디오 신호를 부호화하는 과정은 오디오 신호의 특성을 추정(estimate)하는 과정, 추정된 특성을 양자화(quantize) 하는 과정 및 양자화된 샘플 또는 심볼에 대하여 무손실(lossless) 부호화하는 과정을 포함할 수 있다.
오디오 신호의 특성을 추정하는 과정은 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 성분(spectral component)으로 변환하는 과정을 통하여 수행될 수 있다.
추정된 특성을 양자화하는 과정에서는 오디오 신호의 정보 중 일부가 손실될 수 있다. 손실되는 정보가 많으면 부호화 및 복호화 과정을 통하여 원래의 오디오 신호가 복원되기 어렵다.
양자화된 샘플 또는 심볼의 신호 처리(signal processing)를 용이하게 하기 위하여 샘플 또는 심볼은 비트 스트림으로 변환될 수 있다. 이 때 샘플 또는 심볼이 가지고 있는 정보를 손실 없이 비트 스트림으로 변환하는 과정을 무손실 부호화 과정이라 하고, 비트 스트림으로부터 손실 없이 샘플 또는 심볼을 복원하는 과정을 무손실 복호화 과정이라 할 수 있다.
본 발명의 일 실시예에 따른 무손실 부호화 장치는 심볼에 산술 부호화 기법 또는 제1 부호화 기법을 선택적으로 수행할 수 있다. 무손실 부호화 장치는 제1 부호화 기법이 선택된 경우 제1 부호화 기법에 의하여 생성된 제1 부호화 비트 및 산술 부호화 기법을 위한 예비 비트를 포함하는 비트 스트림을 생성할 수 있다.
본 발명의 일 실시예에 따른 무손실 복호화 장치는 비트 스트림 중 제1 길이만큼의 제1 비트를 읽어 레지스터(register)에 저장할 수 있다. 무손실 복호화 장치는 비트 스트림 중 제1 비트 다음의 제2 비트를 순차적으로 읽을 수 있다. 무손실 복호화 장치는 제2 비트에 대하여 산술 복호화 기법 또는 제1 복호화 기법을 선택적으로 수행하여 심볼을 생성할 수 있다.
본 발명의 일 실시예에 따른 무손실 부호화 방법은 심볼에 대하여 산술 부호화 기법 또는 제1 부호화 기법 중 어느 하나를 선택하는 단계 및 상기 심볼에 대하여 상기 선택된 부호화 기법을 수행하는 단계를 포함할 수 있다. 이 때 상기 선택된 부호화 기법을 수행하는 단계는 상기 제1 부호화 기법이 선택된 경우 상기 제1 부호화 기법에 의하여 생성된 제1 부호화 비트 및 상기 산술 부호화 기법을 위한 예비 비트를 포함하는 비트 스트림을 생성할 수 있다.
본 발명의 일 실시예에 따른 무손실 복호화 방법은 비트 스트림 중 제1 길이만큼의 제1 비트를 읽는 단계, 상기 읽은 제1 비트를 레지스터(register)에 저장하는 단계, 상기 비트 스트림 중 상기 제1 비트 다음의 제2 비트를 순차적으로 읽는 단계, 상기 제2 비트에 대하여 산술 복호화 기법 또는 제1 복호화 기법을 선택하는 단계 및 상기 제2 비트에 대하여 상기 선택된 복호화 기법을 수행하여 심볼을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면 산술 부호화 기법 및 Huffman 부호화 기법을 오버헤드 없이 함께 사용할 수 있다.
본 발명의 일 실시예에 따르면 오디오 신호의 무손실 부호화 과정의 효율을 높이고 복잡도를 낮출 수 있다.
이하에서, 본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 오디오 신호의 부호화 과정을 도시하는 동작 흐름도이다.
도 1을 참조하면 부호화 과정은 오디오 신호의 특성을 추정한다(S110). 부호화 과정은 단계(S110)에서 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 성분(spectral component)으로 변환할 수 있다. 부호화 과정은 MDCT (Modified Discrete Cosine Transform) 등을 통해 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 성분으로 변환할 수 있다.
부호화 과정은 추정된 주파수 성분을 양자화(quantize)한다(S120). 부호화 과정은 변환된 주파수 도메인의 스펙트럼 성분들 중 일부를 선택함으로써 ISC (Important Spectral Component) 를 생성할 수 있다. 양자화 과정에서는 오디오 신호가 가진 특성 중 일부가 손실될 수 있다. 부호화 과정은 손실되는 정보를 줄이는 선택 알고리즘 (algorithm)을 이용할 수 있다.
부호화 과정은 양자화된 심볼을 무손실 부호화한다(S130).
부호화 과정은 무손실 부호화된 비트 스트림을 출력한다(S140).
도 2는 도 1의 단계(S120)가 수행되는 과정의 일 예를 도시하는 도면이다.
도 2를 참조하면 주파수 도메인으로 변환된 오디오 신호(200)가 도시된다.
부호화 과정은 오디오 신호(200)의 스펙트럼 성분들 중 일부를 선택할 수 있다. 부호화 과정은 선택된 주파수 위치 정보(location) (210) 및 위치 정보 (210)에 대응하는 크기 정보(amplitude) (211)를 양자화할 ISC의 제1 샘플로서 생성할 수 있다. 위치 정보 및 크기 정보는 양자화를 수행한 후 부호화를 수행한다. 양자화 방식은 위치 정보는 손실 없이 양자화를 수행하고, 크기 정보는 심리 음향 모델(Psycho-acoustic Model)에 근거하여 지각적으로 민감도에 따라서 양자화를 수행한다. 양자화 방식은 벡터 양자화, 스칼라 양자화 등을 들 수 있다.
부호화 과정은 양자화된 주파수 위치 정보 (220) 및 위치 정보 (220)에 대응하는 크기 정보 (221)를 ISC의 제2 샘플로서 생성할 수 있고, 부호화 과정은 주파수 위치 정보 (230) 및 위치 정보 (230)에 대응하는 크기 정보 (231)를 ISC의 제3 샘플로서 생성할 수 있고, 부호화 과정은 주파수 위치 정보 (240) 및 위치 정보 (240)에 대응하는 크기 정보 (241)를 ISC의 제4 샘플로서 생성할 수 있다.
이 때 위치 정보 (210) 및 위치 정보 (220) 간의 거리 및 위치 정보[location] (220) 및 위치 정보 (230) 간의 거리는 같을 수도 있고 다를 수도 있다.
부호화 과정은 양자화된 샘플들의 정보를 이진화(binarize)하여 심볼들을 생성할 수 있다. 예를 들어 스칼라 양자화를 수행했다고 하면, 스칼라 양자화된 인덱스 정보가 이진화 되어 심볼들을 생성하는 것이다.
부호화 과정은 위치 정보들 각각을 심볼로 표현할 수도 있다. 부호화 과정은 위치 정보 심볼에 대하여도 무손실 부호화 과정을 적용할 수 있다.
도 8은 본 발명의 일 실시예에 따른 무손실 부호화 장치(800)를 도시하는 도면이다.
도 8을 참조하면 무손실 부호화 장치(800)는 콘텍스트(context) 추출부(810), 이진화부(820), 부호화 기법 선택부(830), 산술 부호화부(840) 및 제1 부호화부(850)를 포함한다.
콘텍스트 추출부(810)는 연속적인 심볼들로부터 제1 심볼의 콘텍스트를 추출할 수 있다. 이 때 제1 심볼은 연속적인 심볼들 중 어느 하나일 수 있다.
콘텍스트 추출부(810)는 제1 심볼에 인접한 심볼들의 값 또는 제1 심볼의 이전 프레임의 심볼들의 값에 기초하여 제1 심볼의 콘텍스트를 추출할 수 있다.
이진화부(820)는 제1 심볼을 이진화할 수 있다.
부호화 기법 선택부(830)는 상기 이진화된 제1 심볼에 적용할 부호화 기법을 선택할 수 있다. 부호화 기법 선택부(830)는 제1 심볼의 콘텍스트에 기초하여 상 기 이진화된 제1 심볼에 적용할 부호화 기법을 선택할 수 있다.
부호화 기법 선택부(830)는 산술 부호화 기법(arithmetic coding scheme) 또는 제1 부호화 기법 중 어느 하나를 선택할 수 있다. 이 때 제1 부호화 기법은 하나의 심볼을 하나 또는 복수의 비트에 매핑하는 부호화 기법일 수도 있다. 하나의 심볼을 하나 또는 복수의 비트에 매핑하는 부호화 기법의 일 예로서 Huffman 부호화 기법이 있을 수 있다.
제1 심볼에 대하여 산술 부호화 기법이 선택되면 산술 부호화부(840)는 제1 심볼을 산술 부호화할 수 있다. 제1 심볼에 대하여 산술 부호화 기법이 선택되면 제1 부호화부(850)는 제1 심볼에 제1 부호화 기법을 적용하여 비트 스트림을 생성할 수 있다.
무손실 부호화 장치(800)는 선택된 부호화 기법에 의하여 제1 심볼을 비트 스트림으로 변환하고, 연속적인 심볼들을 부호화하여 연속적인 비트 스트림을 생성할 수 있다.
무손실 부호화 장치(800)는 제1 부호화 기법이 선택된 경우 제1 부호화 기법에 의하여 생성된 제1 부호화 비트를 포함하는 비트 스트림을 생성할 수 있다. 이 때 비트 스트림은 제1 부호화 비트뿐만 아니라 산술 부호화 기법을 위한 예비 비트 (reserve bit)를 더 포함할 수 있다.
도 3은 도 8의 무손실 부호화 장치(800)에 의하여 수행되는 무손실 부호화 과정의 일 예를 도시하는 도면이다.
도 3을 참조하면 무손실 부호화 장치(800)는 16개의 예비 비트 (X)를 포함하 는 비트 스트림(310)을 생성할 수 있다. 예비 비트는 산술 부호화를 위한 레지스터의 크기와 관련될 수 있다. 산술 부호화 기법이 제1 부호화 기법 (산술 부호화 기법인 아닌 부호화 기법)과 결합되어 사용되는 경우, 비트 스트림 점프 없이 산술 부호화가 수행되기 위한 최소 예비 비트의 개수 M개가 필요하다. M은, 예를 들어 16 또는 32 등의 값을 가질 수 있다. M은 항상 고정된 값은 아닐 수 있다. 산술 부호화 기법의 스케일 정보에 의하여 추가적으로 1개 이상의 예비 비트가 더 필요할 수도 있다. 제1 부호화 기법이 적용될 때마다 M개의 예비 비트가 확보되어야 한다. 이하의 명세서에서는, 설명의 편의를 위하여 예비 비트의 개수가 16으로 고정된 실시예 (M = 16)에 대하여 설명한다. 제1 심볼에 대하여 제1 부호화 기법이 선택된 경우 무손실 부호화 장치(800)는 16개의 예비 비트 (X)에 제1 부호화 기법에 의하여 생성된 비트 H0, H1를 순차적으로 부가하여 비트 스트림(310)을 생성할 수 있다.
제1 심볼 다음의 제2 심볼에 대하여 산술 부호화 기법이 선택된 경우 무손실 부호화 장치(800)는 비트 스트림(310)의 예비 비트 (X) 중 첫째 비트를 산술 부호화 기법에 의하여 생성된 비트 A0로 대체함으로써 비트 스트림 (320)을 생성할 수 있다.
제2 심볼 다음의 제3 심볼에 대하여 제1 부호화 기법이 선택된 경우 무손실 부호화 장치(800)는 비트 스트림(320)에 예비 비트 (X)를 부가하고 제1 부호화 기법에 의하여 생성된 비트 H2, H3, H4를 순차적으로 부가함으로써 비트 스트림 (330)을 생성할 수 있다. 비트 스트림 (320)에 15개의 예비 비트 (X)가 포함되어 있으므로 무손실 부호화 장치(800)는 제3 심볼에 대하여 제1 부호화 기법이 선택된 경우 하나의 예비 비트 (X)를 부가함으로써 16개의 예비 비트 (X)를 포함하는 비트 스트림(330)을 생성할 수 있다.
제3 심볼 다음의 제4 심볼 - 이 때 제4 심볼은 하나의 심볼일 수도 있고, 복수의 연속적인 심볼들일 수도 있음 - 에 대하여 산술 부호화 기법이 선택된 경우 무손실 부호화 장치(800)는 비트 스트림 (330)의 15개의 예비 비트 (X)를 산술 부호화 기법에 의하여 생성된 비트 A1 내지 A15로 순차적으로 대체함으로써 비트 스트림 (340)을 생성할 수 있다.
제4 심볼 다음의 제5 심볼에 대하여도 산술 부호화 기법이 선택된 경우 무손실 부호화 장치(800)는 비트 스트림 (340)의 예비 비트 (X)를 산술 부호화 기법에 의하여 생성된 비트 A16으로 대체함으로써 비트 스트림 (350)을 생성할 수 있다.
제5 심볼 다음의 제6 심볼 - 이 때 제6 심볼은 하나의 심볼일 수도 있고 복수의 연속적인 심볼들일 수도 있음 - 에 대하여도 산술 부호화 기법이 선택된 경우 무손실 부호화 장치(800)는 비트 스트림 (350)에 산술 부호화 기법에 의하여 생성된 비트 A17, A18 및 A19를 순차적으로 부가함으로써 비트 스트림 (360)을 생성할 수 있다.
무손실 부호화 장치(800)는 산술 부호화 기법이 선택된 경우 예비 비트를 산술 부호화 기법에 의하여 생성된 산술 부호화 비트로 순차적으로 대체할 수 있다.
무손실 부호화 장치(800)는 산술 부호화 기법이 선택된 경우 남은 예비 비트가 없으면 산술 부호화 비트를 비트 스트림에 순차적으로 부가할 수 있다.
도 3의 실시예에서는 무손실 부호화 장치(800)는 16비트 크기의 레지스터(register)를 이용하여 산술 부호화 기법을 수행할 수 있다.
무손실 부호화 장치(800)는 제1 부호화 기법이 선택된 경우 레지스터 크기에 대응하는 개수의 예비 비트를 출력 비트 스트림에 포함함으로써 이후 산술 부호화 기법이 선택되는 경우 산술 부호화를 연속적으로 수행할 수 있다.
무손실 부호화 장치(800)는 산술 부호화, 제1 부호화, 및 산술 부호화를 순차적으로 수행함에 있어서, 산술 부호화 과정들 간의 연속성을 제공할 수 있다. 따라서 무손실 부호화 장치(800)는 부가적인 오버헤드 비트 없이 산술 부호화 과정 및 제1 부호화 과정을 결합(combine)하여 수행할 수 있다.
무손실 부호화 장치(800)는 크기 정보를 산술 부호화 및 제1 부호화를 결합하는 방법을 이용하여 부호화할 수 있다. 또한 무손실 부호화 장치(800)는 크기 정보에 의하여 생성된 비트 스트림에 위치 정보에 의하여 생성된 비트 스트림을 순차적으로 부가할 수 있다. 이 때 무손실 부호화 장치(800)는 크기 정보를 산술 부호화 기법을 이용하여 부호화함으로써 부호화 과정의 효율을 높일 수 있다. 위치 정보에 대하여 산술 부호화 및 제1 부호화가 결합되어 수행됨으로써 생성된 비트 스트림에 예비 비트가 많이 포함된 경우, 무손실 부호화 장치(800)는 크기 정보에 대한 산술 부호화 과정을 통하여 예비 비트를 산술 부호화된 비트로 대체할 수 있으므로 부호화 과정의 효율을 높일 수 있다.
도 5는 도 8의 무손실 부호화 장치(800)의 부호화 기법 선택 과정의 일 예를 도시하는 도면이다.
제1 심볼은 제1 크기 정보 (510)를 가지고 제2 심볼은 제2 크기 정보 (520)를 가진다. 제3 심볼은 제3 크기 정보 (530)를 가지고 제4 심볼은 제4 크기 정보 (540)를 가진다.
무손실 부호화 장치(800)는 제2 심볼의 이전 심볼인 제1 심볼의 제1 크기 정보 (510)에 기초하여 제2 심볼의 부호화 기법을 선택할 수 있다.
무손실 부호화 장치(800)는 제3 심볼의 이전 심볼인 제2 심볼의 제2 크기 정보 (520)에 기초하여 제3 심볼의 부호화 기법을 선택할 수 있다.
무손실 부호화 장치(800)는 제4 심볼의 이전 심볼인 제3 심볼의 제3 크기 정보 (530)에 기초하여 제4 심볼의 부호화 기법을 선택할 수 있다. 무손실 부호화 장치(800)는 제3 크기 정보 (530)가 0이므로 제4 심볼에 대하여 Huffman 부호화 기법을 선택할 수 있다.
도 8의 다른 실시예에 따르면 무손실 부호화 장치(800)는 심볼이 (1/2)N (N은 양의 정수)에 대응하는 확률 분포를 가지면 상기 심볼에 대하여 상기 산술 부호화 대신에 Huffman 기법을 선택할 수 있다.
설명의 편의를 위해 심볼이 "A"일 확률(probability)이 0.9, 심볼이 "B"일 확률이 0.05, 심볼이 "C"일 확률이 0.05 라고 가정한다.
무손실 부호화 장치(800)는 Huffman codeword {0, 10, 11} 를 이용하여 Huffman 부호화 과정을 수행할 수 있다. Huffman 부호화 기법이 선택된 경우 무손실 부호화 장치(800)는 심볼 "A"에 코드워드 "0"를 할당할 수 있고, 심볼 "B"에 코 드워드 "10"를 할당할 수 있고, 심볼 "C"에 코드워드 "11"를 할당할 수 있다. 이 때 Huffman 부호화 기법에 의하여 생성된 코드워드가 "0"일 확률이 0.9, 코드워드가 "10"일 확률이 0.05, 코드워드가 "11"일 확률이 0.05가 된다.
이 때 주어진 심볼의 확률에 대한 엔트로피(entropy)는 하기 수학식 1과 같이 계산된다. 엔트로피는 주어진 심볼의 확률에 대하여 달성될 수 있는 최소 비트의 이론적 한계(theoretical limit)이다.
[수학식 1]
Entropy = -0.9 log 2 (0.9) - 0.05 log 2 (0.05) - 0.05 log 2 (0.05) = 0.569 (bit)
Huffman codeword 의 평균 길이는 하기 수학식 2와 같이 계산된다.
[수학식 2]
Huffman codeword length = 0.9 x 1 + 0.05 x 2 + 0.05 x 2 = 1.1 (bit)
상기 Huffman coding은 entropy에 비하여 0.531 bit 만큼 더 긴 평균 길이를 가짐을 알 수 있다. 평균 길이가 길면 부호화 과정의 효율이 낮다고 할 수 있다.
무손실 부호화 장치(800)는 효율이 낮고 복잡도가 낮은 Huffman coding 및 효율이 높고 복잡도가 높은 arithmetic coding을 함께 이용하여 효율이 높고 복잡도가 낮은 무손실 부호화 과정을 제공할 수 있다.
코드워드가 "0"일 확률이 0.9이므로 이를 P(0) = 0.9 로 나타낼 수 있다.
코드워드가 "10", 또는 "11"일 확률이 각각 0.05이므로 코드워드의 제1 레벨이 "1"인 경우 코드워드의 제2 레벨이 "0"일 조건부 확률(conditional probability)을 P(0/1) = 0.5로 나타낼 수 있다. 또한 코드워드의 제1 레벨이 "1"인 경우 코드워드의 제2 레벨이 "1"일 조건부 확률(conditional probability)도 P(1/1) =0.5 로 나타낼 수 있다.
코드워드의 제2 레벨의 조건부 확률이 각각 1/2, 1/2 이므로 무손실 부호화 장치(800)는 코드워드의 제2 레벨에 Huffman coding을 적용할 수 있다.
무손실 부호화 장치(800)는 코드워드의 제1 레벨에 대하여 산술 부호화 기법을 적용하고 제2 레벨에 대하여 Huffman 부호화 기법을 적용할 수 있다.
이 때 무손실 부호화 장치(800)의 codeword 평균 길이는 하기 수학식 3과 같이 나타내어질 수 있다.
[수학식 3]
codeword length = -0.9 log 2 (0.9) - 0.1 log 2 (0.1) + 0.1 x 1 = 0.569 (bit)
무손실 부호화 장치(800)의 codeword 평균 길이는 entropy와 같으므로 무손실 부호화 장치(800)는 효율을 최대화하면서도 fully arithmetic coding을 이용하는 경우보다 복잡도를 줄일 수 있다.
도 8의 다른 실시예에 따르면 무손실 부호화 장치(800)는 N 개의 심볼들을 무손실 부호화할 때 arithmetic coding과 Huffman coding을 combine하여 이용할 수 있다.
무손실 부호화 장치(800)는 심볼을 이진화한 후에 이진 심볼 (binary symbol)에 대하여 level 각각에 대하여 서로 다른 coding을 적용할 수 있다.
또는 무손실 부호화 장치(800)는 S = {A, B} 일 때 A에는 arithmetic coding을 적용하고 B에는 Huffman coding을 적용할 수 있다.
도 9는 본 발명의 일 실시예에 따른 무손실 복호화 장치(900)를 도시하는 도면이다.
도 9를 참조하면 무손실 복호화 장치(900)는 콘텍스트 추출부(910), 복호화 기법 선택부(920), 산술 복호화부(930), 제1 복호화부(940) 및 심볼화부(950)를 포함할 수 있다.
무손실 복호화 장치(900)는 연속된 비트 스트림 중 제1 길이만큼의 제1 비트 스트림을 읽어 레지스터(register)에 저장할 수 있다. 이 때 제1 길이는 레지스터의 크기에 대응할 수 있다.
무손실 복호화 장치(900)는 연속된 비트 스트림으로부터 복호화될 기준 비트 스트림을 선택할 수 있다. 기준 비트 스트림의 길이는 생성될 심볼의 크기에 기초하여 결정될 수 있다. 예를 들어 심볼이 4 bit 이고 16개의 값들을 가질 수 있는 경우 기준 비트 스트림은 4 bit일 수 있다.
무손실 복호화 장치(900)는 제1 비트 스트림 다음의 비트 스트림을 순차적으로 읽을 수 있다. 이 때 무손실 복호화 장치(900)는 제1 비트 스트림 다음의 제2 비트를 기준 비트 스트림으로 선택할 수 있다.
무손실 복호화 장치(900)는 선택된 기준 비트 스트림을 복호화하여 심볼을 생성할 수 있다.
콘텍스트 추출부(910)는 이전에 복호화된 심볼들로부터 기준 비트 스트림의 콘텍스트를 추출할 수 있다. 콘텍스트 추출부(910)는 inter frame prediction 또는 intra frame prediction 중 어느 하나 또는 양쪽에 기초하여 기준 비트 스트림의 콘텍스트를 추출할 수 있다.
복호화 기법 선택부(920)는 콘텍스트에 기초하여 기준 비트 스트림에 대하여 산술 복호화 기법 또는 제1 복호화 기법 중 어느 하나를 선택할 수 있다.
산술 복호화부(930)는 기준 비트 스트림에 대하여 산술 복호화 기법이 선택되면 레지스터(register)에 저장된 제1 비트 스트림 및 제2 비트에 기초하여 산술 복호화를 수행할 수 있다.
제1 복호화부(940)는 기준 비트 스트림에 대하여 제1 복호화 기법이 선택되면 제2 비트에 대하여 제1 복호화를 수행할 수 있다. 제1 복호화 기법은 하나의 심볼이 하나 또는 복수의 비트에 매핑되는 복호화 기법일 수 있다. 또는 제1 복호화 기법은 Huffman 복호화 기법일 수 있다.
무손실 복호화 장치(900)는 기준 비트에 대하여 산술 복호화 기법 또는 제1 복호화 기법을 선택적으로 수행할 수 있다.
심볼화부(950)는 산술 복호화부(930)의 복호화 결과 및 제1 복호화부(940)의 복호화 결과에 기초하여 심볼을 생성할 수 있다.
도 4는 도 9의 무손실 복호화 장치(900)에 의하여 수행되는 복호화 과정의 일 예를 도시하는 도면이다.
무손실 복호화 장치(900)는 연속된 비트 스트림(410)을 수신할 수 있다.
도 4에 도시된 복호화 상태 (420 내지 460)는 복호화 과정에 따른 상기 비트 스트림 (410)의 상태를 도시한다.
복호화 상태 (420)는 16개의 제1 비트 스트림 (A0 내지 A15)을 레지스터(register)에 저장한 후의 상태를 도시한다. "R"로 표시된 비트는 복호화된 비트를 나타낸다.
도 3의 부호화 과정에 의하여 생성된 비트 스트림(410)은 산술 부호화된 16개의 비트들 (A0 내지 A15)을 포함하고 있으므로 무손실 복호화 장치(900)는 16개의 제1 비트 스트림 (A0 내지 A15)을 레지스터(register)에 저장한 후에 다음 비트의 복호화 기법을 선택할 수 있다.
무손실 복호화 장치(900)는 비트 H0 및 H1의 콘텍스트를 추출하고, 콘텍스트에 기초하여 Huffman 복호화 기법을 선택할 수 있다. 무손실 복호화 장치(900)는 비트 H0 및 H1에 대하여 Huffman 복호화를 수행하고 심볼을 생성할 수 있다. 복호화 상태 (430)는 비트 H0 및 H1에 대하여 Huffman 복호화가 수행된 후의 상태를 도시한다.
무손실 복호화 장치(900)는 비트 A16의 콘텍스트를 추출하고, 콘텍스트에 기초하여 산술 복호화 기법을 선택할 수 있다. 무손실 복호화 장치(900)는 레지스터(register)에 저장된 제1 비트 스트림 (A0 내지 A15) 및 비트 A16에 기초하여 산술 복호화를 수행할 수 있다. 복호화 상태 (440)는 제1 비트 스트림 (A0 내지 A15) 및 비트 A16에 대하여 산술 복호화가 수행된 후의 상태를 도시한다. 이 때 산술 복호화 과정은 레지스터(register)에 저장된 내용에 영향을 미칠 수 있다.
무손실 복호화 장치(900)는 비트 H2, H3 및 H4의 콘텍스트를 추출하고, 콘텍 스트에 기초하여 Huffman 복호화 기법을 선택할 수 있다. 무손실 복호화 장치(900)는 비트 H2, H3 및 H4에 대하여 Huffman 복호화를 수행할 수 있다. 복호화 상태 (450)는 비트 H2, H3 및 H4에 대하여 Huffman 복호화가 수행된 후의 상태를 도시한다.
무손실 복호화 장치(900)는 비트 A17, A18 및 A19의 콘텍스트를 추출하고, 콘텍스트에 기초하여 산술 복호화 기법을 선택할 수 있다. 무손실 복호화 장치(900)는 레지스터(register)에 저장된 내용 및 비트 A17, A18 및 A19에 기초하여 산술 복호화를 수행할 수 있다. 복호화 상태 (460)는 레지스터(register)에 저장된 내용 및 비트 A17, A18 및 A19에 대하여 산술 복호화가 수행된 후의 상태를 도시한다.
도 6은 본 발명의 일 실시예에 따른 무손실 부호화 방법을 도시하는 동작 흐름도이다.
도 6을 참조하면 부호화 방법은 M개의 예비 비트(reserve bit)를 비트 스트림에 저장한다(S610).
부호화 방법은 연속된 심볼들 중 하나 이상의 심볼을 선택한다(S620).
부호화 방법은 선택된 하나 이상의 심볼에 대하여 산술 부호화 기법 또는 제1 부호화 기법 중 어느 하나를 선택한다(S630).
부호화 방법은 제1 부호화 기법이 선택되었는지 판정하고(S640), 제1 부호화 기법이 선택되었으면 비트 스트림에 포함된 예비 비트(reserve bit)의 개수가 M보다 작은지 여부를 판정한다(S651). 이 때 M은 레지스터 (register)의 특정 영역의 크기일 수도 있다. M은 상술한 바와 같이 산술 부호화 기법이 비트 스트림 점프 없이 수행되기 위한 최소 예비 비트의 개수일 수 있다.
부호화 방법은 비트 스트림에 포함된 예비 비트의 개수가 M보다 작으면 예비 비트를 비트 스트림에 추가한다(S652).
부호화 방법은 예비 비트가 추가된 비트 스트림에 대하여 단계(S651)를 다시 수행한다.
부호화 방법은 비트 스트림에 포함된 예비 비트의 개수가 M과 같으면 제1 부호화 기법에 의하여 생성된 제1 부호화 비트를 비트 스트림에 추가한다(S653).
부호화 방법은 제1 부호화 기법이 선택되지 않았으면, 비트 스트림에 예비 비트(reserve bit)가 남아 있는지 여부를 판정한다(S661).
부호화 방법은 비트 스트림에 예비 비트가 남아 있으면 예비 비트를 산술 부호화 기법에 의하여 생성된 산술 부호화 비트로 순차적으로 대체한다(S662).
부호화 방법은 비트 스트림에 예비 비트가 남아 있지 않으면 산술 부호화 비트를 비트 스트림에 추가한다(S663).
부호화 방법은 단계(S662) 또는 단계(S663)가 수행된 후 상기 선택된 심볼이 남아 있는지 여부를 판정한다(S664).
부호화 방법은 상기 선택된 심볼이 남아 있으면 남은 심볼 및 비트 스트림에 대하여 단계 (S661)를 다시 수행한다.
부호화 방법은 상기 선택된 심볼이 남아 있지 않으면 상기 연속된 심볼들 중 모든 심볼들이 선택되었는지 여부를 판정한다(S650). 부호화 방법은 제1 부호화 비트를 비트 스트림에 추가한 후에도 상기 연속된 심볼들 중 모든 심볼들이 선택되었는지 여부를 판정한다(S650).
부호화 방법은 상기 연속된 심볼들 중 선택되지 않은 심볼들이 남아 있으면 상기 남은 심볼에 대하여 단계(S620)를 다시 수행한다.
부호화 방법은 상기 연속된 심볼들 모두가 선택되었으면 시퀀스를 종료한다.
도 7은 본 발명의 일 실시예에 따른 무손실 복호화 방법을 도시하는 동작 흐름도이다.
도 7을 참조하면 복호화 방법은 연속된 비트 스트림 중 레지스터의 크기에 대응하는 길이의 제1 비트를 읽는다(S710).
복호화 방법은 제1 비트를 레지스터에 저장한다(S720).
복호화 방법은 상기 연속된 비트 스트림 중 제1 비트 다음의 제2 비트를 순차적으로 읽는다(S730).
복호화 방법은 제2 비트의 콘텍스트를 추출한다(S740).
복호화 방법은 제2 비트의 콘텍스트에 기초하여 제2 비트에 대하여 산술 복호화 기법 또는 제1 복호화 기법 중 어느 하나를 선택한다(S750).
복호화 방법은 제2 비트에 대하여 상기 선택된 복호화 기법을 수행한다(S760).
도 10은 도 8의 무손실 부호화 장치(800)에 의하여 수행되는 산술 부호화 과정의 일 예를 도시하는 도면이다.
도 10을 참조하면 3개의 연속된 심볼들 (S1, S2, S3)에 대하여 산술 부호화 를 수행하는 과정이 도시된다.
임의의(arbitrary) 심볼이 "1"일 확률(probability)이 0.2이고, 임의의 심볼이 "0"일 확률이 0.8이라 가정한다.
확률 구간 [0,1]은 심볼 S1이 "0"일 확률 구간 [0.0 , 0.8] (1110) 및 심볼 S1이 "1"일 확률 구간 [0.8, 1.0]으로 구분될 수 있다. 심볼 S1이 "0"이므로 무손실 부호화 장치(800)는 확률 구간 (1010)을 선택할 수 있다.
확률 구간 (1010)은 심볼 S2이 "0"일 확률 구간 [0.0 , 0.64] 및 심볼 S2이 "1"일 확률 구간 [0.64, 0.80] (1020)으로 구분될 수 있다. 심볼 S2이 "1"이므로 무손실 부호화 장치(800)는 확률 구간 (1020)을 선택할 수 있다.
확률 구간 (1020)은 심볼 S3이 "0"일 확률 구간 [0.64 , 0.768] (1030) 및 심볼 S3이 "1"일 확률 구간 [0.768, 0.80] 으로 구분될 수 있다. 심볼 S3이 "1"이므로 무손실 부호화 장치(800)는 확률 구간 (1030)을 선택할 수 있다.
무손실 부호화 장치(800)는 연속된 3개의 심볼들 S1, S2 및 S3에 대하여 확률 구간 (1030)을 선택하고, 확률 구간 (1030)에 대응하는 코드워드(codeword)를 생성할 수 있다.
무손실 부호화 장치(800)는 확률 구간 [0.64 , 0.768] (1030)을 가장 작은 수의 비트로 표현할 수 있는 코드워드를 선택할 수 있다. 예를 들어 무손실 부호화 장치(800)는 0.11 (binary) = 0.75 (decimal) 로부터 "11"을 확률 구간 (1030)에 대응하는 코드워드로 선택할 수 있다.
이 때 3개의 심볼들 S1, S2, S3 은 2개의 비트로 표현될 수 있으므로 하나의 심볼 당 2/3 비트가 사용된 것으로 볼 수 있다.
도 10에서는 binary arithmetic coding의 예가 도시되었지만 본 발명의 실시예들을 이에 국한되지 않으며 본 발명의 다른 실시예에 따라서는 N-ary arithmetic coding을 수행할 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 오디오 신호의 부호화 과정을 도시하는 동작 흐름도이다.
도 2는 도 1의 단계(S120)가 수행되는 과정의 일 예를 도시하는 도면이다.
도 3은 도 8의 무손실 부호화 장치(800)에 의하여 수행되는 무손실 부호화 과정의 일 예를 도시하는 도면이다.
도 4는 도 9의 무손실 복호화 장치(900)에 의하여 수행되는 복호화 과정의 일 예를 도시하는 도면이다.
도 5는 도 8의 무손실 부호화 장치(800)의 부호화 기법 선택 과정의 일 예를 도시하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 무손실 부호화 방법을 도시하는 동작 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 무손실 복호화 방법을 도시하는 동작 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 무손실 부호화 장치(800)를 도시하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 무손실 복호화 장치(900)를 도시하는 도면이다.
도 10은 도 8의 무손실 부호화 장치(800)에 의하여 수행되는 산술 부호화 과정의 일 예를 도시하는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
800: 무손실 부호화 장치
810: 콘텍스트 추출부
820: 이진화부
830: 부호화 기법 선택부
840: 산술 부호화부
850: 제1 부호화부
900: 무손실 복호화 장치
910: 콘텍스트 추출부
920: 복호화 기법 선택부
930: 산술 복호화부
940: 제1 복호화부
950: 심볼화부

Claims (23)

  1. 심볼에 대하여 산술 부호화 기법 또는 제1 부호화 기법을 선택적으로 수행함으로써 부호화된 비트 스트림을 생성하는 무손실 부호화 장치.
  2. 제1항에 있어서,
    상기 제1 부호화 기법이 선택된 경우 상기 제1 부호화 기법에 의하여 생성된 제1 부호화 비트 및 상기 산술 부호화 기법을 위한 예비 비트를 포함하는 비트 스트림을 생성하는 무손실 부호화 장치.
  3. 제2항에 있어서,
    상기 산술 부호화 기법이 선택된 경우 상기 예비 비트를 상기 산술 부호화 기법에 의하여 생성된 산술 부호화 비트로 순차적으로 대체하는 무손실 부호화 장치.
  4. 제3항에 있어서,
    상기 산술 부호화 기법이 선택된 경우 남은 예비 비트가 없으면 상기 산술 부호화 비트를 상기 비트 스트림에 순차적으로 추가하는 무손실 부호화 장치.
  5. 제2항에 있어서,
    상기 예비 비트의 길이에 대응하는 크기를 가지는 레지스터를 이용하여 상기 산술 부호화 기법을 수행하는 무손실 부호화 장치.
  6. 제1항에 있어서,
    상기 심볼의 콘텍스트에 기초하여 상기 산술 부호화 기법 또는 상기 제1 부호화 기법 중 어느 하나를 선택하는 무손실 부호화 장치.
  7. 제1항에 있어서,
    상기 심볼의 이전 심볼의 크기에 기초하여 상기 산술 부호화 기법 또는 상기 제1 부호화 기법 중 어느 하나를 선택하는 무손실 부호화 장치.
  8. 제1항에 있어서,
    상기 심볼이 (1/2)N (N은 양의 정수)에 대응하는 확률 분포를 가지면 상기 심볼에 대하여 상기 제1 부호화 기법을 선택하는 무손실 부호화 장치.
  9. 제1항에 있어서,
    상기 제1 부호화 기법은 하나의 심볼을 하나 또는 복수의 비트에 매핑하는 부호화 기법인 무손실 부호화 장치.
  10. 제1항에 있어서,
    상기 제1 부호화 기법은 허프만 (Huffman) 부호화 기법인 무손실 부호화 장치.
  11. 비트 스트림에 대하여 산술 복호화 기법 또는 제1 복호화 기법을 선택적으로 수행하여 심볼을 생성하는 무손실 복호화 장치.
  12. 제11항에 있어서,
    상기 비트 스트림 중 제1 길이만큼의 제1 비트 스트림을 읽어 레지스터에 저장하고, 상기 비트 스트림 중 상기 제1 비트 스트림 다음의 제2 비트를 순차적으로 읽고, 상기 제2 비트에 대하여 산술 복호화 기법 또는 제1 복호화 기법을 선택적으로 수행하여 심볼을 생성하는 무손실 복호화 장치.
  13. 제12항에 있어서,
    이전에 복호화된 심볼들을 이용하여 콘텍스트를 생성하고, 상기 콘텍스트에 기초하여 상기 제2 비트에 대하여 상기 산술 복호화 기법 또는 상기 제1 복호화 기법 중 어느 하나를 선택하는 무손실 복호화 장치.
  14. 제12항에 있어서,
    상기 산술 복호화 기법이 선택되면 상기 레지스터에 저장된 비트를 이용하여 상기 산술 복호화 기법을 수행하는 무손실 복호화 장치.
  15. 제11항에 있어서,
    상기 제1 복호화 기법은 하나의 심볼이 하나 또는 복수의 비트에 매핑되는 복호화 기법인 무손실 복호화 장치.
  16. 제11항에 있어서,
    상기 제1 복호화 기법은 허프만 (Huffman) 복호화 기법인 무손실 복호화 장치.
  17. 심볼에 대하여 산술 부호화 기법 또는 제1 부호화 기법 중 어느 하나를 선택하는 단계; 및
    상기 심볼에 대하여 상기 선택된 부호화 기법을 수행하는 단계
    를 포함하고,
    상기 선택된 부호화 기법을 수행하는 단계는 상기 제1 부호화 기법이 선택된 경우 상기 제1 부호화 기법에 의하여 생성된 제1 부호화 비트 및 상기 산술 부호화 기법을 위한 예비 비트를 포함하는 비트 스트림을 생성하는 무손실 부호화 방법.
  18. 제17항에 있어서,
    상기 선택된 부호화 기법을 수행하는 단계는 상기 산술 부호화 기법이 선택 된 경우 상기 예비 비트를 상기 산술 부호화 기법에 의하여 생성된 산술 부호화 비트로 순차적으로 대체하는 무손실 부호화 방법.
  19. 제18항에 있어서,
    상기 선택된 부호화 기법을 수행하는 단계는 상기 산술 부호화 기법이 선택된 경우 남은 예비 비트가 없으면 상기 산술 부호화 비트를 상기 비트 스트림에 순차적으로 추가하는 무손실 부호화 방법.
  20. 제17항에 있어서,
    상기 산술 부호화 기법 또는 제1 부호화 기법 중 어느 하나를 선택하는 단계는
    상기 심볼의 콘텍스트에 기초하여 상기 산술 부호화 기법 또는 상기 제1 부호화 기법 중 어느 하나를 선택하는 무손실 부호화 방법.
  21. 비트 스트림 중 제1 길이만큼의 제1 비트 스트림을 읽는 단계;
    상기 읽은 제1 비트 스트림을 레지스터에 저장하는 단계;
    상기 비트 스트림 중 상기 제1 비트 스트림 다음의 제2 비트를 순차적으로 읽는 단계;
    상기 제2 비트에 대하여 산술 복호화 기법 또는 제1 복호화 기법을 선택하는 단계; 및
    상기 제2 비트에 대하여 상기 선택된 복호화 기법을 수행하여 심볼을 생성하는 단계
    를 포함하는 무손실 복호화 방법.
  22. 제21항에 있어서,
    상기 산술 복호화 기법 또는 제1 복호화 기법을 선택하는 단계는
    상기 비트 스트림의 콘텍스트에 기초하여 상기 산술 복호화 기법 또는 상기 제1 복호화 기법 중 어느 하나를 선택하는 무손실 복호화 방법.
  23. 제17항 내지 제22항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR20080095356A 2008-09-29 2008-09-29 무손실 부호화/복호화 장치 및 방법 KR101485339B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20080095356A KR101485339B1 (ko) 2008-09-29 2008-09-29 무손실 부호화/복호화 장치 및 방법
US12/432,811 US7965206B2 (en) 2008-09-29 2009-04-30 Apparatus and method of lossless coding and decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080095356A KR101485339B1 (ko) 2008-09-29 2008-09-29 무손실 부호화/복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100035955A true KR20100035955A (ko) 2010-04-07
KR101485339B1 KR101485339B1 (ko) 2015-01-26

Family

ID=42056819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080095356A KR101485339B1 (ko) 2008-09-29 2008-09-29 무손실 부호화/복호화 장치 및 방법

Country Status (2)

Country Link
US (1) US7965206B2 (ko)
KR (1) KR101485339B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130044193A (ko) * 2011-10-21 2013-05-02 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 오디오 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 오디오 복호화방법 및 장치
US8487789B2 (en) 2010-07-21 2013-07-16 Samsung Electronics Co., Ltd. Method and apparatus for lossless encoding and decoding based on context
KR20150031215A (ko) * 2013-09-13 2015-03-23 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치
US9231616B2 (en) 2011-08-05 2016-01-05 Broadcom Corporation Unified binarization for CABAC/CAVLC entropy coding
US11616954B2 (en) 2014-07-28 2023-03-28 Samsung Electronics Co., Ltd. Signal encoding method and apparatus and signal decoding method and apparatus
US11705142B2 (en) 2013-09-16 2023-07-18 Samsung Electronic Co., Ltd. Signal encoding method and device and signal decoding method and device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090080788A1 (en) * 2003-04-17 2009-03-26 Droplet Technology, Inc. Multiple Technique Entropy Coding System And Method
BR112020025515A2 (pt) * 2018-06-21 2021-03-09 Sony Corporation Dispositivo e método de codificação, mídia de armazenamento legível por computador, e, dispositivo e método de decodificação

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654702A (en) * 1994-12-16 1997-08-05 National Semiconductor Corp. Syntax-based arithmetic coding for low bit rate videophone
US5883976A (en) * 1994-12-28 1999-03-16 Canon Kabushiki Kaisha Selectively utilizing multiple encoding methods
US5574449A (en) * 1995-02-24 1996-11-12 Intel Corporation Signal processing with hybrid variable-length and entropy encodidng
SG43398A1 (en) * 1995-09-01 1997-10-17 Sony Corp Data recording apparatus and method for preventing illegal copying
US5774081A (en) * 1995-12-11 1998-06-30 International Business Machines Corporation Approximated multi-symbol arithmetic coding method and apparatus
US6819271B2 (en) * 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
JP2000323993A (ja) * 1999-05-11 2000-11-24 Mitsubishi Electric Corp Mpeg1オーディオレイヤiii復号処理装置およびコンピュータをmpeg1オーディオレイヤiii復号処理装置として機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体
JP3778087B2 (ja) * 2002-01-18 2006-05-24 富士ゼロックス株式会社 データ符号化装置及びデータ復号装置
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
JP4728568B2 (ja) 2002-09-04 2011-07-20 マイクロソフト コーポレーション レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
US7994946B2 (en) 2004-06-07 2011-08-09 Agency For Science, Technology And Research Systems and methods for scalably encoding and decoding data
EP1800487B1 (en) * 2004-10-13 2012-07-11 Electronics and Telecommunications Research Institute Method and apparatus for encoding/decoding point sequences on laser binary representation
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US7599840B2 (en) 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7486211B2 (en) * 2007-04-13 2009-02-03 Apple Inc. Method and system for entropy coding
KR100889750B1 (ko) * 2007-05-17 2009-03-24 한국전자통신연구원 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법
US7728739B2 (en) * 2007-10-10 2010-06-01 Apple Inc. Entropy codec with variable divisor

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8487789B2 (en) 2010-07-21 2013-07-16 Samsung Electronics Co., Ltd. Method and apparatus for lossless encoding and decoding based on context
US9231616B2 (en) 2011-08-05 2016-01-05 Broadcom Corporation Unified binarization for CABAC/CAVLC entropy coding
KR20200143349A (ko) * 2011-10-21 2020-12-23 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 오디오 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 오디오 복호화방법 및 장치
US10424304B2 (en) 2011-10-21 2019-09-24 Samsung Electronics Co., Ltd. Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus
KR20200010539A (ko) * 2011-10-21 2020-01-30 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 오디오 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 오디오 복호화방법 및 장치
KR20130044193A (ko) * 2011-10-21 2013-05-02 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 오디오 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 오디오 복호화방법 및 장치
US10878827B2 (en) 2011-10-21 2020-12-29 Samsung Electronics Co.. Ltd. Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus
US11355129B2 (en) 2011-10-21 2022-06-07 Samsung Electronics Co., Ltd. Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus
KR20150031215A (ko) * 2013-09-13 2015-03-23 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치
KR20210083225A (ko) * 2013-09-13 2021-07-06 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치
KR20220071162A (ko) * 2013-09-13 2022-05-31 삼성전자주식회사 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치
US11705142B2 (en) 2013-09-16 2023-07-18 Samsung Electronic Co., Ltd. Signal encoding method and device and signal decoding method and device
US11616954B2 (en) 2014-07-28 2023-03-28 Samsung Electronics Co., Ltd. Signal encoding method and apparatus and signal decoding method and apparatus

Also Published As

Publication number Publication date
US20100079312A1 (en) 2010-04-01
US7965206B2 (en) 2011-06-21
KR101485339B1 (ko) 2015-01-26

Similar Documents

Publication Publication Date Title
KR101485339B1 (ko) 무손실 부호화/복호화 장치 및 방법
US10666287B2 (en) Coding method, decoding method, coder, and decoder
JP5384780B2 (ja) 無損失オーディオ符号化方法、無損失オーディオ符号化装置、無損失オーディオ復号化方法、無損失オーディオ復号化装置及び記録媒体
CN103067022B (zh) 一种整型数据无损压缩方法、解压缩方法及装置
JP5733935B2 (ja) デジタルコンテンツ符号器、復号器、検索装置、符号化方法、検索方法および記憶装置
MX2011003815A (es) Decodificador de audio, codificador de audio, metodo para decodificar una señal de audio, metodo para codificar una señal de audio, programa de computadora y señal de audio.
JP2005260969A5 (ko)
PT2282310E (pt) Codificação entrópica por adaptação de modos de codificação entre codificação por nível e codificação por comprimento/nível de sequência
JP2005242363A5 (ko)
CN107135004B (zh) 一种对地震数据流的自适应实时无损压缩方法
US10455244B2 (en) Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
EP3537439B1 (en) Periodic-combined-envelope-sequence generation device, periodic-combined-envelope-sequence generation method, periodic-combined-envelope-sequence generation program and recording medium
US7973683B2 (en) Apparatus and method for lossless coding and decoding
US20140006036A1 (en) Method and apparatus for coding and decoding
US20130082850A1 (en) Data encoding apparatus, data decoding apparatus and methods thereof
JP4382090B2 (ja) 符号化装置、符号化方法およびコードブック
JP2004258603A (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
EP3139380A1 (en) Encoding device, decoding device, encoding method, decoding method, encoding program, decoding program, and recording medium
JP4093193B2 (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
KR20110011357A (ko) 비트의 순서를 변경한 데이터의 부호화, 복호화 방법 및 장치
JP2006211243A (ja) ディジタル信号符号化装置,ディジタル信号符号化方法
US11508386B2 (en) Audio coding method based on spectral recovery scheme
WO2011003233A1 (zh) 编码方法、装置与系统、解码方法、装置与系统
EP3644515B1 (en) Encoding device, decoding device, encoding method, decoding method and program
JP4705685B2 (ja) 信号の符号化装置、復号化装置、方法、プログラム、および記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee