KR20040067119A - 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법 - Google Patents

신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법 Download PDF

Info

Publication number
KR20040067119A
KR20040067119A KR1020030004099A KR20030004099A KR20040067119A KR 20040067119 A KR20040067119 A KR 20040067119A KR 1020030004099 A KR1020030004099 A KR 1020030004099A KR 20030004099 A KR20030004099 A KR 20030004099A KR 20040067119 A KR20040067119 A KR 20040067119A
Authority
KR
South Korea
Prior art keywords
dct coefficient
bit stream
learning
length
coefficient block
Prior art date
Application number
KR1020030004099A
Other languages
English (en)
Other versions
KR100529311B1 (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 KR10-2003-0004099A priority Critical patent/KR100529311B1/ko
Priority to CNA2004100396151A priority patent/CN1525761A/zh
Priority to US10/760,400 priority patent/US6885320B2/en
Publication of KR20040067119A publication Critical patent/KR20040067119A/ko
Application granted granted Critical
Publication of KR100529311B1 publication Critical patent/KR100529311B1/ko

Links

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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 신경 회로망을 이용하여, 가변 길이 부호화의 결과인 비트 스트림의 길이를 선택하는 장치 및 방법에 관한 것으로, 본 발명에 따른 가변 길이 부호화 비트 스트림 길이 선택 장치는 학습이 완료된 신경 회로망에 소정의 양자화 DCT 계수 블록을 입력하여, 신경 회로망으로부터 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하는 비트 스트림 예측 길이 수신부; 및 비트 스트림 예측 길이 수신부에서 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 비트 스트림 예측 길이 선택부로 구성된다.
본 발명에 따르면, 신경 회로망을 이용하여 가변 길이 부호화의 결과인 비트 스트림의 길이를 예측할 수 있게 함으로서, 가변 길이 부호화하지 않고도, 사용자가 원하는 비트 스트림의 길이를 미리 선택할 수 있다는 효과가 있다.

Description

신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의 길이를 선택하는 장치 및 방법{Apparatus and method for selecting the length of variable length coding bit stream using neural network}
본 발명은 신경 회로망을 이용하여, 가변 길이 부호화의 결과인 비트 스트림의 길이를 선택하는 장치 및 방법에 관한 것이다.
도 1은 종래의 영상 데이터 압축 장치의 구성도이다.
종래의 영상 데이터 압축 장치는 이산 코사인 변환부(11), 양자화부(12), 및 가변 길이 부호화부(13)로 구성된다.
디지털 형식의 데이터의 압축, 특히 영상 데이터의 압축은 다양한 멀티미디어 응용 환경에 있어서 필수적인 요소이나, 영상 데이터는 많은 정보를 처리해야 하므로 효율적인 전송이나 저장 및 가공에 많은 제약이 생기게 된다. 이러한 제약을 해결하기 위해 MPEG-2, MPEG-4, H.263, H.26L 등 국제적 표준은 압축 스트림 문법 및 복호화 과정을 정의하고 있다.
압축 방식에는 무손실 압축 방식과 손실 압축 방식이 있는데, 문자, 도형, 일반 데이터 등을 무손실 압축하면 완전 복구가 가능하지만 압축률은 평균적으로 2 대 1 정도이다. 반면, 영상, 음성, 음향 등의 데이터를 인간의 눈과 귀가 거의 느끼지 못할 정도로 작은 손실을 허용하면서 압축하면 10 대 1 이상의 압축률을 쉽게 얻을 수 있다. 영상 데이터를 효과적으로 압축하기 위한 목적으로 가장 널리 쓰이는 손실 부호화 기법은 변환 부호화이다. 이 방식의 기본구조는 공간적으로 높은 상관도를 가지면서 배열되어있는 데이터를 직교 변환에 의하여 저주파 성분으로부터 고주파 성분에 이르기까지 여러 주파수 성분으로 나누어 성분별로 달리 양자화하는 것이다. 이때, 각 주파수 성분간에는 상관도가 거의 없어지고, 신호의 에너지가 저주파 쪽에 집중된다. 직교 변환에 의해 주파수 영역으로 바뀐 데이터는 에너지가 많이 모이는(즉, 분산치가 큰) 주파수 성분이 보다 많은 비트를 할당받아 그 주파수 성분을 보다 충실히 표현하도록 하고 있다. 분산치가 4배(즉, 진폭이 2배) 될 때마다 1비트씩 더 할당받는데, 이렇게 되면 모든 주파수 성분에서 동일한 양자화 에러 특성을 갖게 된다. 여러 가지의 직교변환 중에, 이론적으로 영상 신호의 에너지 집중 특성이 가장 뛰어나, 압축에 가장 효과적인 것은 카루넨-뢰브 변환(KLT, Karhunen-Loeve Transform)이다. 그러나, 이것은 영상에 따라 변환 함수가 새로 정의되어야 하므로 현실적으로 사용할 수 없다. 카루넨-뢰브 변환에 충분히 가까운 성능을 가지면서, 구현 가능한 변환이 바로 이산 코사인 변환(DCT, Discrete Cosine Transform)이다.
이산 코사인 변환부(11)는 영상 데이터를 이산 코사인 변환하여, 영상 데이터를 DCT 계수 블록으로 변환한다. 현재, 여러 국제 표준에 핵심 기술로 자리잡고 있는 이산 코사인 변환은 8 x 8크기의 화소를 하나의 블록으로 묶어 변환의 단위로 삼고 있다. 블록의 크기를 키울수록 압축 효율은 높아지나, 변환의 구현이 훨씬 어려워진다. 실험적으로 8 x 8이 성능과 구현의 용이성간 타협점으로 선택되었다. 일반적으로 영상을 압축할 때 공간상의 중복성을 제거하기 위해 이산 코사인 변환을 사용하며, 시간상의 중복성을 제거하기 위해서 움직임 추정(ME, Motion Estimation)과 움직임 보상(MC, Motion Compensation)을 사용한다.
양자화부(12)는 양자화 파라미터(quantization parameter)인 Q 값을 이용하여, DCT 계수 블록의 각각의 계수 값을 양자화한다. 이때, 작은 값들은 0이 되므로, 약간의 정보 손실이 있게 된다.
가변 길이 부호화부(13)는 상기된 이산 코사인 변환 과정과 양자화 과정을 거친 데이터를 가변 길이 부호화(VLC, Variable Length Coding)한다. 이것은 압축 과정의 최종 과정으로서, 이산 코사인 변환되고, 양자화된 계수를 무손실 압축하는것이다. 즉, 연속적으로 반복되는 문자들(여기서는 0)을 하나의 문자와 그 길이로 대체하여 정수열을 만들고, 지그재그 스캐닝(scanning)을 통하여 만들어진 정수열을 이진수로 변환한다. 이때, VLC 테이블을 이용하여, 발생 확률이 높은 문자에는 짧은 길이의 부호를 할당하고, 발생 확률이 낮은 문자에는 긴 길이의 부호를 할당하기 때문에, 가변 길이 부호화(VLC, Variable Length Coding)라고 부른다.
상기된 모든 압축 과정을 통과하면, 8 x 8 행렬은 몇 개의 0과 1의 조합으로 줄어들게 된다. 이와 같이 압축된 영상 데이터를 풀려면, 상기된 압축 과정을 역으로 수행하면 된다. 도시된 영상 데이터 압축 장치는 정지 영상을 JPEG(Joint Photographic Experts Group) 형식의 압축 파일로 압축하는데 사용되고, 동영상을 MPEG(Motion Picture Experts Group) 형식의 압축 파일로 압축할 때에는 도시된 영상 데이터 압축 장치에 차분 펄스 부호 변조(DPCM, Differential Pulse Code Modulation)를 하는 장치가 추가되어야 한다. 이것은 이미 전송된 신호로부터 앞으로 전송될 신호치를 예측하고, 이 예측치와 실제치의 차를 부호화하여 전송하는 방식을 말한다. 예를 들면, A점의 신호치를 예측치로 사용하면 B점의 신호치와의 차가 예측 오차가 되는데, B점의 신호를 전송하는 대신 이 예측 오차를 부호화해서 전송한다.
종래의 경우, 비트 율(bit rate)을 제어하기 위해서는, 양자화 파라미터인 Q값을 조정하여야 하는데, 어떤 Q 값을 사용하여, 사용자가 원하는 비트 율을 출력되는 지를 알아보기 위해서는 가변 길이 부호화를 해보아야하고, 원하는 비트 율이 출력될 때까지 여러 번 가변 길이 부호화를 해보아야한다. 그런데, 가변 길이 부호화의 경우, 문자를 부호로 대응시킬 때, VLC 테이블을 일일이 적용시켜야 하므로 부하가 많이 걸리는 작업이므로, 원하는 Q 값이 아닌 다른 Q 값으로 양자화된 DCT 계수 블록을 가변 길이 부호화할 경우, 시스템의 막대한 낭비를 초래한다는 문제가 있었다. 이외의 경우에도 마찬가지로, 비트 스트림의 길이에 관계가 있는 프로세싱을 해야 하는 경우, 원하는 비트 율이 출력될 때까지 여러 번 가변 길이 부호화를 해보아야하므로, 시스템의 막대한 낭비를 초래한다는 문제가 있었다. 상기와 같이, 여러 번 가변 길이 부호화할 때, 하드웨어적으로 병렬 처리하는 경우가 일반적인데, 이러한 경우 각각이 VLC 테이블을 가지고 있어야 하므로, 시스템의 막대한 낭비를 초래한다는 문제가 있었다.
또한, 비트 율(bit rate)을 제어할 때 이외에도, 압축된 비디오 패킷이 제한된 길이를 만족해야 할 경우가 있는데, 다음 매크로블록(macroblock)을 가변 길이 부호화해 보지 않고는, 다음 매크로블록을 가변 길이 부호화했을 경우의 비트 스트림의 길이를 알 수 없기 때문에, 일일이 가변 길이 부호화를 해보아야 하므로, 시스템의 막대한 낭비를 초래한다는 문제가 있었다.
본 발명이 이루고자 하는 기술적 과제는 가변 길이 부호화의 결과인 비트 스트림의 길이를 예측할 수 있게 함으로서, 가변 길이 부호화하지 않고도, 사용자가 원하는 비트 스트림의 길이를 미리 선택하여, 가변 길이 부호화할 수 있는 장치 및 방법을 제공하는데 있다.
도 1은 종래의 영상 데이터 압축 장치의 구성도이다.
도 2는 본 발명에 사용되는 신경 회로망의 구조도이다.
도 3은 본 발명의 일 실시예에 따른 부호화 데이터 크기 학습 장치의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 부호화 데이터 크기 선택 장치의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 학습 장치의 구성도이다.
도 6은 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 선택 장치의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 학습 장치의 구성도이다.
도 8은 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 선택 장치의 구성도이다.
도 9는 본 발명의 일 실시예에 따른 영상 데이터 압축 장치의 구성도이다.
도 10은 본 발명의 일 실시예에 따른 부호화 데이터 크기 학습 방법의 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 부호화 데이터 크기 선택 방법의 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 학습 방법의 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 선택 방법의 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 학습 방법의 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 선택 방법의 흐름도이다.
도 16은 본 발명의 일 실시예에 따른 영상 데이터 압축 방법의 흐름도이다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 부호화 데이터 크기 학습 장치는 학습용 데이터를 소정의 부호화 방식으로 부호화하여 학습용 부호화 데이터를 생성하는 학습용 부호화 데이터 생성부; 및 상기 학습용 부호화 데이터 생성부에서 생성된 학습용 데이터를 신경 회로망의 입력층에 입력하고, 상기 학습용 데이터로부터 상기 부호화 방식으로 부호화된 학습용 부호화 데이터의 크기를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 신경 회로망 학습부로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 부호화 데이터 크기 선택 장치는 학습이 완료된 신경 회로망에 소정의 데이터를 입력하여, 상기 신경 회로망으로부터 상기 데이터에 대응하는 부호화 데이터의 예측 크기를 수신하는 부호화 데이터 예측 크기 수신부; 및 상기 부호화 데이터 예측 크기 수신부에서 수신된 예측 크기에 대하여, 사용자로부터 선택을 받는 부호화 데이터 예측 크기 선택부로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 가변 길이 부호화 비트 스트림 길이 학습 장치는 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 학습용 양자화 DCT 계수 블록 생성부; 상기 학습용 양자화 DCT 계수 블록 생성부에서 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 학습용 비트 스트림 생성부; 및 상기 학습용 비트 스트림 생성부에서 생성된 학습용 양자화 DCT 계수 블록을 신경 회로망의 입력층에 입력하고, 상기 학습용 비트 스트림 생성부에서 생성된 학습용 비트 스트림의 길이를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 신경 회로망 학습부로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 가변 길이 부호화 비트 스트림 길이 선택 장치는 학습이 완료된 신경 회로망에 소정의 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하는 비트 스트림 예측 길이 수신부; 및 상기 비트 스트림 예측 길이 수신부에서 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 비트 스트림 예측 길이 선택부로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 병렬 가변 길이 부호화 비트 스트림 길이 학습 장치는 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 학습용 양자화 DCT 계수 블록 생성부; 상기 학습용 양자화 DCT 계수 블록 생성부에서 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 학습용 비트 스트림 생성부; 및 상기 학습용 양자화 DCT 계수 블록 생성부에서 생성된 학습용 양자화 DCT 계수 블록을 병렬로 배치된 소정 개수의 신경 회로망들의 입력층에 입력하고, 학습용 비트 스트림 생성부에서 생성된 학습용 비트 스트림의 길이를 상기 개수의 신경 회로망들의 출력층에 입력하여, 상기 개수의 신경 회로망들을 학습시키는 병렬 신경 회로망 학습부로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 병렬 가변 길이 부호화 비트 스트림 길이 선택 장치는 학습이 완료된, 소정 개수의 신경 회로망 각각에 소정의 DCT 계수 블록으로부터 상기 개수의 양자화 파라미터로 양자화된, 상기 개수의 양자화 DCT 계수 블록을 병렬로 입력하여, 상기 신경 회로망들 각각으로부터 상기 개수의 양자화 DCT 계수 블록에 대응하는 상기 개수의 비트 스트림의 예측 길이를 수신하는 병렬 비트 스트림 예측 길이 수신부; 및 상기 병렬 비트 스트림 예측 길이 수신부에서 수신된, 상기 개수의 예측 길이에 대해, 사용자로부터 선택을 받는 비트 스트림 예측 길이 선택부로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 영상 데이터 압축 장치는 소정의 영상 데이터를 이산 코사인 변환하여 DCT 계수 블록을 생성하는 이산 코사인 변환부; 상기 이산 코사인 변환부에서 생성된 DCT 계수 블록을 소정의 양자화 파라미터로 양자화하여 양자화 DCT 계수 블록을 생성하는 양자화부; 학습이 완료된 신경 회로망에 상기 양자화부에서 생성된 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하고, 상기 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 가변 길이 부호화 비트 스트림 길이 선택부; 및 상기 예측 길이가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 비트 스트림 생성부로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 부호화 데이터 크기 학습 방법은 (a) 학습용 데이터를 소정의 부호화 방식으로 부호화하여 학습용부호화 데이터를 생성하는 단계; 및 (b) 상기 생성된 학습용 데이터를 신경 회로망의 입력층에 입력하고, 상기 학습용 데이터로부터 상기 부호화 방식으로 부호화된 학습용 부호화 데이터의 크기를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 단계로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 부호화 데이터 크기 선택 방법은 (a) 학습이 완료된 신경 회로망에 소정의 데이터를 입력하여, 상기 신경 회로망으로부터 상기 데이터에 대응하는 부호화 데이터의 예측 크기를 수신하는 단계; 및 (b) 상기 수신된 예측 크기에 대하여, 사용자로부터 선택을 받는 단계로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 가변 길이 부호화 비트 스트림 길이 학습 방법은 (a) 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 단계; (b) 상기 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 단계; 및 (c) 상기 생성된 학습용 양자화 DCT 계수 블록을 신경 회로망의 입력층에 입력하고, 상기 생성된 학습용 비트 스트림의 길이를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 단계로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 가변 길이 부호화 비트 스트림 길이 선택 방법은 (a) 학습이 완료된 신경 회로망에 소정의 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하는 단계; 및 (b) 상기 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 단계로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 병렬 가변 길이 부호화 비트 스트림 길이 학습 방법은 (a) 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 단계; (b) 상기 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 단계; 및 (c) 상기 생성된 학습용 양자화 DCT 계수 블록을 병렬로 배치된 소정 개수의 신경 회로망들의 입력층에 입력하고, 상기 생성된 학습용 비트 스트림의 길이를 상기 개수의 신경 회로망들의 출력층에 입력하여, 상기 개수의 신경 회로망들을 학습시키는 단계로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 병렬 가변 길이 부호화 비트 스트림 길이 선택 방법은 (a) 학습이 완료된, 소정 개수의 신경 회로망 각각에 소정의 DCT 계수 블록으로부터 상기 개수의 양자화 파라미터로 양자화된, 상기 개수의 양자화 DCT 계수 블록을 병렬로 입력하여, 상기 신경 회로망들 각각으로부터 상기 개수의 양자화 DCT 계수 블록에 대응하는 상기 개수의 비트 스트림의 예측 길이를 수신하는 단계; 및 (b) 상기 수신된, 상기 개수의 예측 길이에 대해, 사용자로부터 선택을 받는 단계로 구성된다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 영상 데이터 압축 방법은 (a) 소정의 영상 데이터를 이산 코사인 변환하여 DCT 계수 블록을 생성하는 단계; (b) 상기 생성된 DCT 계수 블록을 소정의 양자화 파라미터로 양자화하여 양자화 DCT 계수 블록을 생성하는 단계; (c) 학습이 완료된 신경 회로망에 상기 생성된 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하고, 상기 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 단계; 및 (d) 상기 예측 길이가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 단계로 구성된다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 2는 본 발명에 사용되는 신경 회로망의 구조도이다.
도시된 신경 회로망은 이제까지 개발된 신경 회로망 중에서 가장 널리 사용되는 다층 퍼셉트론(MLP, Multi-Layer Perceptron)이란 것이다. RBF(Radial Basis Function) 네트워크와 함께, 대표적인 정적 신경망으로서, 교사 학습(supervised learning)에 의한 인식 및 분류, 함수 근사화 등에 사용되고 있다. 다층 퍼셉트론은 입력층(input layer)과 출력층(output layer) 사이에 하나 이상의 중간층(은닉층, hidden layer)이 존재하는 층 구조의 신경 회로망이다. 다층 퍼셉트론의 학습은 어느 클래스에 속하는지를 아는 입력 패턴을 네트워크의 올바른 출력 값과 함께, 네트워크에 제시하여 원하는 출력이 나오도록 가중치를 조절하는 교사 학습에 의하여 이루어진다. 다시 말해서, 입력과 그에 해당하는 출력을 정확히 알고 있는 여러 개의 완전 세트를 학습 패턴(training pattern)으로 네트워크에 인가하여, 그입력 패턴에 대하여 실제 네트워크의 출력과 원하는 출력과의 차이를 적당한 목적 함수로 정의한 후, 이를 최소로 하는 가중치를 구하게 된다. 이때, 이 목적함수는 입력, 원하는 출력, 그리고 가중치에 대한 함수로 표시된다. 일반적으로, 목적 함수는 평균 제곱 오차를 사용하거나, cross entropy 오차를 사용한다.
), for output layer
= g( ), for the i-th hidden layer
= g( ), for the 1st hidden layer
은닉층의 출력은 수학식 2와 수학식 3에 의하여 결정되며, 출력층의 출력은 수학식 1에 의하여 결정된다. 여기에서, g 함수는 스칼라 활성화 함수(scalar activation function)로서, 주로 sigmoid 함수가 자주 이용된다. 목적 함수를 평균 제곱 오차로 정의하고, 충분히 많은 학습 패턴에 대하여, 목적 함수의 최소화가 이루어졌다면, 다층 퍼셉트론의 출력층의 각 뉴런은 해당하는 각 클래스의 사후 확률(a posteriori probability) 또는 그에 비례하는 값에 근사한다는 것이 알려져 있다.
다층 퍼셉트론 등의 신경 회로망은 기존의 통계적인 원리를 이용하거나, 지식에 기반을 두어 분류나 인식을 처리하는 방법들과 많은 차이를 가지고 있다. 특히, 음성 인식 또는 영상 인식 분야에 있어, 신경 회로망은 여러 가지 매력적인 장점을 가지고 있다. 첫째로, 생각할 수 있는 장점은 신경 회로망은 기본적으로 분별 학습(discriminant learning)을 한다는 점이다. 즉, 다층 퍼셉트론은 입력 패턴에 대해 자신이 속해 있는 클래스의 출력 값을 크게 함과 동시에 패턴이 속해 있지 않은 다른 클래스의 출력 값들을 작게 하여, 출력 오차 값을 감소시킨다. 이는 입력 패턴에 대해, 자신이 속해 있는 클래스의 가능성(likelihood) 만을 최대화시키는 방식에 비해, 패턴이 속해 있지 않는 다른 클래스에 대해서도 모델 파라미터가 경쟁자 클래스에 속하지 않도록 최적화되기 때문에, 클래스간의 분별력이 증가한다. 둘째, 변이가 심한 음성 신호 또는 영상 신호에 대해 일반화 성능이 뛰어나다. 셋째, 기존의 순차적인 방식과 달리, 자체의 구조적인 특성으로 인해 병렬 수행이 가능하여, 한번에 많은 양의 자료를 효율적으로 처리할 수 있다. 넷째, 일반적으로 제한된 학습 데이터에 대해서 좀 더 강인한 특성을 보인다.
도 3은 본 발명의 일 실시예에 따른 부호화 데이터 크기 학습 장치의 구성도이다.
부호화 데이터 크기 학습 장치는 학습용 부호화 데이터 생성부(31) 및 신경 회로망 학습부(32)로 구성된다. 일반적으로, 신경 회로망을 이용한 제품의 경우, 학습이 완료된 신경 회로망을 이용하기 때문에, 부호화 데이터 크기 학습 장치는 생산 공정 단계에서 적용될 것이다.
학습용 부호화 데이터 생성부(31)는 학습용 데이터를 소정의 부호화 방식으로 부호화하여 학습용 부호화 데이터를 생성한다. 여기에서, 상기 부호화 방식은주로 영상 데이터나 음성 데이터를 압축하는 부호화 방식 중, 어느 하나가 될 것이다. 이를테면, 가변 길이 부호화(VLC, Variable Length Coding) 방식이 일 예가 될 수 있다. 가변 길이 부호화란 확률이 높게 나타나는 문자는 "0", "1", "01", "10" 등과 같은 짧은 부호로 표현하고, 확률이 낮게 나타나는 문자는 "0011", "01010", 등과 같은 긴 부호로 표현함으로서, 효율적으로 부호화하는 방식을 말한다. 여기에서, 학습용 부호화 데이터는 신경 회로망(33)을 학습시키기 위한 것이므로, 다양한 값을 갖는 것일수록 신경 회로망(33)이 다양한 값에 적응할 수 있는 능력을 갖게 되므로, 학습 효과가 좋게 된다.
상기 신경 회로망 학습부(32)는 학습용 데이터를 신경 회로망(33)의 입력층에 입력하고, 학습용 데이터로부터 상기 부호화 방식으로 부호화된 학습용 부호화 데이터의 크기를 신경 회로망(33)의 출력층에 입력하여, 신경 회로망을 학습시킨다. 도 2에서 상기한 바와 같이, 신경 회로망의 학습은 어느 클래스에 속하는지를 아는 입력 패턴을 네트워크의 올바른 출력 값과 함께, 네트워크에 제시하여 원하는 출력이 나오도록 가중치를 조절하는 교사 학습에 의하여 이루어진다. 여기에서, 입력층에는 부호화하기 전인 학습용 데이터를, 출력층에는 부호화한 이후의 학습용 부호화 데이터의 크기를 입력한다. 상기 부호화 방식이 압축 부호화 방식의 일종이라면, 부호화 데이터의 크기는 압축된 데이터의 크기나, 움직임 벡터 차(motion vector difference) 등이 될 것이다.
도 4는 본 발명의 일 실시예에 따른 부호화 데이터 크기 선택 장치의 구성도이다.
부호화 데이터 크기 선택 장치는 부호화 데이터 예측 크기 수신부(41), 부호화 데이터 예측 크기 선택부(42), 및 부호화 데이터 생성부(43)로 구성된다.
부호화 데이터 예측 크기 수신부(41)는 신경 회로망(44)에 대한 학습이 완료된 경우, 학습이 완료된 신경 회로망(44)에 소정의 데이터를 입력하여, 신경 회로망으로부터 데이터에 대응하는 부호화 데이터의 예측 크기를 수신한다. 학습이 완료된 신경 회로망(44)에 부호화하고자 하는 데이터를 입력하면, 신경 회로망(44)은 이제까지 학습한 정보를 토대로 하여, 데이터를 부호화한 경우, 예측되는 데이터의 크기를 출력한다. 부호화 데이터 예측 크기 수신부(41)는 출력된 부호화 데이터의 예측 크기를 수신한다.
부호화 데이터 예측 크기 선택부(42)는 부호화 데이터 예측 크기 수신부(41)에서 수신된 예측 크기에 대하여, 사용자로부터 선택을 받는다. 사용자는 영상 출력 장치나 음성 출력 장치(주로, 영상 출력 장치)를 통하여, 데이터를 부호화할 경우, 예측되는 크기가 얼마인지를 알게 된다. 사용자가 원하는 크기인 경우에는 선택하게 될 것이고, 원하지 않는 크기일 경우에는 선택하지 않게 될 것이다. 예를 들면, 상기 부호화 방식이 압축 부호화 방식의 일종이라면, 예측 크기가 사용자가 원하는 만큼의 압축된 크기를 나타낸다면, 상기 예측 크기를 선택할 것이다. 여기에서, 예측 크기의 선택은 사용자가 직접 입력 도구를 이용하여 선택하는 경우뿐만 아니라, 사용자가 작성한 프로그램에 의하여, 자동적으로 선택되는 경우도 포함한다.
부호화 데이터 생성부(43)는 상기 예측 크기가 사용자로부터 선택을 받은 경우, 선택을 받은 예측 크기에 대응하는 데이터를 상기 부호화 방식으로 부호화하여 부호화 데이터를 생성한다. 예를 들면, 예측 크기가 사용자가 원하는 만큼의 압축된 크기를 나타내고, 사용자가 이 예측 크기를 선택한 경우, 비로소 상기 부호화 방식으로 부호화를 하게 될 것이다. 즉, 원하는 크기의 압축된 데이터를 얻기 위해서는, 종래에는 일일이 압축하여 그 결과를 보아야 했으나, 본 발명에 의하면, 신경 회로망을 이용하여, 압축 후의 크기를 예측해봄으로서, 사용자가 원하는 결과가 도출될 수 있는 경우만에 대해서만 압축 과정을 실행함으로서, 원하는 크기의 압축된 데이터를 얻기 위해서, 일일이 압축하여야 하는 부담을 덜 수 있게 되었다.
도 5는 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 학습 장치의 구성도이다.
가변 길이 부호화 비트 스트림 길이 학습 장치는 학습용 양자화 DCT 계수 블록 생성부(51), 학습용 비트 스트림 생성부(52), 및 신경 회로망 학습부(53)로 구성된다. 일반적으로, 신경 회로망을 이용한 제품의 경우, 학습이 완료된 신경 회로망을 이용하기 때문에, 가변 길이 부호화 비트 스트림 길이 학습 장치는 생산 공정 단계에서 적용될 것이다.
학습용 양자화 DCT 계수 블록 생성부(51)는 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성한다. 여기에서, 학습용 영상 데이터란 이것을 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스를 말한다.
일반적으로 영상 데이터를 압축하는 과정은 다음과 같다. 우선, 원래의 영상 데이터를 8 X 8 블록으로 나누고, 8 X 8 블록 단위로 이산 코사인 변환한다. 즉, 시간 영역의 영상 신호를 몇 개의 신호 전력이 고주파인 영역과 저주파인 영역으로 분해하여 변환하는 이산 코사인 변환을 한다. 여기에서, 영상 신호의 정보는 저주파 영역에 집중되어 있기 때문에, 많은 정보를 포함한 저주파 영역에 많은 비트 수를, 적은 정보를 포함한 고주파 영역에 적은 비트 수를 할당하여, 고주파 영역에 사용되는 비트 수를 줄임으로서, 열화 없이 효과적으로 압축할 수 있게 된다. 이어서, 일정한 크기를 가진 양자화 파라미터로 나눔으로서, 작은 값은 0으로 만들어, 전체적인 데이터 량을 줄이기 위한 양자화를 한다. 이때, 0이 되어 사라진 숫자들 때문에, 약간의 정보 손실이 있게 된다. 이어서, 연속적으로 반복되는 문자들(여기서는 0)을 하나의 문자와 그 길이로 대체하는 런 길이 부호화(run-length encoding)를 한다. 반복되는 문자가 길거나, 더 자주 나타날수록 압축 효율은 높아진다. 이어서, 지그재그 스캐닝(scanning)을 통하여 만들어진 정수열을 이진수로 변환하는 허프만 부호화(Huffman encoding)를 한다. 상기된 모든 압축 과정을 통과하면, 8 x 8 행렬은 몇 개의 0과 1의 조합으로 줄어들게 된다. 이와 같이 압축된 영상 데이터를 풀려면, 상기된 압축 과정을 역으로 수행하면 된다. 학습용 양자화 DCT 계수 블록 생성부(51)는 상기된 압축 과정 중, 양자화 과정까지를 수행한다.
학습용 비트 스트림 생성부(52)는 학습용 양자화 DCT 계수 블록 생성부(51)에서 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성한다. 학습용 비트 스트림 생성부(52)는 상기된 압축 과정 중, 양자화이후의 런 길이 부호화 및 허프만 부호화 과정을 수행한다. 특히, 발생 확률이 높은 문자에는 짧은 길이의 부호를 할당하고, 발생 확률이 낮은 문자에는 긴 길이의 부호를 할당함으로서, 압축 효율을 높여서 부호화하는 경우, 가변 길이 부호화(VLC, Variable Length Coding)한다고 한다. 이때, 문자 대 부호의 대응 관계는 VLC 테이블을 이용한다. 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하면, 0 값 또는 1 값을 갖는 비트가 연속적으로 늘어서 있는 비트 스트림이 생성되게 된다.
신경 회로망 학습부(53)는 학습용 양자화 DCT 계수 블록을 신경 회로망(54)의 입력층에 입력하고, 학습용 양자화 DCT 계수 블록으로부터 가변 길이 부호화된 학습용 비트 스트림의 길이를 신경 회로망(54)의 출력층에 입력하여, 신경 회로망(54)을 학습시킨다. 여기에서, 신경 회로망(54)은 주로 2 계층의 다층 퍼셉트론이나, 영상 데이터를 학습하기에 더 좋은 구조를 갖는 신경 회로 망이 있다면, 그것을 사용하여도 무방하다. 도 2에서 상기한 바와 같이, 신경 회로망의 학습은 어느 클래스에 속하는지를 아는 입력 패턴을 네트워크의 올바른 출력 값과 함께, 네트워크에 제시하여 원하는 출력이 나오도록 가중치를 조절하는 교사 학습에 의하여 이루어진다. 여기에서, 입력층에는 학습용 양자화 DCT 계수 블록을, 출력층에는 학습용 비트 스트림의 길이를 입력한다. 학습용 영상 데이터를 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되므로, 입력층에는 이 다양한 값을 갖는 학습용 양자화 DCT 계수 블록을, 출력층에는 VLC 테이블로부터 학습용 양자화 DCT 계수 블록 각각에 대응하는 학습용 비트 스트림을 얻고, 이것의 길이를입력함으로서, 신경 회로망(54)의 가중치를 조절하는 교사 학습이 이루어지게 된다. 이때, 신경 회로망(54)에 8 x 8 양자화 DCT 계수 블록의 모든 값(즉, 64개의 DCT 계수)을 입력할 수도 있으나, 양자화 DCT 계수 블록의 특성상, 대부분의 계수 값이 0일 것이므로, 0이 아닌 값을 갖는 계수만을 추출하여, 신경 회로망(54)에 입력할 수도 있다. 또는, 다른 목적을 가지고, 8 x 8 양자화 DCT 계수 블록 중, 일부만을 추출하여, 신경 회로망(54)에 입력할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 선택 장치의 구성도이다.
가변 길이 부호화 비트 스트림 길이 선택 장치는 비트 스트림 예측 길이 수신부(61), 비트 스트림 예측 길이 선택부(62), 및 비트 스트림 생성부(63)로 구성된다.
비트 스트림 예측 길이 수신부(61)는 신경 회로망(64)에 대한 학습이 완료된 경우, 학습이 완료된 신경 회로망에 소정의 양자화 DCT 계수 블록을 입력하여, 신경 회로망(64)으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신한다. 학습이 완료된 신경 회로망(64)에 상기 양자화 DCT 계수 블록을 입력하면, 신경 회로망(64)은 이제까지 학습한 정보를 토대로 하여, 상기 양자화 DCT 계수 블록을 가변 길이 부호화한 경우, 예측되는 비트 스트림의 길이를 출력한다. 비트 스트림 예측 길이 수신부(61)는 출력된 비트 스트림의 예측 길이를 수신한다. 상기한 바와 같이, 가변 길이 부호화 과정은 발생 확률이 높은 문자에는 짧은 길이의 부호를 할당하고, 발생 확률이 낮은 문자에는 긴 길이의 부호를 할당하기 위해서, VLC 테이블을 이용하여 문자와 부호를 대응시켜야 하는 부담이 많이 가는 압축 과정이다. 그러나, 본 발명에 의할 경우, 신경 회로망의 내부 처리는 수학식 1, 수학식 2, 수학식 3에서와 같이, 덧셈과 곱셈만으로 이루어지므로, 가변 길이 부호화 이후의 비트 스트림의 길이 예측은 VLC 테이블을 이용하지 않고, 덧셈과 곱셈만으로 이루어진다.
이때, 학습이 완료된 신경 회로망(64)에 8 x 8 양자화 DCT 계수 블록의 모든 값(즉, 64개의 DCT 계수)을 입력할 수도 있으나, 양자화 DCT 계수 블록의 특성상, 대부분의 계수 값이 0일 것이므로, 0이 아닌 값을 갖는 계수만을 추출하여, 학습이 완료된 신경 회로망(64)에 입력할 수도 있다. 또는, 다른 목적을 가지고, 8 x 8 양자화 DCT 계수 블록 중, 일부만을 추출하여, 학습이 완료된 신경 회로망(64)에 입력할 수도 있다.
비트 스트림 예측 길이 선택부(62)는 비트 스트림 예측 길이 수신부(61)에서 수신된 예측 길이에 대해, 사용자로부터 선택을 받는다. 사용자는 영상 출력 장치나 음성 출력 장치(주로, 영상 출력 장치)를 통하여, 데이터를 부호화할 경우, 예측되는 크기가 얼마인지를 알게 된다. 사용자가 원하는 크기인 경우에는 선택하게 될 것이고, 원하지 않는 크기일 경우에는 선택하지 않게 될 것이다. 예를 들면, 예측 길이가 사용자가 원하는 만큼의 압축된 크기를 나타낸다면, 상기 예측 길이를 선택할 것이다. 여기에서, 예측 길이의 선택은 사용자가 직접 입력 도구를 이용하여 선택하는 경우뿐만 아니라, 사용자가 작성한 프로그램에 의하여, 자동적으로 선택되는 경우도 포함한다.
비트 스트림 생성부(63)는 예측 길이가 사용자로부터 선택을 받은 경우, 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성한다. 예측 길이가 사용자가 원하는 만큼의 압축된 크기를 나타내고, 사용자가 이 예측 길이를 선택한 경우, 비로소 가변 길이 부호화를 하게 될 것이다. 즉, 원하는 크기의 가변 길이 부호화된 데이터를 얻기 위해서는, 종래에는 가변 길이 부호화하여 그 결과를 보아야 했으나, 본 발명에 의하면, 신경 회로망을 이용하여, 가변 길이 부호화 후의 비트 스트림의 길이를 예측해봄으로서, 사용자가 원하는 결과가 도출될 수 있는 경우만에 대해서만 가변 길이 부호화 과정을 실행함으로서, 원하는 길이를 갖는 가변 길이 부호화된 데이터를 얻기 위해서, 일일이 가변 길이 부호화하여야 하는 부담을 덜 수 있게 되었다. 즉, 신경 회로망에 여러 가지 양자화 파라미터, 즉 여러 가지 Q 값을 적용하여 양자화한 양자화 DCT 계수를 입력해보고, 그 결과, 사용자의 타겟 비트 율과 가장 근사한 결과를 도출하는 Q 값을 적용한 양자화 DCT 계수를 가변 길이 부호화함으로서, 사용자는 원하는 비트 율(bit rate)에 가장 접근한 비트 율을 얻을 수 있다. 결과적으로, 어떤 Q 값을 적용하였을 때, 사용자의 타겟 비트 율에 가장 접근한 결과가 도출될 수 있는 지를 예측하여, 보다 신속하고, 효율적으로 비트 율 제어를 할 수 있다.
도 7은 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 학습 장치의 구성도이다.
병렬 가변 길이 부호화 비트 스트림 길이 학습 장치는 학습용 양자화 DCT 계수 블록 생성부(71), 학습용 비트 스트림 생성부(72), 및 병렬 신경 회로망학습부(73)로 구성된다. 일반적으로, 신경 회로망을 이용한 제품의 경우, 학습이 완료된 신경 회로망을 이용하기 때문에, 병렬 가변 길이 부호화 비트 스트림 길이 학습 장치는 생산 공정 단계에서 적용될 것이다.
학습용 양자화 DCT 계수 블록 생성부(71)는 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성한다. 여기에서, 학습용 영상 데이터란 이것을 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스를 말한다. 학습용 양자화 DCT 계수 블록 생성부(71)는 다양한 값을 갖는 DCT 계수 블록들을 양자화하여, 다양한 값을 갖는 학습용 양자화 DCT 계수 블록을 생성한다.
학습용 비트 스트림 생성부(72)는 학습용 양자화 DCT 계수 블록 생성부(71)에서 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성한다. 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하면, 0 값 또는 1 값을 갖는 비트가 연속적으로 늘어서 있는 비트 스트림이 생성되게 된다.
병렬 신경 회로망 학습부(73)는 학습용 양자화 DCT 계수 블록을 병렬로 배치된 소정 개수의 신경 회로망들의 입력층에 입력하고, 학습용 양자화 DCT 계수 블록으로부터 가변 길이 부호화된 학습용 비트 스트림의 길이를 상기 개수의 신경 회로망들의 출력층에 입력하여, 상기 개수의 신경 회로망들을 학습시킨다. 예를 들어, 도시된 바와 같이, N 개의 신경 회로망들(741, 742, 743, 744)이 병렬로 배치되어 있는 경우, 신경 회로망 각각에 학습용 양자화 DCT 계수 블록과 학습용 비트 스트림의 길이를 입력하여, N 개의 신경 회로망들(741, 742, 743, 744)을 동시에 학습시킨다. 여기에서, 신경 회로망은 주로 2 계층의 다층 퍼셉트론이다.
도 8은 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 선택 장치의 구성도이다.
병렬 가변 길이 부호화 비트 스트림 길이 선택 장치는 병렬 비트 스트림 예측 길이 수신부(81), 비트 스트림 예측 길이 선택부(82), 및 비트 스트림 생성부(83)로 구성된다.
병렬 비트 스트림 예측 길이 수신부(81)는 상기 개수의 신경 회로망에 대한 학습이 완료된 경우, 학습이 완료된, 상기 개수의 신경 회로망들 각각에 소정의 DCT 계수 블록으로부터 상기 개수의 양자화 파라미터로 양자화된, 상기 개수의 양자화 DCT 계수 블록을 병렬로 입력하여, 신경 회로망들 각각으로부터 상기 개수의 양자화 DCT 계수 블록에 대응하는 상기 개수의 비트 스트림의 예측 길이를 수신한다.
압축하고자 하는 영상을 8 x 8 블록으로 나누고, 8 x 8 블록 단위로 이산 코사인 변환함으로서, 생성되는 DCT 계수 블록은 양자화 과정을 거쳐, 양자화 파라미터보다 작은 값은 0으로 된다. 이때, 0이 되어 사라진 숫자들 때문에, 약간의 정보 손실이 있게 된다. 이어서, 연속적으로 반복되는 문자들(여기서는 0)을 하나의 문자와 그 길이로 대체하는 런 길이 부호화(run-length encoding)를 한다. 반복되는 문자가 길거나, 더 자주 나타날수록 압축 효율은 높아진다. 따라서, 양자화 파라미터가 클수록, 0으로 되는 DCT 계수들이 증가하므로, 압축 효율은 높아진다. 그런데, 사용자가 원하는 만큼의 크기로 압축되는 지의 여부는 압축의 마지막 과정인 가변 길이 부호화를 한 이후에 알 수 있다. 본 발명에 의하면, 학습이 완료된 신경 회로망에 양자화 DCT 계수 블록을 입력하면, 신경 회로망은 이제까지 학습한 정보를 토대로 하여, 양자화 DCT 계수 블록을 가변 길이 부호화한 경우, 예측되는 비트 스트림의 길이를 출력한다. 따라서, N 개의 신경 회로망들(841, 842, 843, 844) 각각에 여러 가지 양자화 파라미터에 의해 양자화된 양자화 DCT 계수 블록을 입력하여, N 개의 신경 회로망들(841, 842, 843, 844)은 여러 양자화 DCT 계수 블록에 대응하는 비트 스트림의 여러 예측 길이들을 출력한다. 병렬 비트 스트림 예측 길이 수신부(81)는 출력된 비트 스트림의 여러 예측 길이들을 수신한다.
비트 스트림 예측 길이 선택부(82)는 병렬 비트 스트림 예측 길이 수신부(81)에서 수신된 상기 개수의 예측 길이에 대해, 사용자로부터 선택을 받는다. 사용자는 영상 출력 장치나 음성 출력 장치(주로, 영상 출력 장치)를 통하여, 양자화 DCT 계수를 가변 길이 부호화할 경우, 예측되는 비트 스트림의 길이가 얼마인지를 알게 된다. 사용자가 원하는 길이인 경우에는 선택하게 될 것이고, 원하지 않는 길이일 경우에는 선택하지 않게 될 것이다. 예를 들면, 예측 길이가 사용자가 원하는 만큼의 압축된 크기를 나타낸다면, 상기 예측 길이를 선택할 것이다. 여기에서, 예측 길이의 선택은 사용자가 직접 입력 도구를 이용하여 선택하는 경우뿐만 아니라, 사용자가 작성한 프로그램에 의하여, 자동적으로 선택되는 경우도 포함한다.
비트 스트림 생성부(83)는 상기 개수의 예측 길이 중, 어느 하나가 사용자로부터 선택을 받은 경우, 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성한다. 예측 길이가 사용자가 원하는 만큼의 압축된 크기를 나타내고, 사용자가 이 예측 길이를 선택한 경우, 비로소 가변 길이 부호화를 하게 될 것이다. 즉, 원하는 크기의 가변 길이 부호화된 데이터를 얻기 위해서는, 종래에는 모든 양자화 DCT 계수 블록을 가변 길이 부호화하여 그 결과를 보아야 했으나, 본 발명에 의하면, 신경 회로망을 이용하여, 가변 길이 부호화 후의 비트 스트림의 길이를 예측해봄으로서, 사용자가 원하는 결과가 도출될 수 있는 경우만에 대해서만 가변 길이 부호화 과정을 실행함으로서, 원하는 길이를 갖는 가변 길이 부호화된 데이터를 얻기 위해서, 일일이 가변 길이 부호화하여야 하는 부담을 덜 수 있게 되었다.
도 9는 본 발명의 일 실시예에 따른 영상 데이터 압축 장치의 구성도이다.
영상 데이터 압축 장치는 이산 코사인 변환부(91), 양자화부(92), 가변 길이 부호화 비트 스트림 길이 선택부(93), 및 비트 스트림 생성부(94)로 구성된다.
이산 코사인 변환부(91)는 소정의 영상 데이터를 이산 코사인 변환하여 DCT 계수 블록을 생성한다. 압축하고자하는 영상을 8 x 8 블록으로 나누고, 8 x 8 블록 단위로 이산 코사인 변환을 한다. 이산 코사인 변환을 하면, 많은 정보를 포함한 저주파 영역에 많은 비트 수가, 적은 정보를 포함한 고주파 영역에 적은 비트 수가 할당되게 된다. 여기에서, 영상 데이터란 압축하고자 하는 비디오 시퀀스를 말한다.
양자화부(92)는 이산 코사인 변환부(91)에서 생성된 DCT 계수 블록을 소정의양자화 파라미터로 양자화하여 양자화 DCT 계수 블록을 생성한다. 일정한 크기를 가진 양자화 파라미터로 나눔으로서, 작은 값은 0으로 만들어, 전체적인 데이터 량을 줄이기 위한 양자화를 한다. 이때, 0이 되어 사라진 숫자들 때문에, 약간의 정보 손실이 있게 된다.
가변 길이 부호화 비트 스트림 길이 선택부(93)는 학습이 완료된 신경 회로망에 양자화부(92)에서 생성된 양자화 DCT 계수 블록을 입력하여, 신경 회로망으로부터 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하고, 수신된 예측 길이에 대해, 사용자로부터 선택을 받는다. 여기에서, 신경 회로망은 주로 2 계층의 다층 퍼셉트론이다.
비트 스트림 생성부(94)는 수신된 예측 길이가 사용자로부터 선택을 받은 경우, 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성한다. 예측 길이가 사용자가 원하는 만큼의 압축된 크기를 나타내고, 사용자가 이 예측 길이를 선택한 경우, 비로소 가변 길이 부호화를 하게 될 것이다. 즉, 원하는 크기의 가변 길이 부호화된 데이터를 얻기 위해서는, 종래에는 모든 양자화 DCT 계수 블록을 가변 길이 부호화하여 그 결과를 보아야 했으나, 본 발명에 의하면, 신경 회로망을 이용하여, 가변 길이 부호화 후의 비트 스트림의 길이를 예측해봄으로서, 사용자가 원하는 결과가 도출될 수 있는 경우만에 대해서만 가변 길이 부호화 과정을 실행함으로서, 원하는 길이를 갖는 가변 길이 부호화된 데이터를 얻기 위해서, 일일이 가변 길이 부호화하여야 하는 부담을 덜 수 있게 되었다.
도시된 영상 데이터 압축 장치는 정지 영상을 JPEG(Joint Photographic Experts Group) 형식의 압축 파일로 압축하는데 사용되고, 동영상을 MPEG(Motion Picture Experts Group) 형식의 압축 파일로 압축할 때에는 도시된 영상 데이터 압축 장치에 차분 펄스 부호 변조(DPCM, Differential Pulse Code Modulation)를 하는 장치가 추가되어야 한다. 이것은 이미 전송된 신호로부터 앞으로 전송될 신호치를 예측하고, 이 예측치와 실제치의 차를 부호화하여 전송하는 방식을 말한다. 예를 들면, A점의 신호치를 예측치로 사용하면 B점의 신호치와의 차가 예측 오차가 되는데, B점의 신호를 전송하는 대신 이 예측 오차를 부호화해서 전송한다.
도 10은 본 발명의 일 실시예에 따른 부호화 데이터 크기 학습 방법의 흐름도이다.
학습용 데이터를 부호화 방식으로 부호화하여 학습용 부호화 데이터를 생성한다(101). 이어서, 학습용 데이터를 신경 회로망의 입력층에 입력하고, 학습용 데이터로부터 소정의 부호화 방식으로 부호화된 학습용 부호화 데이터의 크기를 신경 회로망의 출력층에 입력하여, 신경 회로망을 학습시킨다(102).
도 11은 본 발명의 일 실시예에 따른 부호화 데이터 크기 선택 방법의 흐름도이다.
학습이 완료된 신경 회로망에 소정의 데이터를 입력하여, 신경 회로망으로부터 상기 데이터에 대응하는 부호화 데이터의 예측 크기를 수신한다(111). 이어서, 수신된 예측 크기에 대하여, 사용자로부터 선택을 받는다(112). 이어서, 예측 크기가 사용자로부터 선택을 받은 경우(112), 상기 데이터를 상기 부호화 방식으로 부호화하여 부호화 데이터를 생성한다(113).
도 12는 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 학습 방법의 흐름도이다.
학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성한다(121). 여기에서, 학습용 영상 데이터란 이것을 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스를 말한다. 이어서, 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성한다(122). 이어서, 학습용 양자화 DCT 계수 블록을 신경 회로망의 입력층에 입력하고, 학습용 양자화 DCT 계수 블록으로부터 가변 길이 부호화된 학습용 비트 스트림의 길이를 신경 회로망의 출력층에 입력하여, 신경 회로망을 학습시킨다(123). 여기에서, 신경 회로망은 주로 2 계층의 다층 퍼셉트론이다.
도 13은 본 발명의 일 실시예에 따른 가변 길이 부호화 비트 스트림 길이 선택 방법의 흐름도이다.
학습이 완료된 신경 회로망에 소정의 양자화 DCT 계수 블록을 입력하여, 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신한다(131). 이어서, 상기 수신된 예측 길이에 대해, 사용자로부터 선택을 받는다(132). 이어서, 예측 길이가 사용자로부터 선택을 받은 경우(132), 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성한다(133).
도 14는 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 학습 방법의 흐름도이다.
학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성한다(141). 여기에서, 학습용 영상 데이터란 이것을 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스를 말한다. 이어서, 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성한다(142). 이어서, 학습용 양자화 DCT 계수 블록을 병렬로 배치된 소정 개수의 신경 회로망들의 입력층에 입력하고, 학습용 양자화 DCT 계수 블록으로부터 가변 길이 부호화된 학습용 비트 스트림의 길이를 상기 개수의 신경 회로망들의 출력층에 입력하여, 상기 개수의 신경 회로망들을 학습시킨다(143). 여기에서, 신경 회로망은 주로 2 계층의 다층 퍼셉트론이다.
도 15는 본 발명의 일 실시예에 따른 병렬 가변 길이 부호화 비트 스트림 길이 선택 방법의 흐름도이다.
학습이 완료된, 상기 개수의 신경 회로망들 각각에 소정의 DCT 계수 블록으로부터 상기 개수의 양자화 파라미터로 양자화된, 상기 개수의 양자화 DCT 계수 블록을 병렬로 입력하여, 신경 회로망들 각각으로부터 상기 개수의 양자화 DCT 계수 블록에 대응하는 상기 개수의 비트 스트림의 예측 길이를 수신한다(151). 이어서, 수신된 상기 개수의 예측 길이에 대해, 사용자로부터 선택을 받는다(152). 이어서,상기 개수의 예측 길이 중, 어느 하나가 사용자로부터 선택을 받은 경우(152), 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성한다(153).
도 16은 본 발명의 일 실시예에 따른 영상 데이터 압축 방법의 흐름도이다.
소정의 영상 데이터를 이산 코사인 변환하여 DCT 계수 블록을 생성한다(161). 여기에서, 영상 데이터란 압축하고자 하는 비디오 시퀀스를 말한다. 이어서, 생성된 DCT 계수 블록을 소정의 양자화 파라미터로 양자화하여 양자화 DCT 계수 블록을 생성한다(162). 이어서, 학습용 양자화 DCT 계수 블록을 신경 회로망의 입력층에 입력하고, 학습용 양자화 DCT 계수 블록으로부터 가변 길이 부호화된 학습용 비트 스트림의 길이를 신경 회로망의 출력층에 입력하여, 신경 회로망을 학습시키고, 신경 회로망에 대한 학습이 완료된 경우, 학습이 완료된 신경 회로망에 생성된 양자화 DCT 계수 블록을 입력하여, 신경 회로망으로부터 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하고(163), 수신된 예측 길이에 대해, 사용자로부터 선택을 받는다(164). 여기에서, 신경 회로망은 주로 2 계층의 다층 퍼셉트론이다. 이어서, 수신된 예측 길이가 사용자로부터 선택을 받은 경우(164), 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성한다(165).
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 신경 회로망을 이용하여 가변 길이 부호화의 결과인 비트 스트림의 길이를 예측할 수 있게 함으로서, 가변 길이 부호화하지 않고도, 사용자가 원하는 비트 스트림의 길이를 미리 선택할 수 있다는 효과가 있다. 즉, 각각의 Q 값에 대해 일일이 가변 길이 부호화를 해 볼 필요 없이, 어떤 Q를 적용하였을 때, 가장 타겟 비트 율에 근사한 결과가 도출되는 지를 예측하여, 보다 신속하고, 효율적으로 비트 율 제어를 할 수 있다는 효과가 있다. 특히, 가변 길이 부호화 과정에서는 VLC 테이블을 이용하여야 하는데, 이것은 부하가 많이 걸려, 시스템에 막대한 낭비를 초래하였는데, 곱셈과 덧셈만으로 처리될 수 있는 신경 회로망을 이용하여, 가변 길이 부호화의 결과인 비트 스트림의 길이를 예측할 수 있게 함으로서, 시스템의 막대한 낭비를 방지할 수 있다는 효과가 있다.
또한, 원하는 비트 율을 신속하게 찾기 위해서, 하드웨어적으로 병렬 처리하는 경우가 일반적인데, 이러한 경우 각각이 VLC 테이블을 가지고 있지 않아도 되므로, 시스템의 막대한 낭비를 방지할 수 있다는 효과가 있다. 나아가, 본 발명은 양자화 DCT 계수 블록의 가변 길이 부호화 결과를 예측하는 것 이외에도, 다른 계수(예를 들면, 모션 벡터 차(motion vector difference) 등)들의 가변 길이 부호화 결과 예측에도 이용될 수 있다. 즉, 가변 길이 부호화를 해 보지 않고도, 미리 비트 스트림의 길이를 알고 싶은 여러 가지 어플리케이션(application)에 적용 가능하다는 효과가 있다.

Claims (37)

  1. 학습용 데이터를 소정의 부호화 방식으로 부호화하여 학습용 부호화 데이터를 생성하는 학습용 부호화 데이터 생성부; 및
    상기 학습용 부호화 데이터 생성부에서 생성된 학습용 데이터를 신경 회로망의 입력층에 입력하고, 상기 학습용 데이터로부터 상기 부호화 방식으로 부호화된 학습용 부호화 데이터의 크기를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 신경 회로망 학습부를 포함하는 것을 특징으로 하는 부호화 데이터 크기 학습 장치.
  2. 학습이 완료된 신경 회로망에 소정의 데이터를 입력하여, 상기 신경 회로망으로부터 상기 데이터에 대응하는 부호화 데이터의 예측 크기를 수신하는 부호화 데이터 예측 크기 수신부; 및
    상기 부호화 데이터 예측 크기 수신부에서 수신된 예측 크기에 대하여, 사용자로부터 선택을 받는 부호화 데이터 예측 크기 선택부를 포함하는 것을 특징으로 하는 부호화 데이터 크기 선택 장치.
  3. 제 2 항에 있어서,
    상기 예측 크기가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 크기에 대응하는 데이터를 상기 부호화 방식으로 부호화하여 부호화 데이터를 생성하는 부호화 데이터 생성부를 포함하는 것을 특징으로 하는 부호화 데이터 크기 선택 장치.
  4. 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 학습용 양자화 DCT 계수 블록 생성부;
    상기 학습용 양자화 DCT 계수 블록 생성부에서 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 학습용 비트 스트림 생성부; 및
    상기 학습용 비트 스트림 생성부에서 생성된 학습용 양자화 DCT 계수 블록을신경 회로망의 입력층에 입력하고, 상기 학습용 비트 스트림 생성부에서 생성된 학습용 비트 스트림의 길이를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 신경 회로망 학습부를 포함하는 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 장치.
  5. 제 4 항에 있어서, 상기 학습용 영상 데이터는 상기 학습용 영상 데이터를 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 장치.
  6. 제 4 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 장치.
  7. 학습이 완료된 신경 회로망에 소정의 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하는 비트 스트림 예측 길이 수신부; 및
    상기 비트 스트림 예측 길이 수신부에서 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 비트 스트림 예측 길이 선택부를 포함하는 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 선택 장치.
  8. 제 7 항에 있어서,
    상기 예측 길이가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 비트 스트림 생성부를 포함하는 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 선택 장치.
  9. 제 7 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 선택 장치.
  10. 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 학습용 양자화 DCT 계수 블록 생성부;
    상기 학습용 양자화 DCT 계수 블록 생성부에서 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 학습용 비트 스트림 생성부; 및
    상기 학습용 양자화 DCT 계수 블록 생성부에서 생성된 학습용 양자화 DCT 계수 블록을 병렬로 배치된 소정 개수의 신경 회로망들의 입력층에 입력하고, 학습용 비트 스트림 생성부에서 생성된 학습용 비트 스트림의 길이를 상기 개수의 신경 회로망들의 출력층에 입력하여, 상기 개수의 신경 회로망들을 학습시키는 병렬 신경 회로망 학습부를 포함하는 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림길이 학습 장치.
  11. 제 10 항에 있어서, 상기 학습용 영상 데이터는 상기 학습용 영상 데이터를 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 장치.
  12. 제 10 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 학습 장치.
  13. 학습이 완료된, 소정 개수의 신경 회로망 각각에 소정의 DCT 계수 블록으로부터 상기 개수의 양자화 파라미터로 양자화된, 상기 개수의 양자화 DCT 계수 블록을 병렬로 입력하여, 상기 신경 회로망들 각각으로부터 상기 개수의 양자화 DCT 계수 블록에 대응하는 상기 개수의 비트 스트림의 예측 길이를 수신하는 병렬 비트 스트림 예측 길이 수신부; 및
    상기 병렬 비트 스트림 예측 길이 수신부에서 수신된, 상기 개수의 예측 길이에 대해, 사용자로부터 선택을 받는 비트 스트림 예측 길이 선택부를 포함하는 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 선택 장치.
  14. 제 13 항에 있어서,
    상기 개수의 예측 길이 중, 어느 하나가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 비트 스트림 생성부를 포함하는 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 선택 장치.
  15. 제 13 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 선택 장치.
  16. 소정의 영상 데이터를 이산 코사인 변환하여 DCT 계수 블록을 생성하는 이산 코사인 변환부;
    상기 이산 코사인 변환부에서 생성된 DCT 계수 블록을 소정의 양자화 파라미터로 양자화하여 양자화 DCT 계수 블록을 생성하는 양자화부;
    학습이 완료된 신경 회로망에 상기 양자화부에서 생성된 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하고, 상기 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 가변 길이 부호화 비트 스트림 길이 선택부; 및
    상기 예측 길이가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 비트 스트림 생성부를 포함하는 것을 특징으로 하는 영상 데이터 압축 장치.
  17. 제 16 항에 있어서, 상기 영상 데이터는 압축하고자 하는 비디오 시퀀스인 것을 특징으로 하는 영상 데이터 압축 장치.
  18. 제 16 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 영상 데이터 압축 장치.
  19. (a) 학습용 데이터를 소정의 부호화 방식으로 부호화하여 학습용 부호화 데이터를 생성하는 단계; 및
    (b) 상기 생성된 학습용 데이터를 신경 회로망의 입력층에 입력하고, 상기 학습용 데이터로부터 상기 부호화 방식으로 부호화된 학습용 부호화 데이터의 크기를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 단계를 포함하는 것을 특징으로 하는 부호화 데이터 크기 학습 방법.
  20. (a) 학습이 완료된 신경 회로망에 소정의 데이터를 입력하여, 상기 신경 회로망으로부터 상기 데이터에 대응하는 부호화 데이터의 예측 크기를 수신하는 단계; 및
    (b) 상기 수신된 예측 크기에 대하여, 사용자로부터 선택을 받는 단계를 포함하는 것을 특징으로 하는 부호화 데이터 크기 선택 방법.
  21. 제 20 항에 있어서,
    (c) 상기 예측 크기가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 크기에 대응하는 데이터를 상기 부호화 방식으로 부호화하여 부호화 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 부호화 데이터 크기 선택 방법.
  22. (a) 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 단계;
    (b) 상기 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 단계; 및
    (c) 상기 생성된 학습용 양자화 DCT 계수 블록을 신경 회로망의 입력층에 입력하고, 상기 생성된 학습용 비트 스트림의 길이를 상기 신경 회로망의 출력층에 입력하여, 상기 신경 회로망을 학습시키는 단계를 포함하는 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 방법.
  23. 제 22 항에 있어서, 상기 학습용 영상 데이터는 상기 학습용 영상 데이터를 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 방법.
  24. 제 22 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 방법.
  25. (a) 학습이 완료된 신경 회로망에 소정의 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하는 단계; 및
    (b) 상기 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 단계를 포함하는 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 선택 방법.
  26. 제 25 항에 있어서,
    (c) 상기 예측 길이가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 단계를 포함하는 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 선택 방법.
  27. 제 25 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 선택 방법.
  28. (a) 학습용 영상 데이터를 이산 코사인 변환하여 학습용 DCT 계수 블록을 생성하고, 상기 생성된 학습용 DCT 계수 블록을 학습용 양자화 파라미터로 양자화하여 학습용 양자화 DCT 계수 블록을 생성하는 단계;
    (b) 상기 생성된 학습용 양자화 DCT 계수 블록을 가변 길이 부호화하여 학습용 비트 스트림을 생성하는 단계; 및
    (c) 상기 생성된 학습용 양자화 DCT 계수 블록을 병렬로 배치된 소정 개수의 신경 회로망들의 입력층에 입력하고, 상기 생성된 학습용 비트 스트림의 길이를 상기 개수의 신경 회로망들의 출력층에 입력하여, 상기 개수의 신경 회로망들을 학습시키는 단계를 포함하는 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 학습 방법.
  29. 제 28 항에 있어서, 상기 학습용 영상 데이터는 상기 학습용 영상 데이터를 이산 코사인 변환하는 경우, 다양한 값을 갖는 DCT 계수 블록이 생성되는 임의의 비디오 시퀀스인 것을 특징으로 하는 가변 길이 부호화 비트 스트림 길이 학습 방법.
  30. 제 28 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 학습 방법.
  31. (a) 학습이 완료된, 소정 개수의 신경 회로망 각각에 소정의 DCT 계수 블록으로부터 상기 개수의 양자화 파라미터로 양자화된, 상기 개수의 양자화 DCT 계수 블록을 병렬로 입력하여, 상기 신경 회로망들 각각으로부터 상기 개수의 양자화DCT 계수 블록에 대응하는 상기 개수의 비트 스트림의 예측 길이를 수신하는 단계; 및
    (b) 상기 수신된, 상기 개수의 예측 길이에 대해, 사용자로부터 선택을 받는 단계를 포함하는 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 선택 방법.
  32. 제 31 항에 있어서,
    (c) 상기 개수의 예측 길이 중, 어느 하나가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 단계를 포함하는 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 선택 방법.
  33. 제 31 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 병렬 가변 길이 부호화 비트 스트림 길이 선택 방법.
  34. (a) 소정의 영상 데이터를 이산 코사인 변환하여 DCT 계수 블록을 생성하는 단계;
    (b) 상기 생성된 DCT 계수 블록을 소정의 양자화 파라미터로 양자화하여 양자화 DCT 계수 블록을 생성하는 단계;
    (c) 학습이 완료된 신경 회로망에 상기 생성된 양자화 DCT 계수 블록을 입력하여, 상기 신경 회로망으로부터 상기 양자화 DCT 계수 블록에 대응하는 비트 스트림의 예측 길이를 수신하고, 상기 수신된 예측 길이에 대해, 사용자로부터 선택을 받는 단계; 및
    (d) 상기 예측 길이가 사용자로부터 선택을 받은 경우, 상기 선택을 받은 예측 길이에 대응하는 양자화 DCT 계수 블록을 가변 길이 부호화하여 비트 스트림을 생성하는 단계를 포함하는 것을 특징으로 하는 영상 데이터 압축 방법.
  35. 제 34 항에 있어서, 상기 영상 데이터는 압축하고자 하는 비디오 시퀀스인 것을 특징으로 하는 영상 데이터 압축 방법.
  36. 제 34 항에 있어서, 상기 신경 회로망은 2 계층의 다층 퍼셉트론인 것을 특징으로 하는 영상 데이터 압축 방법.
  37. 제 19 항 내지 제 36 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2003-0004099A 2003-01-21 2003-01-21 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법 KR100529311B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2003-0004099A KR100529311B1 (ko) 2003-01-21 2003-01-21 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법
CNA2004100396151A CN1525761A (zh) 2003-01-21 2004-01-21 使用神经网络选择可变长度编码比特流长度的装置和方法
US10/760,400 US6885320B2 (en) 2003-01-21 2004-01-21 Apparatus and method for selecting length of variable length coding bit stream using neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0004099A KR100529311B1 (ko) 2003-01-21 2003-01-21 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040067119A true KR20040067119A (ko) 2004-07-30
KR100529311B1 KR100529311B1 (ko) 2005-11-17

Family

ID=32768539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0004099A KR100529311B1 (ko) 2003-01-21 2003-01-21 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법

Country Status (3)

Country Link
US (1) US6885320B2 (ko)
KR (1) KR100529311B1 (ko)
CN (1) CN1525761A (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041571B2 (en) * 2007-01-05 2011-10-18 International Business Machines Corporation Application of speech and speaker recognition tools to fault detection in electrical circuits
US10038902B2 (en) * 2009-11-06 2018-07-31 Adobe Systems Incorporated Compression of a collection of images using pattern separation and re-organization
KR101831311B1 (ko) * 2010-12-31 2018-02-23 한국전자통신연구원 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
US9326000B2 (en) * 2014-07-02 2016-04-26 Omnivision Technologies (Shanghai) Co., Ltd. Method and system for still image encoding and random access decoding
RU2595598C2 (ru) * 2014-11-27 2016-08-27 Самсунг Электроникс Ко., Лтд. Способ и устройство сжатия с использованием подхода на основе нейронной сети
WO2016132145A1 (en) 2015-02-19 2016-08-25 Magic Pony Technology Limited Online training of hierarchical algorithms
WO2016156864A1 (en) 2015-03-31 2016-10-06 Magic Pony Technology Limited Training end-to-end video processes
GB201604672D0 (en) 2016-03-18 2016-05-04 Magic Pony Technology Ltd Generative methods of super resolution
US10499056B2 (en) * 2016-03-09 2019-12-03 Sony Corporation System and method for video processing based on quantization parameter
WO2017178808A1 (en) 2016-04-12 2017-10-19 Magic Pony Technology Limited Visual data processing using energy networks
GB201607994D0 (en) 2016-05-06 2016-06-22 Magic Pony Technology Ltd Encoder pre-analyser
EP3459017B1 (en) * 2016-05-20 2023-11-01 Deepmind Technologies Limited Progressive neural networks
CN107516527A (zh) * 2016-06-17 2017-12-26 中兴通讯股份有限公司 一种语音编解码方法和终端
CN107046646B (zh) * 2016-12-30 2020-05-22 上海寒武纪信息科技有限公司 基于深度自动编码器的视频编解码装置及方法
US10509624B2 (en) 2017-01-30 2019-12-17 Cirrus Logic, Inc. Single-bit volume control
US10418044B2 (en) 2017-01-30 2019-09-17 Cirrus Logic, Inc. Converting a single-bit audio stream to a single-bit audio stream with a constant edge rate
US10096134B2 (en) * 2017-02-01 2018-10-09 Nvidia Corporation Data compaction and memory bandwidth reduction for sparse neural networks
US11363302B2 (en) 2017-10-12 2022-06-14 Mediatek Inc. Method and apparatus of neural network for video coding
US10499081B1 (en) 2018-06-19 2019-12-03 Sony Interactive Entertainment Inc. Neural network powered codec
KR102621118B1 (ko) * 2018-11-01 2024-01-04 삼성전자주식회사 영상 적응적 양자화 테이블을 이용한 영상의 부호화 장치 및 방법
WO2020194292A1 (en) * 2019-03-25 2020-10-01 Ariel Scientific Innovations Ltd. Systems and methods of data compression
EP4082119A4 (en) 2019-12-23 2024-02-21 Ariel Scientific Innovations Ltd. DATA COMPRESSION SYSTEMS AND METHODS
CN111431540B (zh) * 2020-04-01 2021-10-08 西安交通大学 一种基于神经网络模型的fpga配置文件算术压缩与解压方法
CN113691818B (zh) * 2021-08-25 2023-06-30 深圳龙岗智能视听研究院 视频目标检测方法、系统、存储介质、计算机视觉终端

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2060554A1 (en) * 1991-04-18 1992-10-19 Shawn Michael Austvold Apparatus and method for facilitating use of a neural network
US5333210A (en) * 1992-07-02 1994-07-26 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method and system for pattern analysis using a coarse-coded neural network
KR0160631B1 (ko) * 1993-07-22 1999-01-15 김광호 디지털 영상 데이터 압축 장치
US5749066A (en) * 1995-04-24 1998-05-05 Ericsson Messaging Systems Inc. Method and apparatus for developing a neural network for phoneme recognition
KR0165405B1 (ko) * 1995-06-22 1999-03-20 김광호 신경 회로를 이용한 가변장 부호의 비트량 제어 장치
US6035177A (en) * 1996-02-26 2000-03-07 Donald W. Moses Simultaneous transmission of ancillary and audio signals by means of perceptual coding
KR100248072B1 (ko) * 1997-11-11 2000-03-15 정선종 신경망을 이용한 영상 데이터 압축/복원 장치의 구조 및압축/복원 방법
JPH11259455A (ja) * 1998-03-12 1999-09-24 Victor Co Of Japan Ltd 離散コサイン変換の直流成分予測方法
US6128346A (en) * 1998-04-14 2000-10-03 Motorola, Inc. Method and apparatus for quantizing a signal in a digital system
US6493386B1 (en) * 2000-02-02 2002-12-10 Mitsubishi Electric Research Laboratories, Inc. Object based bitstream transcoder
KR20030083916A (ko) * 2002-04-23 2003-11-01 베르텐씨엔씨 주식회사 양자화계수를 결정하는 방법

Also Published As

Publication number Publication date
CN1525761A (zh) 2004-09-01
KR100529311B1 (ko) 2005-11-17
US20040150538A1 (en) 2004-08-05
US6885320B2 (en) 2005-04-26

Similar Documents

Publication Publication Date Title
KR100529311B1 (ko) 신경 회로망을 이용하여 가변 길이 부호화 비트 스트림의길이를 선택하는 장치 및 방법
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
JP5579309B2 (ja) 大きいサイズの変換単位を利用した映像符号化、復号化方法及び装置
JP5258664B2 (ja) 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
KR101426272B1 (ko) 영상 부호화장치 및 영상 복호화장치
JP2001346047A (ja) 画像処理装置及び画像処理方法
JP2005520360A (ja) 損失の無い方法でデジタル画像を符号化するための装置および方法
CN102792695A (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
RU2335803C2 (ru) Способ и устройство покадрового кодирования остаточного движения на основании сверхполного базисного преобразования для уплотнения видеоизображения
Sathiyanathan Medical image compression using view compensated wavelet transform
KR20080018469A (ko) 영상 변환 방법 및 장치, 역변환 방법 및 장치
JPH08275165A (ja) ビデオ信号符号化方法及び装置
US20220360788A1 (en) Image encoding method and image decoding method
US5521988A (en) Vector transform coder with multi-layered codebooks and dynamic bit allocation
Kouanou et al. A machine learning algorithm for biomedical images compression using orthogonal transforms
KR20090122390A (ko) 데이터 소스에 의해 생성된 비트 심볼들을 처리하기 위한 방법 및 장치, 컴퓨터 판독가능 매체, 컴퓨터 프로그램 요소
JP6960784B2 (ja) ニューラルネットワーク、符号化装置、復号装置、学習方法、制御方法、およびプログラム
Wu Compression of wavelet transform coefficients
Dwivedi et al. A novel hybrid image compression technique: wavelet-MFOCPN
TWI853774B (zh) 一種解碼、編碼方法、裝置及其設備
Krishnanaik et al. Implementation of wavelet transform, DPCM and neural network for image compression
EP0930788A1 (en) Method and device for compressing and expanding image
JP5351094B2 (ja) 画像符号化方法,画像符号化装置および画像符号化プログラム
JPH0983378A (ja) 符号化装置および復号化装置
TW202429890A (zh) 一種解碼、編碼方法、裝置及其設備

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
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee