KR100266338B1 - 동화상 압축 유니트 및 방법 - Google Patents

동화상 압축 유니트 및 방법 Download PDF

Info

Publication number
KR100266338B1
KR100266338B1 KR1019960029766A KR19960029766A KR100266338B1 KR 100266338 B1 KR100266338 B1 KR 100266338B1 KR 1019960029766 A KR1019960029766 A KR 1019960029766A KR 19960029766 A KR19960029766 A KR 19960029766A KR 100266338 B1 KR100266338 B1 KR 100266338B1
Authority
KR
South Korea
Prior art keywords
frame
processing
image
compression
moving picture
Prior art date
Application number
KR1019960029766A
Other languages
English (en)
Other versions
KR970009397A (ko
Inventor
히로아키 우에다
Original Assignee
가네꼬 히사시
닛본 덴기 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가네꼬 히사시, 닛본 덴기 가부시끼가이샤 filed Critical 가네꼬 히사시
Publication of KR970009397A publication Critical patent/KR970009397A/ko
Application granted granted Critical
Publication of KR100266338B1 publication Critical patent/KR100266338B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Color Television Systems (AREA)

Abstract

화상 이미지 압축 코딩의 처리가 다수의 처리 단계로 분할되고, 각 단계를 위한 프로그램은 메모리내에 저장된다. 메모리의 용량에 기초하여, 다수의 프레임들, 다수의 라인들 및 다수의 블록 라인들 중 적어도 하나는, 각 단계가 처리를 행하는 분할 단위로서 설정된다. 메모리내에 저장된 프로그램에 대응하는 처리는 설정된 분할 단위에 대해 실행된다.

Description

동화상 압축 장치 및 방법
본 발명은 이산 코사인 변환(이하, DCT라 칭함)에 기초한 코딩 모드(결합 사진 전문가 그룹(Joint Photographic Expert Group)또는 동화상 전문가 그룹(Moving Pictures Expert Group))로 화상 코드를 압축 코딩하기 위한 장치 및 방법에 관한 것이다.
CD-ROM 또는 하드디스크와 같은 기록매체상에 화상 이미지를 기록하기 위하여, 화상 이미지는 디지털화되어야 한다. 디지털화된 데이터의 사이즈는 너무커서, 일반적으로 기록하기 위해서는 압축 코딩되게 된다.
많은 압축 코딩 모드중에서, DCT에 의한 코딩 모드는 점차 많이 이용되었다. 이런 모드느 화상 이미지의 공간 주파수가 저주파 범위내에 집중될 가능성이 크다는 특징을 이용한다. 이런 모드는 JPEG(결합 사진 전문가 그룹)(이하, JPEG라 칭함), 동화상 전문가 그룹(이하, MPEG라 칭함)등과 같은 국제 표준의 코딩 모드로서 이용되어 왔다.
제1a도 내지 제1f도는 MPEG에 따른 코드 포맷의 각 계층을 도시한 것이다. MPEG 코드는 제1a도에 도시된 바와 같이 다수의 계층으로 형성된다. 제1a도는 다수의 화상 그룹(이하, GOP라 칭함)으로 이루어진 비디오 시퀸스로서의 상부계층을 도시한 것이다.
제1b도에 도시된 바와 같이,GOP는 다수이 화상으로 이루어진다. 각화상은 각 화상 이미지에 대응한다. 화상은 세가지 형태의 화상, 즉, 인-프레임 코드로서의 화상(I), 순방향 인터-프레임 코드로서의 화상(P) 및 양방향 인터-프레임 코드로서의 화상(B)으로 형성된다. 제1c도에 도시된 바와 같이, 화상은 소정수의 영역으로 분리된 다수의 스라이스(slice)로 이루어진다. 슬라이스는 좌에서 우로 또는 상부에서 하부로 배치된 다수의 매크로 블록으로 이루어진다. 제1d도에 도시된 바와 같이, 매크로 블록은 4휘도 요소(Y1, Y2, Y3 및 Y4) 및 2색차 요소(Cb 및 Cr)를 포함한 6개의 블록으로 이루어진다. 각 휘도 요소는 16x16 도트 블록을 분할함으로써 성취된 8x8 도트의 블록이다. 각 색차 요소는 휘도 요소의 영역에 대응하는 8x8 도트이 블록이다. 8x8도트의 블록은 이런 코드 모도의 최소 단위이다.
MPEG을 예로 들어 DCT에 기초한 종래의 코딩 모드를 통한 화상 코드 압축이 기술되어 있다. 도2는 MPEGDP 순응하는 화상을 압축하기 위한 동화상 압축 장치의 블록도이다.
제2도의 동화상 압축 장치는 화상 이미지가 판독되고, 합성 칼라 TV 신호가 출력을 위한 휘도 신호 Y 와 두 칼라 신호 Cr 및 Cb 로 분할되는 YCrCb 변환수단(3), 매 8x8 블럭 영역에서 과서/미래 프레임 및 현재 프레임내의 화상의 각 움직임을 검색하기 위한 움직임 검색 수단(4), 데이타의 압축 코딩을 실행하기 위한 프레임 압축 수단(5)을 구비한다.
MPEG 의 화상은 3가지 형태, 즉 인-프레임 코드로서의 화상(I), 순방향 인터-프레임 코드로서의 화상(P) 및, 양방향 인터-프레임 코드로서의 화상(B)으로 분할된다. 그래서, 프레임 압축 수단(5)은 3 형태의 압축을 실행한다.
다음에 각 작동이 설명된다.
화상(I)을 압축하는 경우에, 현재 프레임의 8x8 블럭 영역내의 화상 요소 값은 DCT 수단(7)에 의해 이산 코사인 변환된다. 변환 결과치는 양자화 수단(8)에 의해 양자화된다. 양자화된 데아터는 가변 길이 코딩(VLC) 수단(9)에 의해 Haffman 가변 길이 코드로 고효율적으로 압축된다. 압축된 화상 이미지를 기준(reference) 프레임으로 디코드하기 위하여, 양자화된 데이타는 역양자화 수단(13)에 의해 역양자화되어, 화상 요소값을 계산하도록 역이산 코사인 변환된다. 결과치는 기준 프레임 수단(10)내에 저장된다.
화상(P)을 압축하는 경우에, 움직임 추정 수단(6)은 현재 프레임의 8x8블럭 영역의 화상 요소값 및 움직임 검색 수단(4)에 의해 검색된 움직임만큼 기준이 되는 기준 프레임 수단(10)내에 저장된 과거 프레임의 8x8 블럭 영역의 화상 요소값의 차를 계산한다. 계산된 차값은 양자화 수단(8)에 의해 양자화된 DCT 수단(7)에 의해 이산 코사인 변환된다. 양자화된 데이타는 VLC수단(9)에 의해 하프만가변 길이 코드로 고효율로 압축된다. 압축된 화상 이미지를 기준 프레임으로 디코드하기 위하여, 양자화된 데이타는 역양자화 수단(13)에 의해 역양자화되어, IDCT 수단(12)에 의해 차값을 계산하도록 역이산 코사인 변환된다. 그때 움직임보상수단(11)은 움직임 추정 수단(6)에 의해 가준이 되는 기준 프레임 수단(10)내에 저장된 과거 프레임내의 8x8 블럭의 화상 요소값에 차값을 가산한다. 계산된 값은 기준 프레임 수단(10)내에 저장된다.
그때, 화상(B)을 압축하는 경우에, 움직임 추정 수단(6)은 현재 프레임의 8x8 블럭의 화상 요소값 및, 움직임 검색 수단(4)에 검색된 움직임만큼 기준이 되는 기준 프레임 수단(10)내에 저장된 과거/미래 프레임의 8x8블럭의 화상 요소값의 차값을 계산한다, 계산된 차값은 DCT 수단(7)에 의해 코사인 변환되고, 변환 결과치는 양자화 수단(8)에 의해 양자화된다. 양자화된 데이타는 VLC수단(9)에 의해 하프만 가변길이 코드로 고효율로 압축된다. 화상 B가 기준 프레임으로서 이용되지 않으므로 화상의 디코딩은 요구되지 않는다.
전술된 바와 같이, 국제 표준으로서 MPEG에 의한 데이타 압축은 동화상의 고효율을 허용한다. 압축이 소프트웨어를 이용함으로써 실행된다고 가정하면, 움직임 검색, DCT 처리 등은 CPU에 상당한 과부하를 주게 되고, 동화상 압축에 많은 처리 시간을 필요로 한다. 예를들면, YCrCb 변환을 위한 0.13초, 움직임 검색을 위한 0.52초 및, 프레임 압축을 위한 0.62초로, 1프레임 압축을 위해서는 1.27초 걸리는 것으로 가정하면, 1분 동화상으로 압축은 2286초(약 38분)를 필요로 하며, 이는 아래식에 의해 얻어진다. 즉 60x 30 x 1.27초 = 2286초(대략 38분)
동화상을 압축하는 데에 긴 시간이 요구되므로, 압축 동안에(이미 압축된 화상 데이타를 편집하는 )다른 프로그램을 이용하기 위한 필요성 때문에 시간절약뿐만 아니라 머신의 효과적 이용을 고려하는 것이 필요하게 되었다. 다른 프로그램을 개시하기 위하여, 압축은 처리 중간에 일시 정지되고, 예정된 시간 동안 다른 프로그램을 실행시킨 후에 다시 시작된다.
1프레임 압축을 종료한 후에 압축을 일시 정지하는 것이 적절한 것으로 생각된다. 그러나, 1 프레임 압축을 위한 시간 길이(time length)가 길기 때문에, 이것이 다른 프로그램 실행을 지연시킨다. 압축과 다른 프로그램 실행을 위한 처리 시간에 대해서는 도3a 내지 도3c도를 참조하여 설명한다.
도3a는 동화상 압축만을 실행하기 위한 시간 길이를 도시한 것이고, 도3b는 동화상 편집을 위한 시간 길이를 도시한 것이며, 도 3c는 동화상 압축 및 동화상 편집을 동시에 실행하기 위한 시간 길이를 도시한 것이다.
도3B에 도시된 바와 같이, 동화상을 편집하는 데에만 T1이 걸린다. 반면에 제2프레임(C2)및 제3 프레임(C3)을 압축하기 위한 처리 시간에 따라 가산된 동화상을 동시에 압축 및 편집하는 데에는 T2가 걸린다. 제2 프레임(C2)및 제 3 프레임(C3)을 모두 처리하기 위한 시간은 동화상 데이타(E1)를 취하고, 동화상 데이타(E2)를 절단하며, 그리고 동화상 데이타(E3)를 기록하기 위한 전체 시간 길이보다 수배 정도 많은 시간이 걸리므로, 동화상을 편집하는데는 시간이 더 길어진다.
동화상 압축을 위한 속도를 가속화하면 전술한 문지를 해결할 수 있다. 압축 처리를 간략화함으로써 압축을 가속화하는 방법이 제안되었다. 이런 방법에서, 높은 정확도를 필요로 하는 계산 프로세스는 가속화를 위해 단순화되어야 한다. 따라서, 압축된 화상 이미지를 재생함으로써 얻어지는 화상의 질은 저하된다. 다른 대안으로서, 화상 이미지의 다수의 블럭이 가속화를 위해 동시에 처리될 수 있도록, 다수의 DCT회로, 양자화 회로, VLC회로 등이 마련될 수 있다. 이런 방법은 부가적인 하드웨러를 가질 필요가 있어, 대체로 복잡한 구성을 유발시킨다.
고속으로 억세스 가능한 캐쉬 메모리는 프로세스를 가속화하고 간단한 구성을 유지시키는 데에 이용될 수 있다. 이러한 방법은 도4를 참조로 기술된다.
도4는 CPU내에 내장되는 고속으로 억세스가능한 캐쉬 메모리를 도시한 블럭도이다. 이러한 구성은 프로그램이 저장되는 외부 메모리(21) 및, 저장된 프로그램에 따라 계산이 실해되는 중앙처리유니트(22)(이하, CPU라 칭함)를 포함한다.
CPU(22)는 실행 동안 외부 메모리(21)내에 저장된 프로그램을 일시기록하는 캐쉬 메모리(23), 프로그램 명령어마다 디코딩하는 명령 디코더(24) 및, 디코드된 명령어에 응답하여 많은 계산을 실행하는 제어 유니트(25)를 포함한다. 프로그램을 실행할때에, 프로그램 데이타는 외부 메모리(21)에 캐쉬 메모리(23)로 전달되고, 프로그램 명령어는 명령 디코더(24)에 의해 디코드된다. 제어 유니트(25)는 이러한 결과에 따라 많은 계산을 실행한다.
캐쉬 메모리(23)는 외부 메모리(21)내에 저장된 프로그램 데이타를 일시기록한다. 그후 실행되는 프로그램 데이타가 캐쉬 메모리(23)내에 기록되는 경우에, 외부 메모리에 대한 억세스는 생략되고, 프로그램 데이타는 캐쉬 메모리(23)에서 명령 디코더(24)로 직접 전달된다.
캐쉬 메모리(23)를 억세스하기 위한 속도는 외부 메모리(21)를 억세스하기 위한 속도보다 빠르다. 그래서, 연속적으로 반복되는 프로그램은 캐쉬 메모리를 이용함으로써 고속으로 실행될 수 있다.
1982년 일본국 출원 제141756호에는 고속 메모리로 가속화되도록 요구되는 저속 메모리내에 기록된 프로그램 부분을 전달함으로써, 프로그램의 속도를 가속화하는 모드가 기재되어 있다. 1987년 일본국 출원 제125449호에는 할당된 프로그램형에 의한 캐쉬 메모리를 제어함으로써, 다수의 프로그램을 가속화하는 모드가 기술되어 있다. 1992년 일본국 출원 제 333929호에는 루프가 끝날 때까지 캐쉬 메모리내에 루프 명령어 시퀸스를 보유함으로써, 프로그램 속도를 가속화하는 모드가 기술되어 있다. 1993년 일본국 출원 제 108479 호에는 캐쉬 메모리내에 인터럽션 프로그램을 설정함으로써, 프로그램 속도를 가속화하는 모드가 기술되어 있다.
이들 관련 기술에서, 가속화된 속도로 실행된 모든 프로그램은 캐쉬 메모리내에 저장되어야 한다. 동화상 압축이 YCrCb 변환, 움직임검색, 프레임 압축등과 같은 다수의 처리 프로그램으로 형성되므로, 전체 프로그램 사이즈는 수백 KB가 된다. 그래서, 캐쉬 메모리 용얄은 모든 프로그램을 저장하기에 충분히 크게 되어야 한다.
다수의 프로그램이 동시에 실행되는 경우에, 고속 처리를 필요로 하는 동화상을 압축하는 프로그램이 캐쉬 메모리내에 우선순위를 가지고 설정되도록 제어되어야 한다.
다수의 프로그램을 동시에 실행하는 데에 있어서 효율을 증진시키기 위하여, 동화상의 압축을 일시 정지하기 위한 타이밍은 실행의 프로그램수에 따라 조정되어야 한다. 그러나, 동화상 압축은 다른 프로그램과 비교하였을 때, CPU에 과부하를 주는 많은 계산량을 가질 필요가 있다. 그래서, 동화상의 압축을 일시 정지하기 위한 타이밍은 잘 조정될 수 없다.
본 발명은 목적은 전술한 문제점에 대한 해결책을 제공하는 것이다.
본 발명의 다른 목적은 소형의 캐쉬 메모리를 이용할 뿐만 아니라 간단한 구성을 가짐으로써 고속으로 동화상을 압축하는 기술을 제공하는 것이다. 이러한 동화상 압축 모드는 더우기 예정된 주기내에서 처리를 일시 정지하기 위한 타이밍을 조정함으로써 데아타 압축 동안에 다수의 프로그램이 동시에 실행되게 한다.
본 발명의 목적은 화상 이미지를 작은 블럭으로 분할하고, 각 분할된 블럭을 이사코사인 변환하며, 변환 결과치를 양자화하며, 고효율로 코드된 인-프레임 코드 및 화상 이미지를 작은 블럭으로 분할하며 현재 프레임 및 과거/미래 프레임간의 각 블럭에서의 움직임을 검색하며, 현재 프레임의 블럭 및 움직임 검색된 프레임의 블럭의 차값을 계산하며, 차값을 이산 코사인 변환하며, 변환 결과치를 양자화하며, 그리고 고효율로 코딩된 인터-프레임 코드에 의한 동화상을 압축 코딩하는 동화상 압축 장치에 의해 달성되는데, 상기 동화상 압축장치는, 동화상을 압축 코딩하기 위해 프로그램을 일시 저장하는 메모리, 메모리 용량에 의해 압축 코딩 처리를 분할하기 위한 다수의 프레임, 다수의 라인 및 다수의 블럭의 최소한 하나의 분할 단위를 설정하는 설정 수단, 및 상기 설정 수단에 의해 설정된 매분할 단위에서 압축 코딩을 실행하는 동화상 압축 수단을 구비한다.
더우기, 본 발명의 목적은 화상 이미지를 작은 블럭으로 분할하고, 각 분할된 블럭을 이산 코사인 변환하며, 변환 결과치를 양자화하며, 고효율로 코드된 인-프레임 코드 및 화상 이미지를 작은 블럭으로 분할하며, 현재 프레임 및 과거/미래 프레임간의 각 블럭에서 이동 검색하며, 현재 프레임의 블럭 및 움직임 검색된 프레임의 블럭의 차값을 계산하며, 차값을 이산 코사인 변환하며, 변환 결과치를 양자화하며, 그리고 고효율로 코딩된 인터-프레임 코드에 의해 동화상을 압축코딩하는 동화상 압축 방법에 의해 성취되는데, 상기 방법은 메모리내의 동화상을 압축 코딩하기 위한 프로그램을 저장한 단계, 메모리의 미사용 용량에 의해 압축 코딩 처리를 분할하는 분할 단위로서 다수의 프레임, 다수의 라인 및 다수의 블럭 라인의 최소한 하나를 설정하는 단계와, 메모리내에 저장된 프로그램에 의해 이러한 설정 단계에서 설정된 매분할 단위에서 동화상을 압축 코딩하는 단계로 이루어진다.
본 발명에서, 동화상을 압축하기 위한 프로그램은 다수의 작은 프로그램으로 분할되어, 개별적을 실행된다. 필요한 캐쉬 메모리의 사이즈는 줄여질 수 있다. 각 프로그램 처리는 연속적으로 반복된다. 그래서, 프로그램은 캐쉬 메모리의 제어없이 실행 동안에 캐쉬 메모리내에 설정될 수 있다. 본 발명은 각 프로그램의 반복수를 변화시킴으로써 압축을 일시 정지하기 위한 시간을 조정할 수 있다. 따라서, 다수의 프로그램은 압축 동안 효율을 저하시키지 않고 동시에 실행될 수 있다.
제1도 내지 제1f도는 MPEG에 의한 코드 포맷의 계층적 구조도.
제2도는 MPEG 에 의한 화상 코드 압축을 위한 동화상 압축 장치의 블록도.
제3a도 내지 제3C도는 동화상 압축 및 동화상 편집을 실행하는 데에 요구된 시간의 각 길이를 도시한 도시도.
제4도는 캐쉬 메모리 기능을 설명하기 위한 블록도.
제5도는 본 발명의 실시예의 동화상 압축 장치의 블록도.
제6도는 유니트 제어 동작의 흐름도.
제7도는 분할 단위의 일 실시예를 도시한 분할 테이블.
제8도는 동화상 압축 처리의 흐름도.
제9도는 프레임 압축 처리의 흐름도.
제10도는 제9도에 도시된 바와 같이 다른 프레임 압축 처리의 프레임 압축 처리의 흐름도.
제11도는 제9도에 도시된 바와 같이 다른 프레임 압축 처리의 프레임 압축 처리의 흐름도.
제12도는 제9도에 도시된 바와 같이 다른 프레임 압축 처리의 프레임 압축 처리의 흐름도.
제13도는 제9도에 도시된 바와 같이 다른 프레임 압축 처리의 프레임 압축 처리의 흐름도.
*도면의 주요부분에 대한 부호의 설명
34 ; 움직임 검색 수단 35 : 프레이 압축 수단
44 : 분할 설정 수단 45 : 메모리
이하, 첨부된 도면을 참조로 하여 본원 명세서를 더욱 상세히 설명하기로 한다.
본 발명의 일실시예는 일례로서 MPEG를 취함으로써 도면을 참고로 하여 기술된다.
도 5는 본 발명의 실시예로서 동화상 압축 장치의 블럭도이다.
도 5의 동화상 압축 장치는 사용자가 명령 등을 입력하는 키보드(31), 전체 장치를 제어하는 유니트 제어 수단(32), 화상 이미지를 휘도 요소 및 색차 요소로 변환하는 YCrCb 변환 수단(33), 매 8x8 블럭 영역에서 과거/미래 프레임 및 현재 프레임내에서 화상의 각 움직임을 검색하는 움직임 검색 수단(34), 1프레임 압축을 실행하느 프레임 압축 수단(35), 압축을 위한 분할 단위를 설정하는 분할 설정수단(44), 및 동화상을 편집하도록 다른 프로그램을 저장하는 메모리(45)를 구비한다. 상기 분할 단위는 프레임, 라인 및 블럭 라인에 대한 많은 처리와 압축을 일시 정지하는 단위이다.
프레임 압축 수단(35)은 움직임 검색 수단(34)에 의해 검색된 화상 이미지의 움직임을 참조로 과거/미래 프레임 및 현재 프레임의 8x8 블럭 영역의 차를 계산하는 움직임 추정 수단(36), 이산 코사인 변환을 위한 DCT수단(37), 양자화를 위한 양자화 수단(38), 고효율로 가변길이 코딩을 위한 VLC 수단(39)을 포함한다.
더우기, 프레임 압축 수단(35)은 역양자화를 위한 역양자화 수단(43), 역이산 코사인 변환을 위한 IDCT수단(42), 과거/미래 프레임의 8x8 블럭 영역의 화상 요소값 및 차값을 가산함으로써 신규 기준 프레임을 계산하기 위한 움직임 보상 수단(41)및, 기준된 과거/미래 프레임의 화상 이미지를 저장하기 위한 기준 프레임부(40)를 포함한다.
도 5의 동화상 압축 장치내에 이용된 CPU는 고속으로 억세스 가능한 도 4에 도시된 바와 같이 내장된 캐쉬 메모리를 가지며, 상기 메모리는 가속화된 속도로 연속적으로 반복된 프로그램을 실행시킨다.
이제, 동화상 압축 동작법이 설명된다.
판독된 화상 이미지는 YCrCb 변환 수단(33)에 의해 YCrCb 데이타로 변환된다. 움직임 검색 수단(34)은 매 8x8 블럭 영역에서 과거/미래 프레임 및 현재 프레임의 각 화상 움직임을 검색한다. 프레임 압축 수단(35)은 데이타의 압축 코딩을 수행한다. MPEG는 3형태의 화상, 즉, 인-프레임 코드로서의 화상 1, 순방향 인터-프레임 코드로서의 화상 P및 양방향 인터-프레임 코드로서의 화상 B을 갖고 있다. 프레임 압축 수단(35)은 상기 3형태의 압축을 실행시킨다.
화상 I을 압축하는 경우에, 현재 프레임의 8x8 블럭 영역내의 화상 요소값은 DCT 수단(37)에 의해 이산 코사인 변환되어, 양자화 수단(38)에 의해 양자화된다. 이 데이타는 VCL 수단(39)에 의해 하프만 가변 길이 코드로 고효율로 압축된다. 압축된 화상 이미지를 기준 프레임으로 디코드하기 위하여, 양자화된 데이타는 역양자화 수단(43)에 의해 역양자화되고, IDCT수단(42)에 의해 화상 요소값을 계산하도록 역이산코사이인 변환된다. 결과적인 화상 요소값은 기준 프레임부(40)내에 저장된다.
화상 P을 압축하는 경우에, 움직임 추정 수단(36)은 현재 프레임의 8x8블럭 영역의 화상 요소값과 움직임 검색 수단(34)에 의해 기준이 되는 기준 프레임부(40)내에 저장된 과거 프레임의 8x8 블럭 영역의 화상 요소값의 차를 계산한다. 계산된 차값은 DCT수단(37)에 의해 이산 코사인 변환되고, 양자화 수단(38)에 의해 양자화되며, 그리고 VLC수단(39)에 의해 하프만 가변 길이 코드로 고효율 압축된다. 압축된 화상 영상을 기준 프레임으로 디코드하기 위하여, 양자화된 데이타는 역양자화 수단(43)에 의해 역양자화되고, IDCT수단(42)에 의해 차값을 계산하도록 역이산 코사인 변환된다. 그때 움직임 보상 수단(41)은 움직임 추징 수단(36)에 의해 기준이 된 기준 프레임부(40)내에 저장된 과거 프레임내의 8x8블럭의 화상 요소갑사에 차값을 가산한다. 계산된 값은 기준 프레임부(40)내에 저장된다.
화상B을 압축하는 경우에, 움직임 추정 수단(36)은 현재 프레임의 8x8블럭의 화상 요소값과, 움직임 검색 수단(34)에 의해 검색된 움직임만큼 기준이 되는 기준 프레임부(40)내에 저장된 과거/미래 프레임의 8x8 블럭의 화상 요소값의 차값을 계산한다. 계산된 차값은 DCT 수단(37)에 의해 이산 코사인 변환되고, 양자화 수단(38)에 의해 양자화되며, 그리고 VLC수단(39)에 의해 하프만 가변 길이 코드로 고효율 압축된다. 화상 B이 기준 프레임으로 이용되지 않으므로, 화상의 디코딩은 요구되지 않는다.
분할 설정 수단(44)에 의해 세트된 다수의 프레임, 다수의 라인 및 다수의 블럭 라인에 따르면, 유니트 제어 수단(32)은 YCrCb변환 수단(33), 움직임 검색수단(34) 및 프레임 압축수단(35)을 제어한다. 여기서, "블럭 라인"은 매크로 블럭의 수평 연속 라인을 의미한다.
메모리(45)내에 저장된 다른 프로그램의 실행이 요구될시에, 유니트 제어수단(32)은 예정된 시간내에서 압축을 일시 정지시켜, 다른 프로그램을 개시시킨다.
이제, 구성내의 움직임 화상 압축의 처리에 대해 기술한다.
도6은 유니트 제어 수단(32)의 처리의 플로유차트이다. 도6의 유니트 제어는 키보드(31)로부터 입력을 수신할 준비를 하여(단계(51)), 입력이 수신되는지 여부를 판단한다(단계(52)), 아니오이면, 프로그램은 단계(51)로 복귀한다. 예이면, 분할 단위가 설정되고(단계(53)), 동화상은 압축된다(단계(54)). 다른 프로그램의 실행이 요구되는지 그 여부가 판단된다(단계(555)), 아니오이면, 프로그램은 단계(57)로 진행한다. 예이면, (예를들어, 동화상을 편집하는)다른 프로그램(45)이 실행된다. 그후, 압축의 일시 정지가 요구되는지 여부가 판단된다(단계(57)). 예이면, 압축은 일시 정지된다(단계(69)), 아니오이면, 프로그램은 압축이 종료되었는지 여부를 판단한다(단계(58)). 아니오이면, 프로그램은 단계(54)로 복귀한다. 예이면, 처리가 종료된다.
도 6의 전술된 예에서, 분할 단위가 동화상을 압축하기 전에만 한번 설정된다. 그러나, 분할 단위가 동화상 압축 동안에 동시에 실행된 많은 프로그램내에서 매번 증가/감소하도록 프로그램이 설정될 수 있다.
압축의 일시 정지가 요구되는 경우에 분할 단위내의 처리의 종료후에 압축을 일시 정지하여, 다른 프로그램이 실행될 수 있다는 것에 유의해야 한다.
동화상 압축은, 분할 단위의 설정에 의해 정의된 프레임의 수, 라인의 수 및 블럭 라인의 수에 따라 소정의 기간 동안 일시 정지될 수 있다. 따라서, 동화상은 동작 효율의 저하없이 다수의 프로그램의 실행에 따라 압축될 수 있다.
도 7은 분할 단위 설정 수단내에서 이용된 분할 단위의 일례를 도시한 분할테이블을 도시한 것이다. 도 12의 분할테이블은 실행하에 모든 프로그램에 대한 YCrCb변환의 분할 단위의 라인의 수, 움직임 검색의 분할 단위로서의 매크로블럭의 라인의 수, 및 프레임 압축의 분할 단위로서의 매크로 블럭 라인의 수로 형성된다. 분할 단위값은 처리 속도, 메모리 용량 등과 같은 압축 단위의 성능에 의해 규정되는 최저값이다.
도8은 분할 단위 설정 수단(44)내의 처리의 플로우챠트이다. 분할 단위 설정은 압축의 분할 단위로서의 수의 값(변수 n),YCrCb변환의 분할단위로서의 라인의 수의 값(변수 11), 움직임 검색의 분할 단위로서의 블럭 라인의 수의 값(변수 12)및, 동화상 압축이 예정된 주기내에서 일시 정지되도록 프레임 압축의 분할 단위로서의 블럭 라인의 수의 값(변수 13)을 설정시킨다.
첫째로, 잔여 메모리 용량은 체크되고, 잔여 메모리 용량의 값은 변수 m로서 저장된다.(단계(61)).
동화상 압축을 위한 프로그램 사이즈는 체크되고, 프로그램 사이즈의 값은 변수 p로서 저장된다(단계(62)).
그 다음, 1 매크로 블럭에 대한 데이타사이즈(8x8x6x2)가 계산되고, 계산된 값은 변수 k로서 저장된다.(단계(63)).
1블럭 라인에 대한 데이타 사이즈(Kx(수평 화상 요소의 수/16))는 계산되고, 계산된 값은 변수 b로서 저장된다(단계(64)).
동화상 압축 동안에 이용가능한 메모리 사이즈(m-p)가 계산되고, 계산된 값은 변수 w로서 저장된다(단계(65)).
이용가능한 메크로 블럭의 라인수(w/b)가 계산되어, 변수 c로서 계산된 값을 저장한다(단계(66)).
이용가능한 데이타의 프레임수(c/(수직 화수소/16))가 계산되고, 계산된 값은 변수 n로서 저장된다(단계(67)).
실행중의 프로그램수가 확인되어, 변수 d로서 저장된다(단계(68)).
분할 단위, 즉 YCrCb 변환을 위한 라인의 수(분할테이블[0],[d])([0]은 인텍스임)는 임의로 설정되어, 변수 11로서 저장된다(단계(69)).
변수 11의 값이 변수c의 값보다 큰지 여부가 판단된다(단계(70)).
아니오이면, 프로그램은 단계(72)로 진행한다. 예이면, 변수 c의 값은 변수 11로서 저장된다(단계(71)).
그다음, 매크로 블럭 라인의 수(분할테이블[1],[d]), 즉 움직임 검색을 위한 분할 단위는 임의로 설정되어, 변수 12로서 저장된다(단계(72)). 변수 12의 값이 변수 c의 값보다 큰지 그 여부가 판단된다(단계(73)). 아니오이면, 프로그램은 단계(75)로 진행한다. 예이면, 변수 c의 값은 변수 12로서 저장된다(단계(73)).
그때, 매크로 블럭 라인의 수(분할테이블[2],[d]), 즉 프레임 압축을 위한 분할 단위는 임의로 설정되어, 변수 13로서 저장된다(단계(75)). 변수 13의 값이 변수 c의 값보다 큰지 여부가 판단된다(단계(76)), 아니오이면, 처리는 종료된다. 예이면, 변수 c의 값은 변수 13로서 저장된다(단계(77)).
실행중의 잔여 메모리 용량 및 프로그램수는 최적 분할 단위를 규정하는 데에 이용된다. 그래서, 압축은 동작 효율의 저하없이 다수의 프로그램을 동시에 실행하면서 실행될 수 있다.
상기 예에서, 라인수 및 블럭 라인수는 동일한 것으로 추정되는데, 그 이유는 라인수 및 블럭 라인수의 차가 작으며, 예를 들어 및 라인 내외에 있기 때문이다. 말할 필요도 없이, 라인 및 블럭 라인의 수가 정확히 설정될 수 있다.
도 9는 동화상 압축의 처리의 플로우챠트이다.
우선, 현재 처리 상태가 체크된다(단계(81)). YCrCb 변환이 실행되는 것으로 결정될 경우, 화상 이미지는 YCrCb변환 수단(33)에 의해 1라인에 대한 휘도 요소 Y및 색차 요소 Cr 및 Cb데이타로 변환된다(단계(82)). 1프레임이 종료되었는지 그 여부가 판단된다(단계(83)). 아니오이면, 프로그램은 단계(87)로 진행한다. 예이면, 처리 화상의 프레임은 갱신된다(단계(84)).
그다음, n 프레임이 종료되었는지 그여부가 판단된다(단계(85)), 아니오이면, 프로그램은 단계(87)로 진행한다. 예이면, 프로그램은 움직임 검색으로서 다음 처리를 선택한다(단계(86)).
그때, 11라인이 종료되었는지 그 여부가 판단된다.(단계(87)), 예이면, 프로그램은 단계(81)로 복귀한다. 아니오이면 프로그램은 단계(82)로 복귀한다.
움직임 검색의 처리에 있어서, 화상 이미지의 전/후 프레임의 움직임은 움직임 검색 수단(34)에 의해 얻어진다(단계(88)), 1프레임이 종료되었는지 여부가 판단된다(단계(89)), 아니오이면, 프로그램은 단계(93)로 진행한다. 예이면, 처리 화상의 프레임은 갱신된다(단계(90)), n프레임이 종료되었는지 여부가 판단된다(단계(91)), 아니오이면, 프로그램은 단계(93)로 진행한다. 예이면, 프로그램은 움직임 검색으로써 다음 처리를 선택한다(단계(92)), 12블럭 라인의 종료되었는지 여부가 판단된다(단계(93)). 아니오이면, 프로그램은 단계(88)로 복구한다. 예이면, 프로그램은 단계(81)로 복귀한다.
프로그램 압축 처리에서, 프레임은 압축된다(단계(94)). n프레임이 종료되었는지 여부가 판단된다(단계(95)). 아니오이면, 처리는 계속된다. 예이면, 프로그램은 YCrCb변환으로써 다음 처리를 선택한다(단계(96)).
동화상 압축은 개별적으로 YCrCb변환, 움직임 검색 및 프레임 압축을 처리함으로써 실행되는데, 이는 짧은 기간동안 일시 정지될 수 있다. 각 처리는 여러 프레임에 대해 반복된다. 각 처리를 위한 프로그램은 실행 동안에 캐쉬 메모리내에 설정되어, 이에 따라 고속 처리가 행해진다. 분할된 처리의 프로그램 사이즈는 감속되어, 요구된 캐쉬 메모리 사이즈를 감축시킬 수 있다.
도10은 프레임 압축 수단(35)의 처리의 플로우챠트이다. 도10에 도시된 프로그램은 인터-프레임 압축이 실행되는지 여부가 판단된다(단계(101). 아니오이면, 프로그램은 단계(104)로 진행한다. 예이면, 기준 프레임부(40)내에 저장된 과거 및 미래 프레임의 값의 차는 1 블럭 라인에 대해 계산된다(단계(102)). 13블럭 라인이 종료되었는지 여부가 판단된다(단계(103)). 아니오이면, 프로그램은 단계(102)로 복귀한다. 예이면, DCT 는 DCT 수단(37)에 의해 1블럭 라인에 대해 실행된다(단계(104)). 13블럭 라인이 종료되었는지 그 여부가 판단된다(단계(105)). 아니오이면, 프로그램은 단계(104)로 복귀한다. 예이면, 양자화는 양자화 수단(38)에 의해 1블럭 라인에 대해 실행된다(단계(106)). 13블럭 라인이 종료되었는지 여부가 판단된다(단계(107)). 아니오이면, 프로그램은 단계(106)로 복귀한다. 예이면, 가변 길이 코딩은 VLC수단(39)에 의해 1블럭 라인에 대해 실행된다(단계(108)). 13블럭 라인이 종료되었는지 그 여부가 판단된다(단계(109)). 아니오이면, 프로그램은 단계(108)로 복귀한다. 예이면, 역양자화는 역양자화 수단(43)에 의해 1블럭 라인에 대해 실행된다(단계(110)). 13블럭 라인이 종료되었는지 그 여부가 판단된다. 아니오이면, 프로그램은 단계(110)로 복귀한다. 예이면, IDCT는 IDCT수단(42)에 의해 1블럭 라인에 대해 실행된다(단계(112)). 13블럭 라인이 종료되었는지 그 여부가 판단된다(단계(113)). 아니오이면, 프로그램은 단계(112)로 복귀한다. 예이면, 인터-프레임 압축이 실행되는지 여부가 판단된다(단계(114)). 아니오이면, 프로그램은 단계(117)로 진행한다. 예이면, 기준 블럭부(40)내에 저장된 과거/미래 프레임의 차값은 움직임 보상 수단(41)에 의해 1블럭 라인에 대해 가산된다(단계(115)). 13블럭 라인이 종료되었는지 여부가 판단된다(단계(116)). 아니오이면, 프로그램은 단계(115)로 복귀한다. 예이면, 13블럭 라인에 대해 디코드된 화상 이미지는 기준 프레임부(40)내에 저장된다(단계(117)).
그후, 1프레임이 종료되었는지 여부가 판단된다(단계(118)). 아니오이면, 프로그램은 원래의 지점로 복귀한다. 예이면, 처리 프레임은 갱신된다(단계(119)).
프레임 압축은 짧은 주기내에서 일시 정지될 수 있는 블럭 라인의 단위에 의해 제어된다. 프레임은 여러 블럭 라인에 대해 개별적으로 반복적으로 움직임 추정, DCT, 양자화, 가변 길이 코딩, 역양자화, IDCT 및 움직임 보상의 처리를 실행함으로써 압축된다. 처리의 각 프로그램은 실행 동안에 캐쉬 메모리내에서 세트되어, 고속 처리를 유발시킬 수 있다. 각 분할된 처리의 프로그램 사이즈는 감소되어, 요구된 캐쉬 메모리의 사이즈를 감축하게 된다.
도11, 12 및 도 13은 다른 모드의 프레임 압축 수단(35)의 각 플로우챠트를 도시한 것이다. 프레임 압축 프로세스에서, 처리가 현재 실행되는지에 관해 판단된다(단계(121)). 움직임 추정이 실행되었을 경우, 인터-프레임 압축이 실행되는지의 여부가 판단된다(단계(122)). 아니오이면, 프로그램은 단계(128)로 진행한다. 예이면, 기준 프레임부(40)내에 저장된 과거 및 미래 프레임의 차 값은 1 블럭 라인에 대해 움직임 추정 수단(36)에 의해 계산된다(단계(123)). 1프레임이 종료되었는지 여부가 판단된다(단계(124)). 아니오이면, 프로그램은 단계(123)로 복귀한다. 예이면, 화상 이미지를 처리하기 위한 프레임은 갱신된다(단계(125)). n프레임이 종료되었는지 여부가 판단된다(단계(126)). 아인오이면 프로그램은 단계(121)로 복귀한다. 예이면, 프로그램은 DCT로서 다음 처리를 선택한다(단계(127)).
DCT가 단계(121)에서 현재 실행되는 것으로 결정될 경우, DCT는 DCT 수단(37)에 의해 1블럭 라인에 대해 실행된다(단계 (128)). 1프레임이 종료되었는지 여부가 판단된다(단계 (129)). 화상 이미지를 처리하기 위한 프레임은 갱신된다(단계(130). n프레임이 종료되었는지 여부가 또한 판단된다(단계 (131)). 아니오이면, 처리는 종료된다. 예이면, 프로그램은 양자화로서 다음 처리를 선택한다(단계(132).
양자화가 단계(121)에서 현재 실행되는 것으로 결정될 경우, 양자화 수단(38)에 의해 1블럭 라인에 대해 실행된다(단계(138). 1프레임이 종료되었는지 그 여부가 판단된다(단계(139)). 화상의 프레임은 갱신된다(단계(140)). n프레임이 종료되었는지 여부가 판단된다(단계(141)). 아니오이면, 프로그램은 단계(121)로 복귀한다. 예이면, 프로그램은 VLC로 다음 처리를 선택한다(단계(145)).
VLC가 단계(121)에서 현재 실행되는 것으로 결정될 경우, 가변 길이 코딩은 VLC 수단(39)에 의해 1블럭 라인에 대해 실행된다(단계(150)). 1프레임이 종료되었는지 여부가 판단된다(단계(151)). 처리 화상의 프레임은 갱생된다(단계(152)). n프레임이 종료되었는지 여부가 판단된다(단계(153)). 아니오이면, 프로그램은 단계(121)로 복귀한다. 예이면, 프로그램은 역 양자화로서 다음 처리를 선택한다(단계(154)).
역 양자화가 단계(121)에서 현재 실행되는 것으로 결정될 경우, 역 양자화는 역 양자화 수단(43)에 의해 1블럭 라인에 대해 실행된다(단계 (160)). 1프레임이 종료되었는지여부가 판단된다(단계(161)). 처리 화상의 프레임은 갱생된다(단계(162)). n프레임이 종료되었는지 여부가 판단된다(단계(163)). 아니오이면, 프로그램은 단계(121)로 복귀한다. 예이면, 프로그램은 IDCT로서 다음 처리를 선택한다(단계(164)).
단계(121)의 결정 결과치가 IDCT이고, 현재 실행될 경우, IDCT수단(42)에 의해 1블럭 라인에 대해 실행된다(단계 (170)). 1프레임이 종료되었는지 여부가 판단된다(단계(171)). 처리 화상의 프레임은 갱신된다(단계(172)). n프레임이 종료되었는지 여부가 판단된다(단계(173)). 아니오이면, 프로그램은 단계(121)로 복귀한다. 예이면, 프로그램은 IDCT로서 다음 처리를 선택한다(단계(174)).
로컬 디코딩이 단계(121)에서 현재 실행되는 것으로 결정될 경우, 인터-프레임 압축이 실행되는지 여부가 판단된다(단계 (180)). 아니오이면, 프로그램은 단계(183)로 진행한다. 예이면, 기준 프레임부(40)내에 저장된 과거/미래 프레임의 차 값은 움직임 보상 수단(41)에 의해 1블럭 라인에 대해 가산된다(단계(181)). 1프레임이 종료되었는지 그 여부가 판단된다(단계(182)). 아니오이면, 프로그램은 단계(181)로 복귀한다. 예이면, 1프레임에 대해 디코드되는 화상 데이타는 기준 프레임부(40)내에 저장된다(단계(183)). 처리 화상의 프레임은 갱신된다(단계(184)). n프레임이 종료되었는지 여부가 판단된다(단계 (185)). 아니오이면, 프로그램은 단계(121)로 복귀한다. 예이면, 프로그램은 움직임 예측으로서 다음 처리를 선택한다(단계(186)).
프레임은, 움직임 추정, DCT, 양자화, 가변 길이 코딩, 역 양자화, IDCT 및 로컬 디코딩의 일련의 분할된 처리를 실행함으로써 압축되는데, 이는 짧은 주기내에서 일시 정지될 수 있다. 각 처리는 여러 프레임에 대해 반복된다. 따라서, 프로글맹 실행 동안 각각의 처리는 캐쉬 메모리내에서 설정되어, 고속 처리를 가능하게 할 수 있다. 각 분할된 처리의 프로그램 사이즈는 감소되어, 요구된 캐쉬 메모리 사이즈를 감축시킬 수 있다.

Claims (18)

  1. 다수의 보다 작은 크기의 프로그램을 포함하는 프로그램을 이용하고, 인-프레임 코드(in-frame code)및 인터-프레임 코드(inter-frame code)에 기초하여 동화상을 압축 코딩하는 동화상 압축 장치로서, 상기 인-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 상기 분할된 블럭의 각각을 이산 코사인 변환하며, 변환 결과치를 양자화함으로써 고 효율로 코딩되고, 상기 인터-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 현재 프레임과 과거/미래 프레임 사이의 각 블럭에서 움직임 검색을 하며, 현재 프레임의 블럭 및 상기 움직임 검색된 프레임의 블럭간의 차 값을 계산하며, 상기 차 값을 이산 코사인 변환하며, 상기 변환 결과치를 양자화함으로써 고 효율로 코딩되는 동화상 압축 장치에 있어서, 상기 동화상을 압축 코딩하기 위해 상기 보다 작은 크기의 프로그램들 중의 하나를 임시로 저장하는 캐쉬메모리, 상기 캐쉬 메모리의 용량에 기초하여 압축 코딩 처리를 분할하기 위해 다수의 프레임들, 다수의 라인들 및 다수의 블럭 라인들 중 적어도 하나의 분할 단위를 설정하는 설정 수단 및, 상기 캐쉬 메모리에 저장된 하나의 프로그램을 이용하여, 상기 설정 수단에 의해 설정된 매 분할 단위마다 압축 코딩을 실행하는 동화상 압축 수단을 구비하는 동화상 압축 장치.
  2. 제1항에 있어서, 상기 동화상 압축수단은, 설정된 분할 단위의 화상 이미지를 휘도 요소 및 색차 요소로 변환하고, 상기 분할 단위의 처리가 종료되었을 때에 변환 처리를 일시 정지(suspending)하는 변환수단, 상기 변환 수단이 일시 정지된 처리를 가질 때 설정된 분할 단위의 프레임에서 화상 이미지의 움직임을 검색하고, 상기 분할 단위의 처리가 종료되었을 때에 움직임 검색 처리를 일시 정지하는 움직임 검색 수단, 및 상기 움직임 검색 수단이 일시 정지된 처리를 가질 때 설정된 분할 단위의 프레임을 압축하고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지하는 프레임 압축 수단을 포함하는 동화상 압축 장치.
  3. 제2항에 있어서, 상기 변환 수단은 상기 설정된 수의 프레임들 및 상기 설정된 수의 라인들 중 적어도 하나의 분할 단위에 대해 화상 이미지를 휘도 요소 및 색차 요소로 변환하는 동화상 압축 장치.
  4. 제2항에 있어서, 상기 움직임 검색 수단은 상기 설정된 수의 프레임들 및 상기 설정된 수의 블럭 라인들 중 적어도 하나의 분할 단위에 대해 프레임 화상 이미지의 움직임 검색하는 동화상 압축장치.
  5. 제2항에 있어서, 상기 프레임 압축 수단은 상기 설정된 수의프레임들 및 상기 설정된 수의 블럭 라인들 중 적어도 하나의 분할 단위에 대해 프레임을 압축하는 동화상 압축 장치.
  6. 제5항에 있어서, 상기 프레임 압축 수단은, 상기 설정된 수의 프레임들 및 상기 설정된 수의 블럭 라인들 중 적어도 하나의 분할 단위에 대해 현재 프레임 및 과거/미래 프레임간의 블럭 영역의 차 값을 계산하고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지하는 움직임 예측수단, 상기 움직임 예측 수단이 일시 정지된 처리를 가질 때 상기 분할 단위에 대해 상기 차 값을 이산 코사인 변환시키고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지시키는 이산 코사인 변환 수단,상기 이산 코사인 변환 수단이 일시 정지된 처리를 가질 때 상기 분할 단위에 대해 이산 코사인 변환의 결과치를 양자화하고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지시키는 양자화 수단 및, 상기 양자화 수단이 일시 정지된 처리를 가질 때 상기 분할 단위에 대해 상기 양자화의 결과치를 가변 길이 코드로 코딩하고, 상기 분할 단위의 처리가 종료되었을 시에 처리를 일시 정저시키는 코딩 수단을 포함하는 동호상 압축장치.
  7. 다수의 보다 작은 크기의 프로그램들을 포함하는 프로그램을 이용하고, 인-프레임 코드 및 인터-프레임 코드에 기초하여 동화상을 압축 코딩하는 동화상 압축 장치로서, 상기 인-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 상기 분할된 블럭의 각각을 이산 코사인 변환하며, 변환 결과치를 양자화함으로써 고 효율로 코딩하고, 상기 인터-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 현재 프레임과 과거/미래 프레임 사이의 각 블럭에서 움직임 검색을 하며, 현재 프레임의 블럭 및 상기 움직임 검색된 프레임의 블럭간의 차 값을 계산하며, 상기 차 값을 이산 코사인 변환하며, 상기 변환 결과치를 양자화함으로써 고 효율로 코딩되는 동화상 압축 장치에 있어서, 상기 동화상을 압축 코딩하기 위해 상기 보다 작은 크기의 프로그램들 중의 하나를 임시로 저장하는 캐쉬메모리, 상기 캐쉬 메모리의 미사용된 용량에 기초하여 압축 코딩 처리를 분할하기 위해 다수의 프레임들, 다수의 라인들 및 다수의 블럭 라인들 중 적어도 하나의 분할 단위를 설정하는 설정 수단 및, 상기 캐쉬 메모리에 저장된 상기 한 프로그램을 기초하여, 상기 설정 수단에 의해 설정된 매 분할 단위에 대해 압축 코딩을 실행하고, 다른 명령들을 실행하기 위한 요구가 내려졌을 때 상기 분할 단위의 압축 코딩의 종료에 연속하여 처리를 일시 정지시키는 동화상 압축 수단을 구비하는 동화상 압축 장치.
  8. 제7항에 있어서, 상기 동화상 압축수단은, 설정된 분할 단위의 화상 이미지를 휘도 요소 및 색차 요소로 변환하고, 상기 분할 단위의 처리가 종료되었을 때에 변환 처리를 일시 정지하는 변환수단, 상기 변환 수단이 일시 정지된 처리를 가질 때 상기 설정된 분할 단위의 프레임 화상 움직임을 검색하고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지하는 움직임 검색 수단, 및 상기 움직임 검색 수단이 일시 정지된 처리를 가질 때 설정된 분할 단위의 프레임을 압축하고, 상기 분할 단위의 처리가 종료되었을 시에 처리를 일시 정지하는 프레임 압축 수단을 포함하는 동화상 압축 장치.
  9. 제8항에 있어서, 상기 변환 수단은 상기 설정된 수의 프레임들 및 상기 설정된 수의 라인들 중 적어도 하나의 분할 단위에 대해 화상 이미지를 휘도 요소 및 색차 요소로 변환하는 동화상 압축 장치.
  10. 제8항에 있어서, 상기 움직임 검색 수단은 상기 설정된 수의 프레임들 및 상기 설정된 수의 블럭 라인들 중 적어도 하나의 분할 단위에 대해 프레임 화상 이미지의 움직임 검색하는 동화상 압축장치.
  11. 제8항에 있어서, 상기 프레임 압축 수단은 상기 설정된 수의 프레임들 및 상기 설정된 수의 블럭 라인들 중 적어도 하나에 대해 프레임을 압축하는 동화상 압축 장치.
  12. 제11항에 있어서, 상기 설정된 수의 프레임들 및 상기 설정된 수의 블럭 라인들 중 적어도 하나의 분할 단위에 대해 현재 프레임 및 과거/미래 프레임간의 블럭 영역의 차 값을 계산하고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지하는 움직임 예측수단, 상기 움직임 예측 수단이 일시 정지된 처리를 가질 때 상기 분할 단위에 대해 상기 차 값을 이산 코사인 변환시키고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지시키는 이산 코사인 변환 수단, 상기 이산 코사인 변환 수단이 일시 정지된 처리를 가질 때 상기 분할 단위에 대해 이산 코사인 변환의 결과를 양자화하고, 상기 분할 단위의 처리가 종료되었을 때에 처리를 일시 정지시키는 양자화 수단 및, 상기 양자화 수단이 일시 정지된 처리를 가질 때 상기 양자화의 결과치를 가변 길이 코드로 코딩하고, 상기 분할 단위의 처리가 종료되었을 시에 처리를 일시 정지시키는 코딩 수단을 포함하는 동호상 압축장치.
  13. 다수의 보다 작은 크기의 프로그램들을 포함하는 프로그램을 이용하고, 인-프레임 코드 및 인터-프레임 코드에 기초하여 동화상을 압축 코딩하는 동화상 압축 방법으로서, 상기 인-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 상기 분할된 블럭의 각각을 이산 코사인 변환하며, 변환 결과치를 양자화함으로써 고 효율로 코딩하고, 상기 인터-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 현재 프레임과 과거/미래 프레임 사이의 각 블럭에서 움직임 검색을 하며, 현재 프레임의 블럭 및 상기 움직임 검색된 프레임의 블럭간의 차 값을 계산하며, 상기 차 값을 이산 코사인 변환하며, 상기 변환 결과치를 양자화함으로써 고 효율로 코딩되는 동화상 압축 방법에 있어서, 상기 동화상을 압축 코딩하기 위해 상기 보다 작은 크기의 프로그램들 중의 하나를 임시로 저장하는 캐쉬메모리에 저장하는 단계, 상기 메모리의 미사용된 용량에 기초하여 압축 코딩 처리를 분할하기 위한 단위로서 다수의 프레임들, 다수의 라인들 및 다수의 블럭 라인들 중 적어도 하나의 분할 단위를 설정하는 단계, 상기 캐쉬 메모리에 저장된 상기 한 프로그램을 기초하여 상기 설정 단계에서 설정된 매 분할 단위마다 상기 동화상을 압축 코딩하는 단계 및 다른 명령들을 실행하기 위한 요구가 내려졌을 때 상기 분할 단위의 압축 코딩의 종료한 후, 상기 캐쉬 메모리에 저장된 상기 하나의 프로그램의 일부를 삭제하고 상기 프로그램의 다른 부분을 저장하는 단계를 포함하는 동화상 압축 방법.
  14. 제13항에 있어서, 상기 저장 단계는 상기 압축 코딩 단계의 처리를 다수의 처리 단계들로 분할하고, 메모리내의 상기 분할된 다수의 처리 단계들 중의 하나에 대응하는 프로그램을 저장하며, 저장된 프로그램의 처리가 종료되었을 때에 다음 처리 단계에 대응하는 프로그램을 저장하는 단계를 포함하며, 상기 압축 코딩 단계는 상기 메모리내에 저장된 프로그램의 설정된 분할 단위에 대해 처리하는 단계를 포함하는 동화상 압축 방법.
  15. 제13항에 있어서, 동화상의 압축 코딩 프로그램과 다른 프로그램에 의해 내려진 명령을 실행하라는 요구를 수신할 때, 상기 분할 단위의 압축 코딩이 종료된 후에 압축 코딩처리를 일시 정지하고, 상기 명령을 실행하는 단계를 더 포함하는 동화상 압축 방법.
  16. 인-프레임 코드 및 인터-프레임 코드에 기초하여 동화상을 압축 코딩하는 동화상 압축 방법으로서, 상기 인-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 상기 분할된 블럭의 각각을 이산 코사인 변환하며, 변환 결과를 양자화함으로써 고 효율로 코딩되고, 상기 인터-프레임 코드는 화상 이미지를 작은 블럭들로 분할하고, 현재 프레임과 과거/미래 프레임 사이의 각 블럭에서 움직임 검색을 하며, 현재 프레임의 블럭 및 상기 움직임 검색된 프레임의 블럭간의 차 값을 계산하며, 상기 차 값을 이산 코사인 변환하며, 상기 변환 결과를 양자화함으로써 고 효율로 코딩되는 동화상 압축 방법에 있어서, (A)화상 이미지를 휘도 요소 및 색차 요소로 변환하고, 상기 화상 이미지의 움직임을 검색하며, 프레임을 압축하는 프로그램이 캐쉬 메모리내에 저장될 때에, 상기 캐쉬 메모리의 미사용된 용량에 기초하여 각 프로그램에 대응하는 매 처리에서의 다수의 처리로서, 다수의 프레임들, 다수의 라인들 및 다수의 블럭 라인들 중 적어도 하나를 설정하는 단계,(B) 상기 캐쉬 메모리로부터 저장된 프로그램을 삭제하고, 상기 화상 이미지를 휘도 요소 및 색차 요소로 변환하는 프로그램을 상기 캐쉬 메모리에 저장하는 단계, (C)상기 캐쉬 메모리내에 저장된 프로그램에 기초하여 설정된 수의 처리를 위하여 화상 이미지를 휘도 요소 및 색차 요소로 변환하는 단계, (D)상기 변환 단계의 처리의 종료후에 캐쉬 메모리로부터 저장된 프로그램을 삭제하고, 상기 화상 이미지의 움직임을 검색하는 프로그램을 상기 캐쉬 메모리에 저장하는 단계, (E) 상기 캐쉬 메모리내에 저장된 프로그램에 기초하여 설정된 수의 처리에 대해 화상 이미지의 움직임을 검색하는 단계, (F) 상기 움직임 검색 단계의 처리의 종료후에 상기 캐쉬 메모리로부터 저장된 프로그램을 삭제하고, 상기 캐쉬 메모리내의 상기 프레임을 압축하는 프로그램을 저장하는 단계, (G)상기 캐쉬 메모리내에 저장된 프로그램에 기초하여 설정된 수의 처리에 대해 프레임을 압축하는 단계, 및 (H) (B)내지 (G)의 단계를 반복적으로 실행하는 단계를 포함하는 동화상 압축 방법.
  17. 제16항에 있어서, 상기 프레임 압축 단계는, 현재 프레임 및 과거/미래 프레임 사이의 블럭 영역의 차 값을 계산하는 움직임 예측 단계, 상기 차 값을 이산 코사인 변환하는 이산 코사인 변환 단계, 상기 이산 코사인 변환의 결과를 양자화하는 양자화 단계, 및 상기 양자와 결과를 가변 길이 코드로 코딩하는 코딩 단계로 분할되고, 매 단계에서 설정되는 다수의 처리에 대한 처리가 실행되는 동화상 압축방법.
  18. 제16항에 있어서, 동화상의 압축 코딩 프로그램과 다른 프로그램에 의해 내려진 명령을 실행하라는 요구가 있을때, 상기 분할 단위의 압축 코딩 처리가 종료된 후에 압축 코딩의 처리를 일시 정지하고 상기 명령을 실행하는 단계를 더 포함하는 동화상 압축 방법.
KR1019960029766A 1995-07-17 1996-07-18 동화상 압축 유니트 및 방법 KR100266338B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP17975695A JP3014031B2 (ja) 1995-07-17 1995-07-17 動画圧縮装置
JP95-179756 1995-07-17

Publications (2)

Publication Number Publication Date
KR970009397A KR970009397A (ko) 1997-02-24
KR100266338B1 true KR100266338B1 (ko) 2000-09-15

Family

ID=16071338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960029766A KR100266338B1 (ko) 1995-07-17 1996-07-18 동화상 압축 유니트 및 방법

Country Status (7)

Country Link
US (1) US5801775A (ko)
EP (1) EP0755025B1 (ko)
JP (1) JP3014031B2 (ko)
KR (1) KR100266338B1 (ko)
AU (1) AU719779B2 (ko)
CA (1) CA2181301C (ko)
DE (1) DE69616889T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101521907B1 (ko) * 2008-03-21 2015-05-20 엘지전자 주식회사 미디어파일재생장치 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192073B1 (en) * 1996-08-19 2001-02-20 Samsung Electronics Co., Ltd. Methods and apparatus for processing video data
FR2761499B1 (fr) * 1997-03-25 2000-07-13 Sgs Thomson Microelectronics Codeur/decodeur d'images animees avec memoire cache
US5990958A (en) * 1997-06-17 1999-11-23 National Semiconductor Corporation Apparatus and method for MPEG video decompression
KR100469231B1 (ko) * 1997-07-18 2005-03-16 엘지전자 주식회사 화면검색장치
JP3241332B2 (ja) * 1998-10-27 2001-12-25 日本電気株式会社 無線携帯端末のノイズ低減方法
EP1251460A1 (en) * 2001-04-19 2002-10-23 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Adaptive method for allocation of random access memory
KR100828320B1 (ko) * 2001-08-21 2008-05-08 엘지전자 주식회사 알에이피를 위한 영상신호의 송신 및 수신 방법
KR100498445B1 (ko) * 2002-05-30 2005-07-01 삼성전자주식회사 성능향상을 위한 동영상 압축방법 및 장치
JP4367337B2 (ja) * 2004-12-28 2009-11-18 セイコーエプソン株式会社 マルチメディア処理システム及びマルチメディア処理方法
JP4182442B2 (ja) * 2006-04-27 2008-11-19 ソニー株式会社 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
KR100980195B1 (ko) * 2008-05-13 2010-09-03 에스케이 텔레콤주식회사 동영상 부호화 장치 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57141756A (en) * 1981-02-25 1982-09-02 Sharp Corp Program processor
JPS58176752A (ja) * 1982-04-10 1983-10-17 Fuji Electric Co Ltd マクロ命令フエツチ方式
JPS62125449A (ja) * 1985-11-26 1987-06-06 Nec Corp キヤツシユメモリ方式
US5095512A (en) * 1988-10-24 1992-03-10 Netexpress Systems, Inc. Method and apparatus for manipulating image data employing an intermediate format
US5263136A (en) * 1991-04-30 1993-11-16 Optigraphics Corporation System for managing tiled images using multiple resolutions
JPH04333929A (ja) * 1991-05-10 1992-11-20 Toshiba Corp キャッシュメモリ制御方式
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
US5408542A (en) * 1992-05-12 1995-04-18 Apple Computer, Inc. Method and apparatus for real-time lossless compression and decompression of image data
US5612747A (en) * 1995-03-08 1997-03-18 Lucent Technologies Inc. Method and apparatus for vector quantization caching in a real time video coder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101521907B1 (ko) * 2008-03-21 2015-05-20 엘지전자 주식회사 미디어파일재생장치 및 방법

Also Published As

Publication number Publication date
CA2181301C (en) 2000-11-14
KR970009397A (ko) 1997-02-24
EP0755025A3 (en) 1997-04-09
JP3014031B2 (ja) 2000-02-28
DE69616889T2 (de) 2002-06-27
US5801775A (en) 1998-09-01
DE69616889D1 (de) 2001-12-20
EP0755025B1 (en) 2001-11-14
AU6054196A (en) 1997-01-23
JPH0937263A (ja) 1997-02-07
AU719779B2 (en) 2000-05-18
EP0755025A2 (en) 1997-01-22
CA2181301A1 (en) 1997-01-18

Similar Documents

Publication Publication Date Title
US6870883B2 (en) Parallel encoding and decoding processor system and method
US5386234A (en) Interframe motion predicting method and picture signal coding/decoding apparatus
JP3856262B2 (ja) 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体
EP0545323A1 (en) Motion picture decoding system
JP4746550B2 (ja) 画像符号化装置
JP2009544225A (ja) ビデオ圧縮用並列処理装置
KR100266338B1 (ko) 동화상 압축 유니트 및 방법
KR100227298B1 (ko) 부호화 화상의 부호량 제어 방법
EP1280356A2 (en) Apparatus and method for compressing multiplexed video signals
US6591014B1 (en) Apparatus for coding moving picture
JPH10111792A (ja) 画像処理装置
JPH10164597A (ja) 符号化方法およびその方法を用いた符号化装置
JPH0795536A (ja) 動画像逆再生装置及び方法
JP4359273B2 (ja) 符号化モード選択方法
JP2001094994A (ja) 画像処理装置及び方法
JP2812203B2 (ja) 画像再生装置
KR0161927B1 (ko) 디지탈 영상 데이타의 부호화 방법
JPH09294268A (ja) 画像符号化装置
JPH10164594A (ja) 動画像の圧縮符号化方法およびその装置
JP2000270251A (ja) デジタルカメラ
JP4359274B2 (ja) 動画像圧縮符号化装置
JP2003179931A (ja) 動画符号化装置及びその方法並びに動画符号化プログラム
US20050201458A1 (en) Image encoding system and method
JP2001268571A (ja) 動画像再符号化装置
JPH06253290A (ja) フレーム間予測信号形成方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20140603

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 16

EXPY Expiration of term