KR100704611B1 - 가변장 복호화 시스템 - Google Patents

가변장 복호화 시스템 Download PDF

Info

Publication number
KR100704611B1
KR100704611B1 KR1020040068929A KR20040068929A KR100704611B1 KR 100704611 B1 KR100704611 B1 KR 100704611B1 KR 1020040068929 A KR1020040068929 A KR 1020040068929A KR 20040068929 A KR20040068929 A KR 20040068929A KR 100704611 B1 KR100704611 B1 KR 100704611B1
Authority
KR
South Korea
Prior art keywords
bit string
discrete transform
decoder
decoding
transform coefficient
Prior art date
Application number
KR1020040068929A
Other languages
English (en)
Other versions
KR20060020160A (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 KR1020040068929A priority Critical patent/KR100704611B1/ko
Publication of KR20060020160A publication Critical patent/KR20060020160A/ko
Application granted granted Critical
Publication of KR100704611B1 publication Critical patent/KR100704611B1/ko

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

영상 데이터의 처리를 위한 가변장 복호화에서 비트열에 대한 복호화를 실행함에 있어, 비트열에서 이산변환계수의 복호화를 하드웨어로 처리하고, 비트열에서 이산변환계수를 제외한 비트열에 대하여 소프트웨어로 처리하며, 상기 소프트웨어와 하드웨어는 비트열의 복호화 과정에서 검출되는 이산변환계수에 대한 시작 어드레스와 시작 위치 및 이산변환계수의 종료 어드레스와 종료 위치에 대한 정보를 상호 교환하며, 상기 교환되는 어드레스 및 위치 정보를 기준으로 복호화 지점을 인식하여 비트열의 복호화를 실행함으로써, 비트열의 복호화에 시스템의 성능을 향상시키는 가변장 복호화 시스템을 제공한다.
복호화기, 가변장 복호화기, 이산변환계수, 비트열, 소프트웨어, 하드웨어, 어드레스

Description

가변장 복호화 시스템 {Variable Length Code Decoding System}
도 1은 영상입력수단에서 입력된 한 장의 영상을 비트열로 구성한 일 예의 도면이다.
도 2는 일반적인 동영상 복호화 시스템의 구성을 도시한 블록도이다.
도 3은 도 1의 일부 구성요소인 가변장 복호화기가 소프트웨어로 구현되는 예를 도시한 도면이다.
도 4는 종래의 다른 실시예에 따른 가변장 복호화 시스템의 구성을 도시한 도면이다.
도 5는 도 4의 일부 구성 요소인 심볼 생성부를 하드웨어로의 구현을 도시한 도면이다.
도 6은 종래의 또 다른 실시예에 따른 가변장 복호화 시스템의 구성을 도시한 도면이다.
도 7은 도 6의 일부 구성 요소인 제1심볼 생성부를 하드웨어로의 구현을 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 가변장 복호화 시스템의 구성을 도시한 도면이다.
도 9는 도 8의 일부 구성 요소인 데이터 메모리에 저장된 비트열의 일 예를 도시한 도면이다.
도 10은 도 9에 도시된 이산변환계수 비트열이 이산변환계수 복호화기내의 버퍼에 저장되는 것을 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 가변장 복호화에 실행에 대한 흐름도이다.
도 12는 본 발명에 따른 가변장 복호화의 실행에서 소프트웨어와 하드웨어의 처리를 도시한 흐름도이다.
본 발명은 동영상 복호화 처리를 위한 가변장 복호화에 관한 것으로, 보다 상세하게는 비트열 중에서 이산변환계수의 어드레스와 위치 정보를 이용하여 효율적인 가변장 복호화를 제공하도록 하는 가변장 복호화 시스템 및 그 방법에 관한 것이다.
영상입력수단(카메라)에서 입력되는 한 장의 영상(픽쳐)을 비트열로 구성하게 되면 도 1과 같이 구성되는데, 영상 프로세서는 이 한 장의 영상에 대하여 매크로 블록 단위로 판독하여 처리함에 따라 한 장의 영상은 여러개의 매크로 블록으로 분리된다.
통상적으로 16×16 혹은 8×8개의 데이터로 구성되는 각 매크로 블록(Macro Block)은 크게 헤더, 움직임 벡터, 이산변환계수로 구성되는데, 이들은 가변하는 길이와 부호로 구성되어 있다.
영상에 해당하는 비트열은 픽쳐 헤더와 매크로 블록 헤더(MB 헤더), 움직임 벡터, 이산변환계수로 구성된다. 대개, 픽쳐 헤더와 매크로 블록 헤더는 합쳐서 헤더로 표현한다.
도 1에서는 매크로 블록이 25개이므로 헤더와 움직임 벡터, 이산변환계수의 쌍은 25개가 된다.
헤더와 움직임 벡터, 이산변환계수 중에서, 이산변환계수는 처리해야할 데이터 량이 전체의 70~80%로 가장 많지만 규격의 변화가 거의 없고, 다소의 규격 변화에 대해서는 복호화를 위한 코드 테이블 변경으로 해소한다.
반면에, 헤더와 움직임 벡터는 처리해야할 데이터 량이 적음에도 불구하고 규격의 변화가 주로 발생하는 부분이고, 채널 에러에 대해 효율적 대응이 필요한 부분이다.
도 2는 일반적인 동영상 복호화기의 구성을 도시한 블록도로, 가변장 복호화기(10), 복호화기 핵심부(20), 디스플레이부(30)를 포함한다.
가변장 복호화기(10)는 입력되는 비트열을 복호화하여 복호화기 핵심부(20)와 디스플레이부(30)을 통과하였을 때, 최종적으로 도 1과 같이 구성되는 영상을 출력하도록 하는 것이다.
즉, 비트열이 움직임 벡터에 해당하는 것이면 움직임 벡터를 출력하고, 비트열이 이산변환계수에 해당하는 것이면 이산변화계수를 출력한다.
복호화기 핵심부(20)는 역양자화기, 역이산변환기, 움직임 보상기 등을 포함하며, 가변장 복호화기(10)의 출력값을 이용하여 영상을 재생한다.
디스플레이부(30)는 LCD, 유기 EL, CRT와 같은 디스플레이 장치와의 인터페이스를 담당하여, 디스플레이 장치에 복호화된 영상을 구현하여 준다.
상기에서 가변장 복호화기(10)는 하드웨어로 구성되거나 소프트웨어로 구성된다.
가변장 복호화기(10)가 하드웨어로 구성될 경우에 유연성이 낮아 복호화기의 규격 변화에 대응하기 어렵고, 채널 에러로 인한 비트열의 변화에 대처하기가 쉽지 않다는 문제점이 있다.
도 3은 도 2의 일부 구성요소인 가변장 복호화기(10)가 소프트웨어로 구현되는 예를 도시한 것이다.
도 3에 나타나 있듯이, 가변장 복호화기(10)가 소프트웨어로 구성될 경우에, 가변장 복호화기(10)는 외부 인터페이스(11), 프로그램 메모리(13), 중앙처리장치(15)를 포함한다.
외부 인터페이스(11)는 복호화기의 입력인 비트열을 공급해주는 장치(예를 들어 모뎀 칩)와의 인터페이스를 담당하고, 중앙처리장치(15)는 외부 인터페이스(11)를 통해 비트열을 입력받아 프로그램 메모리(13)에 저장되어 있는 소프트웨어적인 가변장 복호화기로 가변장 복호화기(10)의 기능을 수행한다.
이와 같이 가변장 복호화기(10)가 소프트웨어로 구성될 경우에, 가변장 복호화기는 유연성이 높아져 규격 변화 및 채널 에러에 대처하기 용이하지만, 중앙처리 장치(15)가 소프트웨어로 처리한 가변장 복호화 결과를 하드웨어인 복호화기 핵심부(20)에 전송할 때의 데이터 량이 많아지는 문제점이 있다.
따라서 중앙처리장치(15)와 복호화기 핵심부(20)를 연결하는 시스템 버스의 대역이 대량의 데이터 량을 처리해야 하므로 그만큼 많이 소요되고, 그로 인해 전체 시스템 성능이 저하되며, 복호화기 핵심부(20)가 가변장 복호화기의 가변장 복호화 결과를 전송 받기 위한 버퍼 메모리가 커지게 되는 문제점이 있다.
상기한 바와 같이 가변장 복호화기를 소프트웨어로 구현함에 따라 발생되는 문제점을 해소하기 위하여 가변장 복호화기로 입력되는 비트열에서 헤더와 움직임 벡터 부분은 소프트웨어로 처리하고, 이산변환계수 부분은 하드웨어와 소프트웨어로 분할 처리함으로서, 시스템 버스로 전송되는 데이터의 양을 줄여 성능을 개선하도록 하는 방법이 제시되어 있다.
이는 도 4에 도시된 바와 같이 헤더, 움직임 벡터, 이산변환계수로 이루어진 비트열 중에서 특히 이산변환계수를 분할 처리하기 위해 심볼 생성부(110), 런레벨 복호화부(150)를 포함한다.
심볼 생성부(110)는 이진수로 구성되어 입력되는 비트열에서 이산변환계수의 심볼(런레벨 심볼)을 생성하고, 런레벨 복호화부(150)는 심볼 생성부(110)에서 생성된 이산변환계수의 심볼(런레벨 심볼)을 처리하여 이산변환계수를 복호화기 핵심부(200)로 출력한다.
그러면, 복호화기 핵심부(200)는 런레벨 복호화부(150)에서 출력되는 이산변환계수를 이용하여 영상을 재생한다.
상기 심볼 생성부(110)는 소프트웨어로 구성되고, 런레벨 복호화부(150)는 하드웨어로 구성된다.
소프트웨어로 구현되는 상기의 심볼 생성부(110)는 도 5와 같다.
도 5에 도시된 바와 같이, 외부 인터페이스(111)를 통해 이진수로 구성되는 비트열이 중앙처리장치(113)로 입력되면, 중앙처리장치(113)는 프로그램 메모리(112)에 저장되어 있는 소프트웨어를 통해 비트열에서 이산변환계수의 심볼을 생성하여, 시스템 버스를 통해 하드웨어로 구현되는 런레벨 복호화부(150)에 전송한다.
런레벨 복호화부(150)는 시스템 버스를 거쳐 전달되는 이산변환계수의 심볼(런레벨 심볼)을 이산변환계수로 변환하여 복호화기 핵심부(200)로 출력한다.
여기서, 이산변환계수의 심볼의 데이터양은 이산변환계수에 비해 작기 때문에 시스템 성능이 향상될 수 있을 뿐만 아니라 복호화기 핵심부(200)의 버퍼 크기도 줄일 수 있는 특징이 있다.
그러나, 이와 같은 방법을 적용하는 경우, 비트열 데이터 량이 10배 이상에 해당하는 런레벨 심볼 데이터가 시스템 버스를 통해 전송됨으로써, 가변장 복호화에 대한 성능 저하를 초래하게 되는 문제점이 있다.
또한, 도 6에 도시된 바와 같이 소프트웨어로 구현되며 헤더, 움직임 벡터, 이산변환계수로 이루어진 비트열에서 코드 테이블의 길이 정보를 추출하는 제1심볼 생성부(120)와, 하드웨어로 구현되며 비트열에서 이산변환계수의 심볼(런레벨 심볼)을 생성하는 제2심볼 생성부(130), 런레벨 복호화부(150)를 포함한다.
제1심볼 생성부(120)는 이진수로 구성되어 입력되는 비트열에서 비트열의 길 이 정보를 추출하고, 제2심볼 생성부(130)는 입력되는 비트열에서 이산변환계수의 심볼(런레벨 심볼)을 생성하고, 런레벨 복호화부(150)는 제2심볼 생성부(130)에서 생성된 이산변환계수의 심볼(런레벨 심볼)을 처리하여 이산변환계수를 복호화기 핵심부(200)로 출력한다.
그러면, 복호화기 핵심부(200)는 런레벨 복호화부(150)에서 출력되는 이산변환계수를 이용하여 영상을 재생한다.
상기 소프트웨어로 구현되는 제1심볼 생성부(120)는 도 7과 같다.
도 7에 도시된 바와 같이, 외부 인터페이스(121)를 통해 비트열이 중앙처리장치(123)로 입력되면, 중앙처리장치(123)는 프로그램 메모리(122)에 저장되어 있는 소프트웨어를 통해 비트열에서 길이 정보를 생성하여, 시스템 버스를 통해 하드웨어로 구현되는 제2심볼 생성부(130)에 전송한다.
또한, 외부 인터페이스(121)를 통해 입력되는 비트열이 시스템 버스를 통해 하드웨어로 구현되는 제2심볼 생성부(130)에 전송된다.
따라서, 제2심볼 생성부(130)는 비트열과 길이정보가 동일한 시스템 버스를 통해 두 개의 경로로 입력되는 비트열에서 이산변환계수의 심볼을 생성하여, 런레벨 복호화부(150)에 전송한다.
따라서, 런레벨 복호화부(150)는 입력되는 이산변환계수의 심볼(런레벨 심볼)을 이산변환계수로 변환하여 복호화기 핵심부(200)로 출력한다.
이와 같이 동일한 시스템 버스를 통해 두 개의 경로로 비트열 및 길이 정보를 전송하도록 함으로써, 유연성을 유지함과 동시에 시스템 버스로 전송되는 데이 터의 양을 줄여 가변장 복호화에 대한 성능이 개선되는 특징이 있다.
그러나, 비트열을 전송하기 위하여 두 개의 런레벨 심볼부를 구비하며, 각각을 소프트웨어와 하드웨어로 구성함에 따라 각각에 코드 테이블 메모리가 필요하게 되어 메모리 양이 증가하며, 이에 구현에 있어 복잡성이 야기되는 문제점이 있다.
본 발명은 위의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 가변장 복호화기를 소프트웨어로 구현하며, 비트열의 복호화에 따라 이산변환계수 비트열의 시작 어드레스와 시작위치를 하드웨어로 구현되는 이산변환계수 복호화기에 알려주어 이산변환계수의 복호화가 수행되도록 하고, 이산변환계수 복호화기는 복호화의 종료시 이산변환계수 비트열의 종료 어드레스와 종료 위치를 소프트웨어로 구현되는 가변장 복호화기에 알려주도록 함으로써, 이산변환계수 비트열의 어드레스 및 위치에 대한 정보의 상호 제공으로 이산변환계수 비트열의 복호화에 성능 개선이 가능한 가변장 복호화 시스템을 제공하기 위한 것이다.
상기와 같은 목적을 실현하기 위한 본 발명의 가변장 복호화 시스템은 픽쳐 헤더, 매크로 블록 헤더, 움직임 벡터 비트열 및 이산변환계수 비트열로 구성되는 비트열이 입력되면 상기 비트열중에서 이산변환계수 비트열을 제외한 나머지 부분에 대하여 복호화를 실행하는 가변장 복호화기와; 시스템 버스를 통해 전송되는 이산변환계수 비트열에서 이산변환계수를 복호화하는 이산변환계수 복호화기와; 상기 가변장 복호화기 및 이산변환계수 복호화기에 의해 비트열이 복호화되어 전달되는 영상 데이터를 영상으로 복원하는 복호화기 핵심부를 포함한다.
상기 가변장 복호화기는, 비트열을 공급해주는 장치와 접속되어 입력되는 비트열의 인터페이스를 담당하는 외부 인터페이스와; 입력되는 비트열을 일시 저장하고, 가변장 복호화 기능을 실행하는 소프트웨어가 저장되는 프로그램 및 데이터 메모리와; 프로그램 및 데이터 메모리에 설정된 소프트웨어를 통해 외부 인터페이스를 통해 입력되어 일시 저장되어 있는 비트열을 복호화하는 중앙처리장치를 포함하며, 가변장 복호화기는 소프트웨어로 구현되고, 이산변환계수 복호화기는 하드웨어로 구현되는 것을 포함한다.
상기 가변장 복호화기는 복호화되는 비트열에서 이산변환계수 비트열의 시작 어드레스와 위치 정보를 상기 이산변환계수 복호화기에 제공하는 것을 포함한다.
상기 이산변환계수 복호화기는 입력되는 비트열에서 이산변환계수의 복호화가 종료되면, 가변장 복호화기에 비트열에서 이산변환계수의 종료 어드레스와 위치 정보를 제공하는 것을 포함한다.
상기 이산변환계수 복호화기는 비트열에서 이산변환계수의 복호화를 실행하기 위해 가변장 복호화기로부터 이산변환계수 비트열의 개수 보다 더 많은 비트열을 전송 받아 버퍼에 저장하는 것을 포함한다.
또한, 본 발명은 비트열에서 이산변환계수의 복호화를 하드웨어로 처리하고, 비트열에서 이산변환계수를 제외한 비트열에 대하여 소프트웨어로 처리하며, 상기 소프트웨어와 하드웨어는 비트열의 복호화 과정에서 검출되는 이산변환계수에 대한 시작 어드레스와 시작 위치 및 이산변환계수의 종료 어드레스와 종료 위치에 대한 정보를 상호 교환하며, 상기 교환되는 어드레스 및 위치 정보를 기준으로 복호화 지점을 인식하여 비트열의 복호화를 실행하는 것을 포함한다.
그리고 본 발명의 가변장 복호화 방법은 시스템 버스를 통해 전송되어 데이터 메모리에 저장된 비트열의 복호화가 활성화되면 소프트웨어로 구현되는 가변장 복호화기는 비트열에서 픽쳐 헤더, 매크로 블록 헤더, 움직임 벡터 비트열에 대한 복호화를 실행하는 과정과; 움직임 벡터 비트열의 복호화 종료에 따라 이산변환계수 비트열의 시작 어드레스와 위치 정보를 하드웨어로 구현되는 이산변환계수 복호화기에 제공하는 과정과; 상기 이산변환계수 비트열의 시작 어드레스와 위치 정보에 따라 이산변환계수 복호화기는 비트열에서 이산변환계수의 복호화를 실행하는 과정과; 상기 이산변환계수 복호화기는 비트열에서 이산변환계수의 복호화가 종료되면 종료 어드레스 및 위치 정보를 가변장 복호화기에 제공하는 과정과; 상기한 이산변환계수의 어드레스 및 위치 정보를 상호 교환을 통해 비트열의 복호화로 영상 데이터를 복원하는 과정을 포함한다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명하면 다음과 같다.
도 8에 도시된 바와 같이 본 발명에 따른 가변장 복호화 시스템은, 소프트웨어로 구현되는 가변장 복호화기(300)와, 하드웨어로 구현되는 이산변환계수 복호화기(400) 및 복호화기 핵심부(500)를 포함하여 구성된다.
상기 가변장 복호화기(300)는 비트열을 공급해주는 장치(예를 들어 모뎀 칩) 와 접속되어 입력되는 비트열의 인터페이스를 담당하는 외부 인터페이스(310)와, 입력되는 비트열을 일시 저장하고, 가변장 복호화 기능을 실행하는 소프트웨어가 저장되는 프로그램 및 데이터 메모리(320)와, 프로그램 및 데이터 메모리(320)에 설정된 소프트웨어를 통해 외부 인터페이스(310)를 통해 입력되어 일시 저장되어 있는 비트열을 가변장 복호화하는 중앙처리장치(330)로 구현된다.
상기 중앙처리장치(330)는 입력되는 비트열에서 이산변환계수를 제외한 나머지 부분에 대하여 복호화를 실행하고, 비트열에서 움직임 벡터에 대한 복호화가 종료되면 그 시점에서 이산변환계수의 시작 어드레스와 위치 정보를 하드웨어로 구현되는 이산변환계수 복호화기(400)에 전송한다.
이산변환계수 복호화기(400)는 시스템 버스를 통해 전송되는 이산변환계수 비트열에서 가변장 복호화기(300)에서 지시되는 시작 어드레스와 위치 정보에 따라 해당 위치에서부터 이산변환계수에 대한 복호화를 실행하고, 복호화가 종료되면 종료 어드레스와 위치 정보를 시스템 버스를 통해 가변장 복호화기(300)내의 중앙처리장치(330)에 알려준다.
복호화기 핵심부(500)는 이산변환계수가 복호화되어 전달되는 복호화된 영상 데이터를 영상으로 재생한다.
전술한 바와 같은 기능을 포함하는 본 발명에 따른 가변장 복호화 시스템을 이용하여 비트열로 입력되는 영상 데이터를 복호화하는 동작에 대하여 설명하면 다음과 같다.
비트열을 공급해주는 장치(예를 들어 모뎀 칩)에 접속되어 있는 외부 인터페 이스(310)를 통해 복호화할 비트열이 인터페이스 되면, 중앙처리장치(330)의 제어에 따라 프로그램 및 데이터 메모리(320)는 이를 일시 저장한다.
상기 프로그램 및 데이터 메모리(320)에 저장된 복호화할 비트열은 도 9에 도시된 바와 같은 구조로 이루어진다.
도시된 바와 같이, 한 장의 영상에 대하여 복수개로 이루어지는 매크로 블록의 비트열은 픽쳐 헤드와 매크로 블록 헤더, 움직임 벡터 비트열(A)과 이산변환계수 비트열(B)로 이루어지며, 상기의 이산변환계수 비트열(B)은 도시된 바와 같이 바이트(Byte)의 경계 위치에 존재하지 않고, 임의의 위치에 존재하게 된다.
상기한 도 9는 한 장의 영상에 대하여 복수개로 이루어지는 매크로 블록에서 한 개의 매크로 블록에 대한 내용만을 도시한 것이다.
상기와 같이 외부 인터페이스(310)를 통해 입력되어 저장된 비트열의 복호화가 활성화되어 복호화가 시작되면 중앙처리장치(330)는 프로그램 및 데이터 메모리(320)에 저장되어 있는 소프트웨어를 통해 비트열에서 이산변환계수를 제외한 부부, 즉 픽쳐 헤더의 복호화를 실행하고(S101), 매크로 헤더 블록에 대한 복호화를 실행하며(S102), 움직임 벡터 비트열에 대한 복호화를 실행한다(S103).
통상적으로 데이터의 전송은 바이트 단위로 이루어지기 때문에 소프트웨어로 구현되는 가변장 복호기(300)에서 비트열이 이산변환계수 복호화기(400)내의 버퍼로 실시간 전송될 때 도 10에 도시된 바와 같이, 비트열에서 이산변환계수 비트열의 경계에서부터 전송되는 것이 아니라, 움직임 벡터 비트열과 같은 일부 다른 종류의 비트열이 포함되어 전송된다.
상기와 같이 비트열에서 이산변환계수를 제외한 나머지 부분에 대하여 복호화를 실행하고, 비트열에서 움직임 벡터에 대한 복호화가 종료되면 그 시점에서 중앙처리장치(330)는 복호화된 비트열에서 이산변환계수(B)의 시작 어드레스와 위치 정보를 하드웨어로 구현되는 이산변환계수 복호화기(400)에 알려준다(S104).
또한, 이산변환계수 복호화기(400)는 이산변환계수 비트열에 대한 복호화를 종료하기 전까지는 어디까지가 이산변환계수의 비트열인지를 알 수 없기 때문에 도 10에 도시된 바와 같이 이산변환계수 비트열의 개수보다 더 많은 비트열(C)을 가져와 버퍼에 저장한다.
이는, 만약 이산변환계수 비트열의 개수 보다 부족하게 가져온 경우 더 이상의 복호화를 진행할 수 없으며, 복호화를 진행할 수 없는 시점에서 추가의 비트열을 가져와야 하므로, 시스템 버스의 빈번한 점유로 인한 성능 저하와 프로세서의 불필요한 운영 동작으로 인한 성능 저하가 발생되는 것을 방지하기 위함이다.
상기와 같이 소프트웨어로 구현되는 가변장 복호화기(300)에서 제공되는 복호화를 실행할 이산변환계수 비트열의 시작 어드레스와 시작 위치 정보에 따라 이산변환계수 복호화기(400)는 시스템 버스를 통해 전송되어 도 10에 도시된 바와 같이 버퍼에 저장되어 있는 비트열에서 이산변환계수 비트열에 대하여 복호화를 실행한다(S105).
이때, 소프트웨어로 구현되는 가변장 복호화기(300)는 하드웨어로 구현되는 이산변환계수 복호화기(400)의 복호화 동작이 실행되는 동안 동작을 중지한다.
이산변환계수 복호화기(400)의 이산변환계수 비트열에 대한 복호화가 종료되 면(S106), 이산변환계수 복호화기(400)는 시스템 버스를 통해 소프트웨어로 구현되는 가변장 복호화기(300)에 비트열에서 복호화의 종료 어드레스 위치와 종료 위치에 대한 정보를 제공한다(S107).
따라서, 소프트웨어로 구현되는 가변장 복호화기(300)내의 중앙처리장치(330)는 입력되는 영상이 종료되었는지를 판단하여(S108), 영상 입력이 종료되지 않은 상태이면 상기 S102로 리턴하여 비트열에서 매크로 블록 헤더에 대한 복호화부터 실행함으로써, 전술한 과정을 반복 실행한다.
상기 S108의 판단에서 영상의 입력이 종료되었으면, 비트열 전체에 대한 복호화가 실행되었는지를 판단하여(S109), 비트열 전체에 대한 복호화가 실행되지 않은 상태이면 상기 S101로 리턴하여 전술한 과정의 반복으로 비트열의 복호화를 실행하고, 전체 비트열에 대한 복호화가 실행되었으면 복호화의 동작을 종료한다.
상기한 동작에 대하여 소프트웨어로 구현되는 가변장 복호화기(300)와 하드웨어로 구현되는 이산변환계수 복호화기(400)의 동작에 대하여 시간축 상으로 살펴보면 도 12에 도시된 바와 같이, 비트열에 대한 전체의 복호화 과정이 병렬로 처리됨을 알 수 있다.
상기에서는 본 발명에 따른 가변장 복호화 시스템 및 그 방법의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러가지로 변형하여 실시하는 것이 가능하고, 이 또한 본 발명의 범위에 속한다.
상기와 같이 이루어지는 본 발명에 따른 가변장 복호화 시스템 및 그 방법에 의하면, 영상 데이터의 처리를 위한 가변장 복호화에서 이산변환계수 비트열에 대한 복호화를 실행함에 있어 시작 어드레스의 위치 정보와 종료 어드레스의 위치 정보를 가변장 복호화기와 이산변환계수 복호화기간에 상호 교환함으로써, 비트열의 복호화 지점을 쉽게 찾아 복호화를 실행함으로써, 시스템의 성능이 향상된다.
또한, 이산변환계수 복호화기는 복호화를 위한 비트열을 충분한 크기로 입력 받아 저장함으로써, 시스템 버스의 불필요한 부하가 배제되고, 프로세서의 불필요한 운용이 배제되어 시스템의 성능이 향상된다.
그리고 본 발명에 따른 가변장 복호화 시스템에 의하면, 유연성이 높아져 규격의 변화 및 채널 에러에 대처하기가 용이해진다는 효과가 있다.

Claims (10)

  1. 픽쳐 헤더, 매크로 블록 헤더, 움직임 벡터 비트열 및 이산변환계수 비트열로 구성되는 비트열이 입력되면 상기 비트열중에서 이산변환계수 비트열을 제외한 나머지 부분에 대하여 복호화를 실행하는 가변장 복호화기와; 시스템 버스를 통해 전송되는 이산변환계수 비트열에서 이산변환계수를 복호화하는 이산변환계수 복호화기와; 상기 가변장 복호화기 및 이산변환계수 복호화기에 의해 비트열이 복호화되어 전달되는 영상 데이터를 영상으로 복원하는 복호화기 핵심부를 포함하고,
    상기 가변장 복호화기는 소프트웨어로 구현되고, 이산변환계수 복호화기는 하드웨어로 구현되고,
    상기 가변장 복호화기는, 비트열을 공급해주는 장치와 접속되어 입력되는 비트열의 인터페이스를 담당하는 외부 인터페이스와; 입력되는 비트열을 일시 저장하고, 가변장 복호화 기능을 실행하는 소프트웨어가 저장되는 프로그램 및 데이터 메모리와; 프로그램 및 데이터 메모리에 설정된 소프트웨어를 통해 외부 인터페이스를 통해 입력되어 일시 저장되어 있는 비트열을 복호화하는 중앙처리장치를 포함하는 가변장 복호화 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 가변장 복호화기는 복호화되는 비트열에서 이산변환계수 비트열의 시작 어드레스와 위치 정보를 상기 이산변환계수 복호화기에 제공하는 가변장 복호화 시스템.
  5. 제1항에 있어서,
    상기 이산변환계수 복호화기는 입력되는 비트열에서 이산변환계수의 복호화가 종료되면, 가변장 복호화기에 비트열에서 이산변환계수의 종료 어드레스와 위치 정보를 제공하는 가변장 복호화 시스템.
  6. 제1항에 있어서,
    상기 이산변환계수 복호화기는 비트열에서 이산변환계수의 복호화를 실행하기 위해 가변장 복호화기로부터 이산변환계수 비트열의 개수 보다 더 많은 비트열을 전송받아 버퍼에 저장하는 가변장 복호화 시스템.
  7. 제1항에 있어서,
    상기 중앙처리장치는 소프트웨어에 따라 입력되는 비트열에서 이산변환계수를 제외한 나머지 부분에 대하여 복호화를 실행하고, 비트열에서 움직임 벡터에 대한 복호화가 종료되면 그 시점에서 이산변환계수의 시작 어드레스와 위치 정보를 하드웨어로 구현되는 이산변환계수 복호화기에 전송하는 가변장 복호화 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020040068929A 2004-08-31 2004-08-31 가변장 복호화 시스템 KR100704611B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040068929A KR100704611B1 (ko) 2004-08-31 2004-08-31 가변장 복호화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040068929A KR100704611B1 (ko) 2004-08-31 2004-08-31 가변장 복호화 시스템

Publications (2)

Publication Number Publication Date
KR20060020160A KR20060020160A (ko) 2006-03-06
KR100704611B1 true KR100704611B1 (ko) 2007-04-10

Family

ID=37127348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068929A KR100704611B1 (ko) 2004-08-31 2004-08-31 가변장 복호화 시스템

Country Status (1)

Country Link
KR (1) KR100704611B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101038531B1 (ko) * 2009-06-25 2011-06-02 한양대학교 산학협력단 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980059935A (ko) * 1996-12-31 1998-10-07 구자홍 가변장 부호 복호화장치
US20020090031A1 (en) 2001-01-05 2002-07-11 Lg Electronics Inc. Method and apparatus for decoding image having format for digital camcorder
US20030138049A1 (en) 2002-01-23 2003-07-24 Samsung Electronics Co., Ltd. Video reproduction apparatus with fast post-processing and method thereof
KR20040035132A (ko) * 2002-10-18 2004-04-29 주식회사 엠플러스텍 동영상 복호화 처리 시스템 및 가변장 복호화 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980059935A (ko) * 1996-12-31 1998-10-07 구자홍 가변장 부호 복호화장치
US20020090031A1 (en) 2001-01-05 2002-07-11 Lg Electronics Inc. Method and apparatus for decoding image having format for digital camcorder
US20030138049A1 (en) 2002-01-23 2003-07-24 Samsung Electronics Co., Ltd. Video reproduction apparatus with fast post-processing and method thereof
KR20040035132A (ko) * 2002-10-18 2004-04-29 주식회사 엠플러스텍 동영상 복호화 처리 시스템 및 가변장 복호화 시스템

Also Published As

Publication number Publication date
KR20060020160A (ko) 2006-03-06

Similar Documents

Publication Publication Date Title
JP4139330B2 (ja) 改良された可変長デコーダ
TW583883B (en) System and method for multiple channel video transcoding
JP5579760B2 (ja) 係数の位置をコード化する方法及び装置
KR100401087B1 (ko) 여러종류의부호신호를복호하는복호장치
US7660352B2 (en) Apparatus and method of parallel processing an MPEG-4 data stream
US6959348B1 (en) Method and system for accessing data
US8291150B2 (en) Table device, variable length coding apparatus, variable length decoding apparatus, and variable length coding and decoding apparatus
CN1825964B (zh) 片上处理视频数据的方法和系统
TWI360956B (en) Cabac decoding apparatus and decoding method there
JP4270469B2 (ja) 符号化装置及び符号化方法
US7161509B2 (en) Variable-length code decoding apparatus and method
JP2008537392A (ja) ハードウェア・アクセラレータを備えたマルチ標準可変復号器
JP3694999B2 (ja) 画像符号化装置および画像復号装置ならびにそれらの方法
JP2010098352A (ja) 画像情報符号化装置
JP2002524007A (ja) イメージ圧縮方法および装置
KR100704611B1 (ko) 가변장 복호화 시스템
JP4769477B2 (ja) 符号化データ変換方法および符号化データ変換装置
JP2012005070A (ja) 画像データ復号装置
JP2020184702A (ja) 復号化装置および復号化装置の制御方法
US20080025620A1 (en) Data compression apparatus and data compressing program storage medium
KR100551951B1 (ko) 동영상 복호화 처리 시스템 및 가변장 복호화 시스템
US7787624B2 (en) Method for inserting synchronization markers into a video stream, compatible with a block cipher
Bonomini et al. Implementing an MPEG2 Video Decoder Based on TMS320C80 MVP
JPH09247466A (ja) 符号化装置
KR100688092B1 (ko) 에프에스엠기법에 의한 에이치.264/에이브이씨 동영상 압축 표준의 씨에이브이엘씨 디코더에서의 런비포 복원 방법과 장치 및 그를 기록한 기록매체

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: 20100331

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee