KR20000067685A - 비트확장 가변부호화 장치 - Google Patents

비트확장 가변부호화 장치 Download PDF

Info

Publication number
KR20000067685A
KR20000067685A KR1019990015694A KR19990015694A KR20000067685A KR 20000067685 A KR20000067685 A KR 20000067685A KR 1019990015694 A KR1019990015694 A KR 1019990015694A KR 19990015694 A KR19990015694 A KR 19990015694A KR 20000067685 A KR20000067685 A KR 20000067685A
Authority
KR
South Korea
Prior art keywords
macroblock
bit
fifos
color difference
signal
Prior art date
Application number
KR1019990015694A
Other languages
English (en)
Other versions
KR100295185B1 (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 KR1019990015694A priority Critical patent/KR100295185B1/ko
Publication of KR20000067685A publication Critical patent/KR20000067685A/ko
Application granted granted Critical
Publication of KR100295185B1 publication Critical patent/KR100295185B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

본 발명은 HDTV(High Definition TeleVision, 고화질 텔레비전) 부호화기 등에 사용될 수 있는 비트확장 가변부호화 장치를 제공하기 위한 것으로, 이러한 본 발명은 입력된 매크로블록에 대해 2경로의 휘도신호 처리와 2경로의 색차신호 처리를 수행하고, 각 매크로블록에 대한 DC 신호를 AC 신호와 분리하여 비트 확장시 타이밍 제어를 수행하며, 상기 각 매크로블록당 헤더 데이터를 처리하는 가변부호화부와; 상기 가변부호화부에서 입력된 32비트의 휘도신호 매크로블록과 색차신호 매크로블록을 64비트로 확장하여 슬라이서에서 읽을 수 있도록 저장하는 비트확장부와; 상기 비트확장부에서 확장된 매크로블록에서 각 블록별로 병렬로 처리한 데이터를 블록의 순서에 맞게 차례로 읽어들여 슬라이싱하는 슬라이서로 구성되어, 부호화의 처리 비트수를 32비트에서 64비트로 확장하여 높은 비트레이트를 지원할 수 있게 되는 것이다.

Description

비트확장 가변부호화 장치{bit extension variable encoder}
본 발명은 HDTV(High Definition TeleVision, 고화질 텔레비전) 부호화기 등에 사용되는 가변부호화 장치에 관한 것으로, 특히 가변부호화 장치에서 부호화의 처리 비트수를 확장시킴으로써 높은 비트레이트를 지원하는 비트확장 가변부호화 장치에 관한 것이다.
일반적으로 가변 부호화하는 대상은 크게 DCT(Discrete Cosine Transform, 이산 코사인 변환) 계수들과 영상의 부가 정보들로써, 입력된 영상 데이터를 부호화 테이블에 따라 코드를 발생시키는 기능을 수행한다.
도1은 종래 동기시분할 가변부호화 장치의 블록구성도이다.
이에 도시된 바와 같이, 입력데이터를 지그재그 주사하고 계수값인 레벨을 결정하여 매크로블록에 대한 코드값을 저장하는 블록가변 부호화부(10)와; 상기 블록가변 부호화부(10)의 매크로블록 데이터를 입력받아 슬라이싱하고, 동기신호를 입력받아 수직동기신호를 출력하는 슬라이서(30)로 구성된다.
여기서 블록가변 부호화부(10)는, 입력된 복수개의 블록 데이터를 각각 지그재그 주사하고 0이 아닌 계수 사이의 0의 개수를 세어 run과 0이 아닌 계수값인 레벨을 결정하는 복수개의 SCAN(11)과; 상기 복수개의 SCAN(11)에서 입력되는 데이터에서 각각의 유효한 run, 레벨에 대해 코드값을 할당하여 코드값과 코드의 크기를 결정하는 복수개의 가변길이 부호부(15)와; 상기 복수개의 가변길이 부호부(15)에서 입력받은 코드를 정해진 비트로 각각 패킹시키는 복수개의 패킹부(19)와; 상기 복수개의 패킹부(19)에서 패킹된 데이터를 저장하여 상기 슬라이서(30)에서 읽을 수 있도록 저장하는 복수개의 FIFO(First In First Out, 선입선출)(23)와; 매크로블록의 부가정보를 입력받아 헤더를 생성하는 매크로블록 헤더생성부(27)와; 상기 매크로블록 헤더생성부(27)에 출력되는 데이터를 패킹하는 패킹부(28)와; 상기 패킹부(28)에서 패킹된 매크로블록의 부가정보를 저장하여 상기 슬라이서(30)에서 읽을 수 있도록 저장하는 FIFO(29)로 구성된다.
이와 같이 구성된 종래 동기시분할 가변부호화 장치의 작용은 다음과 같다.
먼저, 하나의 영상은 Picture/Slice/Macro Block/Block으로 계층적으로 구성할 수 있다. 블록은 8??8 픽셀의 데이터로 구성되고, 4개의 블록 즉, 16??16 픽셀의 데이터를 매크로 블록(MB, Macro Block)이라고 한다. 실제로 1MB에서 4개의 블록은 휘도용 데이터이고, 여기에 색차용 데이터 블록이 2개(4:2:0) 또는 4개(4;2:2) 또는 8개(4:4:4)로 구성된다. 따라서 4:2:0인 경우 1MB 당 블록수는 6개가 된다.
또한 슬라이스(Slice)는 여러 개의 MB의 모임으로 정의된다. 예를 들어 영상의 크기가 1920×1088인 경우 1 슬라이스는 120개의 MB로 구성되고, 1픽처(Picture)는 68개의 슬라이스로 구성된다. 여러 영상을 모아 하나의 GOP(Group Of Picture)를 구성한다.
그래서 MC/Slice/Picture/GOP의 시작 신호를 동기 신호로 정의한다. 그리고 하나의 MB 데이터를 처리하는데 128 클럭을 할당하였다. 따라서 MB Start 신호는 매 128 클럭마다 항상 발생한다. 하나의 블록을 처리하는데는 64 클럭이 필요하므로 128 클럭 동안에는 2개의 블록 데이터를 처리할 수 있게 된다.
따라서 128 클럭 동안에 하나의 MB인 6개의 블록 데이터를 부호화하기 위해서는 병렬로 3개의 경로가 필요하다. 그래서 도1의 입력은 3개의 블록 데이터가 동시에 입력된다. 입력 데이터를 Raster Scan에서 지그재그(Zigzag) 스캔으로 바꾸고, 이 데이터의 0이 아닌 계수 사이의 0의 개수를 세어 run과 0이 아닌 계수값인 level을 결정한다.
그래서 가변길이 부호부(15)는 각각의 유효한 run, level에 대해 코드값을 할당하여 코드값인 code와 코드의 크기를 결정한다. 그리고 32bit의 패킹부(19)는 입력받은 코드를 32비트로 패킹(Packing)시켜 FIFO(23)에 저장한다.
도1에서 참조번호 24인 FIFO는 DCM[0]에 대한 블록 가변 부호화한 데이터를 저장하고, 참조번호 25인 FIFO는 DCM[1]에 대한 블록 가변 부호화한 데이터를 저장하며, 참조번호 26인 FIFO는 DCM[2]에 대한 블록 가변 부호화한 데이터를 저장한다. MB Start를 기준으로 128 클럭마다 FIFO(24 - 26)에는 하나의 MB에 대한 코드값이 저장된다.
하나의 MB를 나타내는 데이터는 상기한 3개 경로의 블록 데이터 이외에 MB의 부가 정보를 처리해야 한다. 이 부가정보는 매크로블록 헤더생성부(MB Head)(27)에 입력되는 MBPARM[12]에 실려온다. 이 데이터는 매 128 클럭마다 그 MB에 해당되는 정보를 나타낸다. 그래서 매크로블록 헤더생성부(27)와 32bit의 패킹부(28)와 FIFO(29)는 각 MB마다 부가정보를 이용하여 MB Header를 만들어 FIFO(29)에 저장하게 된다. 여기서 매크로블록 헤더생성부(27)는 MBParm의 정보를 이용하여 MB Header 비트스트림을 만든다.
그리고 슬라이서(30)는 동기신호인 SYNC[4] 신호를 입력받아 수직동기신호인 VSYNC[4]를 만든다. VSYNC는 Picture Header, Slice Header, MB Header, Block 데이터를 차례로 처리하기 위해 재조정한 동기신호이다.
여기서 국제 표준인 MPEG(Moving Picture Export Group, 통합계 동영상압축의 국제표준)-2에서 요구하는 MB(Macro Block)당 최대 비트수는 색차신호 구조가 4:2:0인 경우는 4608 비트, 4:2:2인 경우는 6144비트이다.
그러나 종래의 동기시분할 가변부호화 장치는 32비트에서 120사이클의 속도로 처리하기 때문에 최대 3840비트까지 처리하게 되어, MPEG-2 표준에 부합하지 못하는 문제점이 있었다.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 가변부호화 장치에서 부호화의 처리 비트수를 확장시킴으로써 높은 비트레이트를 지원할 수 있는 비트확장 가변부호화 장치를 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명에 의한 비트확장 가변부호화 장치는,
입력된 매크로블록에 대해 2경로의 휘도신호 처리와 2경로의 색차신호 처리를 수행하고, 각 매크로블록에 대한 DC 신호를 AC 신호와 분리하여 비트 확장시 타이밍 제어를 수행하며, 상기 각 매크로블록당 헤더 데이터를 처리하는 가변부호화부와; 상기 가변부호화부에서 입력된 32비트의 휘도신호 매크로블록과 색차신호 매크로블록을 64비트로 확장하여 슬라이서에서 읽을 수 있도록 저장하는 비트확장부와; 상기 비트확장부에서 확장된 매크로블록에서 각 블록별로 병렬로 처리한 데이터를 블록의 순서에 맞게 차례로 읽어들여 슬라이싱하는 슬라이서로 이루어짐을 그 기술적 구성상의 특징으로 한다.
도1은 종래 동기시분할 가변부호화 장치의 블록구성도이고,
도2는 본 발명에 의한 비트확장 가변부호화 장치의 블록구성도이며,
도3은 도2에서 가변부호화부의 상세블록도이고,
도4는 도2에서 비트확장부의 상세블록도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
40 : 가변부호화부 70 : 비트확장부
80 : 슬라이서
이하, 상기와 같은 본 발명 비트확장 가변부호화 장치의 기술적 사상에 따른 일실시예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
먼저 국제 표준 MPEG2를 채용한 HDTV 부호화기는 사양(Specification)의 등급에 따라 최대 120Mbps의 비디오 비트레이트를 지원하여야 한다. 그리고 MPEG2에서 요구하는 MB 당 최대 비트수는 색차신호 구조가 4:2:0인 경우는 4608 비트, 4:2:2인 경우는 6144 비트이다. 따라서 시스템 설계시 MB당 최대 비트수가 처리가능해야 한다. 고비트 레이트를 지원하기 위해서는 시스템의 처리 주파수를 높이던지 아니면 동시에 처리할 수 있는 비트수를 확장할 수 밖에 없다. 그러나 주파수를 높이는 방법은 부호화기내의 각 블록의 처리 주파수를 높이는데 한계가 있기 때문에 실제 구현상 한계를 갖게 된다.
따라서 본 발명에서는 비트 확장을 이용한 고비트 레이트를 지원할 수 있게 한다. 그리고 비트확장을 함으로써 MB당 동시처리 가능한 비트수를 색차 구조가 4:2:0인 경우 6144 비트, 4:2:2인 경우 8192 비트까지 처리 가능하게 하여 MPEG2에서 요구하는 사항을 만족시킨다.
도2는 본 발명에 의한 비트확장 가변부호화 장치의 블록구성도이다.
이에 도시된 바와 같이, 입력된 매크로블록에 대해 2경로의 휘도신호 처리와 2경로의 색차신호 처리를 수행하고, 각 매크로블록에 대한 DC(Direct Current, 직류) 신호를 AC(Alternating Current, 교류) 신호와 분리하여 비트 확장시 타이밍 제어를 수행하며, 상기 각 매크로블록당 헤더 데이터를 처리하는 가변부호화부(40)와; 상기 가변부호화부(40)에서 입력된 32비트의 휘도신호 매크로블록과 색차신호 매크로블록을 64비트로 확장하여 슬라이서(80)에서 읽을 수 있도록 저장하는 비트확장부(70)와; 상기 비트확장부(70)에서 확장된 매크로블록에서 각 블록별로 병렬로 처리한 데이터를 블록의 순서에 맞게 차례로 읽어들여 슬라이싱하는 슬라이서(30)로 구성된다.
도3은 도2에서 가변부호화부의 상세블록도이다.
이에 도시된 바와 같이, 2경로의 휘도신호 매크로블록과 2경로의 색차신호 매크로블록을 부호화하여 저장하는 매크로블록 부호화부(41 ~ 60)와; 상기 각 매크로블록의 계수 데이터를 입력받아 상기 매크로블록에서 DC값을 AC값과 분리하여 상기 매크로블록의 색차구조에 따라 필요한 DC 값을 처리하는 DC 처리부((61)(62)와; 상기 매크로블록의 부가정보를 입력받아 헤더를 생성하는 매크로블록 헤더생성부(63)와; 상기 매크로블록 헤더생성부(63)에 출력되는 데이터를 32비트로 패킹하여 출력하는 패킹부(64)와; 상기 패킹부(64)에서 패킹된 매크로블록의 부가정보를 저장하여 상기 슬라이서(80)에서 읽을 수 있도록 저장하는 FIFO(65)로 구성된다.
상기에서 매크로블록 부호화부(41 ~ 60)는, 입력데이터의 타이밍을 맞춰주는데 사용하는 동기신호와 영상데이터를 양자화한 후의 계수값인 레벨값을 입력받아, 각각 2경로 휘도신호 매크로 블록과 2경로의 색차신호 매크로블록을 런 길이 부호화하는 복수개의 RLC(Run Length Coding, 런 길이 부호화)(41 ~ 45)와; 상기 복수개의 RLC(41 ~ 45)에서 런 길이 부호화된 매크로블록을 가변길이 부호화하는 복수개의 VLC(Variable Length Coding, 가변 길이 부호화)(46 ~ 50)와; 상기 복수개의 VLC(46 ~ 50)에서 입력받은 코드를 32 비트로 각각 패킹시켜 출력하는 복수개의 패킹부(51 ~ 55)와; 상기 복수개의 패킹부(51 ~ 55)에서 패킹된 제1 및 제2 휘도신호, 제1 및 제2 색차신호를 각각 저장하는 제1 및 제2 휘도신호 FIFO와 제1 및 제2 색차신호 FIFO로 이루어진 복수개의 9비트 FIFO(56 ~ 60)로 구성된다.
상기에서 복수개의 9비트 FIFO(56 ~ 60)는, 상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제1 휘도신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제1 휘도신호 FIFO(57)와; 상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제2 휘도신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제2 휘도신호 FIFO(58)와; 상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제1 색차신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제1 색차신호 FIFO(59)와; 상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제2 색차신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제2 색차신호 FIFO(60)로 구성된다.
상기에서 DC 처리부(61)(62)는, 상기 각 매크로블록의 계수 데이터를 입력받아 상기 매크로블록에서 DC값을 AC값과 분리하여 상기 매크로블록의 색차구조에 따라 필요한 DC 값을 가변길이 부호화하는 VLC DC부(61)와; 상기 VLC DC부(61)의 데이터를 저장하여 상기 슬라이서(80)에서 읽을 수 있도록 하는 DC FIFO(62)로 구성된다.
상기에서 DC 처리부(61)(62)는, 상기 매크로블록의 색차구조가 4:2:0인 경우에는 6개의 DC 값을 가변길이 부호화하여 저장하고, 상기 매크로블록의 색차구조가 4:2:2인 경우에는 8개의 DC 값을 가변길이 부호화하여 저장한다.
도4는 도2에서 비트확장부의 상세블록도이다.
이에 도시된 바와 같이, 상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 휘도신호 FIFO(57)(58)의 제1 및 제2 휘도신호 데이터를 지그재그 순서로 각각 저장하는 제1 및 제2 FIFO(71)(72)와; 상기 제1 및 제2 FIFO(71)(72)가 각각 데이터를 저장한 다음 32사이클 후에 상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 휘도신호 FIFO(59)(60)의 제1 및 제2 휘도신호 데이터를 지그재그 순서로 각각 저장하는 제3 및 제4 FIFO(73)(74)와; 상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 색차신호 FIFO(59)(60)의 제1 및 제2 색차신호 데이터를 지그재그 순서로 각각 저장하는 제1 및 제2 FIFO(75)(76)와; 상기 제1 및 제2 FIFO(75)(76)가 각각 데이터를 저장한 다음 32사이클 후에 상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 색차신호 FIFO(59)(60)의 제1 및 제2 색차신호 데이터를 지그재그 순서로 각각 저장하는 제3 및 제4 FIFO(77)(78)로 구성된다.
이와 같이 구성된 본 발명의 작용을 상세히 설명하면 다음과 같다.
먼저 도2는 매크로블록 레벨의 가변부호화기의 전체 블록도인데, 가변부호화기는 입력영상 데이터를 부호화 테이블에 따라 코드를 발생시키는 역할을 한다. 입력영상 데이터는 영상데이터의 차이값을 DCT/양자화한 입력데이터이다. 영상데이터는 색차 구조가 4:2:0인 경우 1매크로블록당 4블록의 휘도신호와 2블록의 색차신호로 구성되고, 4:2:2인 경우는 4블록의 휘도블록과 4블록의 색차블록으로 구성된다. 본 발명에서는 2경로의 휘도처리 부분과 2경로의 색차처리 부분을 포함하여 구성한다. 따라서 1매크로블록당 1경로에 대해 2블록의 데이터를 처리하면 된다. 이러한 구조로 동시에 처리하는 데이터는 4경로로써 2경로는 휘도신호용으로 2경로는 색차신호용으로 구성된다. 도1의 4개의 RLC(42, 43, 44, 45)에 이어진 블록들이 위의 처리 블록이다.
VLC DC부(61)는 휘도와 색차의 각 블록에 대해 DC 신호는 AC 신호와 분리하여 비트 확장시 타이밍 제어를 용이하게 한다. 매크로블록 헤더생성부(63)는 매크로블록당 방생하는 헤더 데이터를 처리한다. 32비트 팩의 복수개의 패킹부(51 ~ 55)는 발생하는 가변비트수를 32비트로 맞추어 주는 부분이고, 복수개의 9비트 FIFO(56 ~ 60)와 비트확장부(70)는 32비트를 64비트로 확장하는 부분이다. 슬라이서(80)는 비트확장부(70)에서 확장된 매크로블록에서 각 블록별로 병렬로 처리한 데이터를 블록의 순서에 맞게 차례로 읽어들여 슬라이싱을 수행한다.
도3에서 RLC/VLC(41 ~ 50)는 동일한 동작을 하는 부분으로, (42)(47)과 (43)(38)의 RLC/VLC는 각각 휘도 2블록을 처리하고, (44)(49)와 (45)(50)의 RLC/VLC는 각각 색차 2블록을 처리한다. 입력신호는 입력데이터의 타이밍을 맞춰주는데 사용하는 sync 신호와 영상데이터를 양자화한 후의 계수값인 level 값으로 구성된다.
그리고 VLC DC부(61)는 매크로블록당 각 블록의 DC 값을 처리하는 부분이므로, 각 블록의 계수데이터가 모두 입력된다. 그래서 매크로블록당 색차구조가 4:2:0인 경우는 6개의 DC 값을 처리하고, 매크로블록당 색차구조가 4:2:2인 경우는 8개의 DC 값을 처리한다.
또한 매크로블록 헤더생성부(Parm/stat)(63)는 매크로블록당 필요한 헤더 정보를 처리하는 부분으로, 헤더정보를 만드는 데 필요한 정보는 MBParm에 실려오는데, 이 신호는 DCT/양자화하는 부분에서 전송되어 온다.
이에 따라 RLC/VLC(41 ~ 50)와 VLC DC부(61)와 매크로블록 헤더생성부(63)는 입력데이터를 받아 가변부호화 테이블을 이용하여 코드를 만들어 다음 단으로 전송하는데, code(코드)와 이 code에 대한 size(크기), 코드가 발생함을 알리는 stb(start of block), 각 블록을 끝을 나타내는 eob(end of block)로 구성된다.
그래서 복수개의 패킹부(51 ~ 50)와 패킹부(64)는 RLC/VLC(41 ~ 50)와 매크로블록 헤더생성부(63)에서 각각 입력받은 코드를 32비트로 만들어 출력시키는 부분으로 모두 동일한 동작을 한다. 그래서 입력받은 코드를 받아 32비트로 만들어 32비트가 될 때마다 code, size, eob 신호를 다음 단으로 출력시킨다. 항상 32비트가 되어야 다음 단으로 넘어가는 데이터가 유효하므로 size 정보는 필요하지 않은 것 같지만, 각 블록의 끝에서는 32비트가 되지 않아도 출력시켜야 하기 때문에 size 정보와 블록의 끝을 나타내는 eob 신호와 32비트가 되었다는 것을 알려주는 stb 신호가 필요하다.
VLC DC부(61)는 DC 처리로 항상 블록당 1개씩 발생하기 때문에 32비트로 패킹하지 않고 그대로 전송한다.
나아가 복수개의 9비트 FIFO(56 ~ 60)와 DC FIFO(62)와 FIFO(65)는 32비트로 패킹한 데이터를 저장하는 메모리이다. 메모리로는 양방향 읽기/쓰기가 가능한 FIFO를 사용하였다. 각각의 9비트의 FIFO 5개가 필요하다. 4개는 코드를 저장하는 FIFO이고, 1개는 size를 저장하는 FIFO이다.
도4는 32비트 데이터를 64비트로 확장하는 것을 보인 도면이다. 비트확장은 휘도신호 4블록과 색차신호 4블록에 대해서만 사용한다. 비트확장을 위해서 36비트 FIFO를 사용한다. 현재 사용가능한 FIFO는 36비트가 최대이므로 36비트 FIFO 2개를 사용한다. 이는 도4의 복수개의 9비트 FIFO(57 ~ 60)에서 읽어 비트확장부(70)의 제1 내지 제8 FIFO(71 ~ 78)에 저장하고, 2매크로블록의 시간 후에 바로 읽어가기 때문에 크기는 클 필요가 없다.
각 매크로블록에서 데이터의 순서는 휘도와 색차신호를 나누어 처리한다.
휘도인 경우의 각 블록의 순서는 제1 휘도신호 FIFO(57) -〉 제2 휘도신호 FIFO(58) -〉 제1 휘도신호 FIFO(57) -〉 제2 휘도신호 FIFO(58)을 읽어 저장하도록 구성되고, 색차인 경우의 각 블록의 순서는 제1 색차신호 FIFO(59) -〉 제2 색차신호 FIFO(60) -〉 제1 색차신호 FIFO(59) -〉 제2 색차신호 FIFO(60)을 읽어 저장하도록 구성되며, 각 블록에서는 최대 32사이클로 구성된다.
휘도신호인 경우와 색차신호인 경우는 처리방법이 동일하므로 휘도신호인 경우에 대해서만 설명하면 다음과 같다.
먼저, 휘도신호인 경우, 제1 휘도신호 FIFO(57)에서 데이터를 읽어 한번은 제1 FIFO(71)와 제2 FIFO(72)에 지그재그 순서로 저장하고, 한번은 제3 FIFO(73)와 제4 FIFO(74)에 지그재그 순서로 쓴다. 제1 휘도신호 FIFO(57)에서는 최대 32사이클 동안 읽어들인다. 32사이클이 지난 다음에는 제2 휘도신호 FIFO(58)을 32사이클 동안 읽어들여 상기한 방법과 동일하게 제1 내지 제4 FIFO(71 ~ 74)에 데이터를 쓴다.
이렇게 저장된 데이터는 도2의 슬라이서(80)에서 읽어들이게 된다. 슬라이서는 제1 내지 제4 FIFO(71 ~74)의 휘도데이터를 64비트로 동시에 읽어들이고, 이와 함께 제5 내지 제8 FIFO(75 ~ 78)의 색차데이터를 64비트로 동시에 읽어들인다. 이 경우 code는 64비트이고, 여기에 size 정보가 부가된다.
그래서 도2를 참조하여, 슬라이서(80)가 매크로블록 레벨로 처리된 데이터를 블록의 순서대로 읽어들이는 것을 상세히 설명하면 다음과 같다.
즉, 색차 구조가 4:2:0인 경우는 매크로블록 헤더 -〉 각 블록의 DC -〉 휘도블록 4개 -〉 각 블록의 DC -〉 색차블록 2개의 순서로 읽어들인다. 그래서 도2에서 참조번호를 보면, (65) -〉 (62) -〉 (70), (71~74) -〉 (62) -〉 (70), (71~74) -〉 (62) -〉 (70), (71~74) -〉 (62) -〉 (70), (71~74) -〉 (62) -〉 (70), (77)(78) -〉 (62) -〉 (75)(76), (77)(78)의 순서로 읽어들이게 된다.
전체 시스템에서 슬라이서(80)가 순서대로 데이터를 읽어들여야 하므로 이 부분을 빠르게 데이터 처리하면, 높은 비트 레이트를 발생시킬 수 있다. 따라서 읽어들이는 부분을 64 비트로 확장시킴으로써 처리가능한 비트수를 확장하게 되는 것이다.
즉, 본 발명은 32비트를 64비트로 변환시킴으로써 블록당 최대 사이클은 32사이클이고, 블록당 최대 비트수는 1024비트(=32??32)가 된다. 따라서 본 발명이 매크로블록당 처리할 수 있는 최대비트수는 4:2:0인 경우 6144비트(=1024??6)가 되어 MPEG2에서 요구하는 4608비트를 만족시킬 수 있고, 4:2:2인 경우 8192(=1024??8)이 되어 MPEG2에서 요구하는 6144비트를 만족시킬 수 있게 된다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.
이상에서 살펴본 바와 같이, 본 발명에 의한 비트확장 가변부호화 장치는 가변부호화 장치에서 부호화의 처리 비트수를 32비트에서 64비트로 확장하여 높은 비트레이트를 지원할 수 있는 효과가 있게 된다.

Claims (8)

  1. 가변부호화 장치에 있어서,
    입력된 매크로블록에 대해 2경로의 휘도신호 처리와 2경로의 색차신호 처리를 수행하고, 각 매크로블록에 대한 DC(Direct Current, 직류) 신호를 AC(Alternating Current, 교류) 신호와 분리하여 비트 확장시 타이밍 제어를 수행하며, 상기 각 매크로블록당 헤더 데이터를 처리하는 가변부호화부(40)와;
    상기 가변부호화부(40)에서 입력된 32비트의 휘도신호 매크로블록과 색차신호 매크로블록을 64비트로 확장하여 슬라이서(80)에서 읽을 수 있도록 저장하는 비트확장부(70)와;
    상기 비트확장부(70)에서 확장된 매크로블록에서 각 블록별로 병렬로 처리한 데이터를 블록의 순서에 맞게 차례로 읽어들여 슬라이싱하는 슬라이서(30)로 구성된 것을 특징으로 하는 비트확장 가변부호화 장치.
  2. 제 1항에 있어서, 상기 가변부호화부(40)는,
    2경로의 휘도신호 매크로블록과 2경로의 색차신호 매크로블록을 부호화하여 저장하는 매크로블록 부호화부(41 ~ 60)와;
    상기 각 매크로블록의 계수 데이터를 입력받아 상기 매크로블록에서 DC값을 AC값과 분리하여 상기 매크로블록의 색차구조에 따라 필요한 DC 값을 처리하는 DC 처리부((61)(62)와;
    상기 매크로블록의 부가정보를 입력받아 헤더를 생성하는 매크로블록 헤더생성부(63)와;
    상기 매크로블록 헤더생성부(63)에 출력되는 데이터를 32비트로 패킹하여 출력하는 패킹부(64)와;
    상기 패킹부(64)에서 패킹된 매크로블록의 부가정보를 저장하여 상기 슬라이서(80)에서 읽을 수 있도록 저장하는 FIFO(65)로 구성된 것을 특징으로 하는 비트확장 가변부호화 장치.
  3. 제 2항에 있어서, 상기 매크로블록 부호화부(41 ~ 60)는,
    입력데이터의 타이밍을 맞춰주는데 사용하는 동기신호와 영상데이터를 양자화한 후의 계수값인 레벨값을 입력받아, 각각 2경로 휘도신호 매크로 블록과 2경로의 색차신호 매크로블록을 런 길이 부호화하는 복수개의 RLC(Run Length Coding, 런 길이 부호화)(41 ~ 45)와;
    상기 복수개의 RLC(41 ~ 45)에서 런 길이 부호화된 매크로블록을 가변길이 부호화하는 복수개의 VLC(Variable Length Coding, 가변 길이 부호화)(46 ~ 50)와;
    상기 복수개의 VLC(46 ~ 50)에서 입력받은 코드를 32 비트로 각각 패킹시켜 출력하는 복수개의 패킹부(51 ~ 55)와;
    상기 복수개의 패킹부(51 ~ 55)에서 패킹된 제1 및 제2 휘도신호, 제1 및 제2 색차신호를 각각 저장하는 제1 및 제2 휘도신호 FIFO와 제1 및 제2 색차신호 FIFO로 이루어진 복수개의 9비트 FIFO(56 ~ 60)로 구성된 것을 특징으로 하는 비트확장 가변부호화 장치.
  4. 제 3항에 있어서, 상기 복수개의 9비트 FIFO(56 ~ 60)는,
    상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제1 휘도신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제1 휘도신호 FIFO(57)와;
    상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제2 휘도신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제2 휘도신호 FIFO(58)와;
    상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제1 색차신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제1 색차신호 FIFO(59)와;
    상기 복수개의 패킹부(51 ~ 55)에서 32비트로 패킹된 제2 색차신호를 입력받아 코드를 저장하는 9비트??4개의 FIFO와 크기를 저장하는 9비트??1개의 FIFO로 이루어진 제2 색차신호 FIFO(60)로 구성된 것을 특징으로 하는 비트확장 가변부호화 장치.
  5. 제 2항에 있어서, 상기 DC 처리부(61)(62)는,
    상기 각 매크로블록의 계수 데이터를 입력받아 상기 매크로블록에서 DC값을 AC값과 분리하여 상기 매크로블록의 색차구조에 따라 필요한 DC 값을 가변길이 부호화하는 VLC DC부(61)와;
    상기 VLC DC부(61)의 데이터를 저장하여 상기 슬라이서(80)에서 읽을 수 있도록 하는 DC FIFO(62)로 구성된 것을 특징으로 하는 비트확장 가변부호화 장치.
  6. 제 2항에 있어서, 상기 DC 처리부(61)(62)는,
    상기 매크로블록의 색차구조가 4:2:0인 경우에는 6개의 DC 값을 가변길이 부호화하여 저장하고, 상기 매크로블록의 색차구조가 4:2:2인 경우에는 8개의 DC 값을 가변길이 부호화하여 저장하는 것을 특징으로 하는 비트확장 가변부호화 장치.
  7. 제 1항에 있어서, 상기 비트확장부(70)는,
    상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 휘도신호 FIFO(57)(58)의 제1 및 제2 휘도신호 데이터를 지그재그 순서로 각각 저장하는 제1 및 제2 FIFO(71)(72)와;
    상기 제1 및 제2 FIFO(71)(72)가 각각 데이터를 저장한 다음 32사이클 후에 상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 휘도신호 FIFO(59)(60)의 제1 및 제2 휘도신호 데이터를 지그재그 순서로 각각 저장하는 제3 및 제4 FIFO(73)(74)와;
    상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 색차신호 FIFO(59)(60)의 제1 및 제2 색차신호 데이터를 지그재그 순서로 각각 저장하는 제1 및 제2 FIFO(75)(76)와;
    상기 제1 및 제2 FIFO(75)(76)가 각각 데이터를 저장한 다음 32사이클 후에 상기 매크로블록 부호화부 내의 복수개의 9비트 FIFO(56 ~ 60)의 제1 및 제2 색차신호 FIFO(59)(60)의 제1 및 제2 색차신호 데이터를 지그재그 순서로 각각 저장하는 제3 및 제4 FIFO(77)(78)로 구성된 것을 특징으로 하는 비트확장 가변부호화 장치.
  8. 제 1항에 있어서, 상기 슬라이서(80)는,
    색차 구조가 4:2:0인 경우에 매크로블록 헤더 -〉 각 블록의 DC -〉 휘도블록 4개 -〉 각 블록의 DC -〉 색차블록 2개의 순서로 데이터를 읽어들이는 것을 특징으로 하는 비트확장 가변부호화 장치.
KR1019990015694A 1999-04-30 1999-04-30 비트확장 가변부호화 장치 KR100295185B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990015694A KR100295185B1 (ko) 1999-04-30 1999-04-30 비트확장 가변부호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990015694A KR100295185B1 (ko) 1999-04-30 1999-04-30 비트확장 가변부호화 장치

Publications (2)

Publication Number Publication Date
KR20000067685A true KR20000067685A (ko) 2000-11-25
KR100295185B1 KR100295185B1 (ko) 2001-07-12

Family

ID=19583277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990015694A KR100295185B1 (ko) 1999-04-30 1999-04-30 비트확장 가변부호화 장치

Country Status (1)

Country Link
KR (1) KR100295185B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100396111B1 (ko) * 2000-12-28 2003-08-27 (주)씨앤에스 테크놀로지 허프만 코딩 블록 및 그 코딩 방법
KR101244309B1 (ko) * 2005-07-15 2013-03-18 삼성전자주식회사 영상 데이터 부호화/복호화 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100396111B1 (ko) * 2000-12-28 2003-08-27 (주)씨앤에스 테크놀로지 허프만 코딩 블록 및 그 코딩 방법
KR101244309B1 (ko) * 2005-07-15 2013-03-18 삼성전자주식회사 영상 데이터 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
KR100295185B1 (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
US5502493A (en) Variable length data decoder for use with MPEG encoded video data
KR100341055B1 (ko) 비디오감압축프로세서를위한신택스분석기
US5295203A (en) Method and apparatus for vector coding of video transform coefficients
KR100322485B1 (ko) 다중채널 영상신호 부호화 장치 및 그 방법
US6917652B2 (en) Device and method for decoding video signal
US6704361B2 (en) Variable length decoder for decoding digitally encoded video signals
US6219381B1 (en) Image processing apparatus and method for realizing trick play
US5568278A (en) Image data coding and decoding method and apparatus with a plurality of DCT's, quantizers, and VLC's
US5504823A (en) Image data partitioning circuit for parallel image decoding system
US20060233261A1 (en) Video encoding and video/audio/data multiplexing device
US6100826A (en) Symbol decoding method and apparatus
KR930018878A (ko) 디지틀 화상신호의 전송장치 및 프레임화 방법
US6414608B1 (en) Variable length code decoding device, digital broadcast receiving apparatus, and DVD reproducing apparatus
KR19980042224A (ko) 트랜스포트, 복호화, 시스템 제어기 기능용 통합 메모리를 가지는 엠피이지 복호화기 시스템 및 방법
JPH06224861A (ja) データ分離処理装置
KR0157570B1 (ko) 복수경로를 통해 mpeg2 비트열을 복호하는 복호화장치
RU2119269C1 (ru) Телевизионная система для преобразования сжатых данных, представляющих изображения и размещенных в блоках, в несжатые данные и система для обработки сжатых видеоданных, передаваемых в виде блоков
US9083977B2 (en) System and method for randomly accessing compressed data from memory
JP2001308715A (ja) 可変長符号化装置および可変長復号装置
EP1159829A1 (en) Reducing "blocky picture" effects
CN1255023A (zh) 用于从mpeg-2位流中去除选择的用户数据的可编程滤波器
KR100420439B1 (ko) 정보 삽입/검출 시스템
KR100295185B1 (ko) 비트확장 가변부호화 장치
JPH11215009A (ja) 符号復号装置
JP2004501531A (ja) ビデオ・データをランレングス符号化するための方法と装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140324

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160321

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170323

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20180326

Year of fee payment: 18

LAPS Lapse due to unpaid annual fee