KR100654601B1 - 통합 코덱 장치 및 방법 - Google Patents

통합 코덱 장치 및 방법 Download PDF

Info

Publication number
KR100654601B1
KR100654601B1 KR20050093737A KR20050093737A KR100654601B1 KR 100654601 B1 KR100654601 B1 KR 100654601B1 KR 20050093737 A KR20050093737 A KR 20050093737A KR 20050093737 A KR20050093737 A KR 20050093737A KR 100654601 B1 KR100654601 B1 KR 100654601B1
Authority
KR
South Korea
Prior art keywords
function
unit
connection
bitstream
control
Prior art date
Application number
KR20050093737A
Other languages
English (en)
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 KR20050093737A priority Critical patent/KR100654601B1/ko
Priority to CN2005800522354A priority patent/CN101326827B/zh
Priority to PCT/KR2005/004280 priority patent/WO2007040297A1/en
Priority to JP2008534431A priority patent/JP5213716B2/ja
Priority to EP05822200A priority patent/EP1941732A4/en
Priority to US12/083,071 priority patent/US8149920B2/en
Application granted granted Critical
Publication of KR100654601B1 publication Critical patent/KR100654601B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals 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/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/439Methods 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 cascaded computational arrangements for performing a single operation, e.g. filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/172Methods 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 picture, frame or field
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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

Abstract

통합 코덱 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 통합 코덱 장치는 연결 정보를 해석하여 각 기능부들의 연결 관계를 설정하고, 각 기능부로 비트스트림 또는 데이터 처리를 위한 제어 파라미터를 제공하는 복호화 제어부와, 복수의 기능부들로 구성되고 입력된 비트스트림을 영상 데이터로 출력하기 위하여 복호화 제어부의 순차적인 동작 개시 제어에 상응하는 하나 이상의 기능부들이 순차적으로 활성화되어 제어 파라미터를 이용하여 비트스트림 또는 상기 데이터를 처리하는 기능군을 포함한다. 본 발명에 의해, 기능부(FU) 재조합 기술을 이용하여 다양한 복호화 표준에 따른 비트스트림을 제약없이 부호화/복호화할 수 있다.
Video compression, 통합 코덱, VCTR, MPEG, AVC, Coding Toolbox, Functional Unit, Global Control Unit, Connection

Description

통합 코덱 장치 및 방법{Device and Method for merging different codecs}
도 1에 종래 기술에 따른 통합 코덱의 처리 방법을 나타낸 도면.
도 2는 종래 기술에 따른 통합 코덱의 구조를 나타낸 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 통합 코덱의 구조를 나타낸 도면.
도 4는 본 발명의 바람직한 일 실시예에 따른 PD 기능군의 구성을 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 MB 기능군의 구성을 나타낸 도면.
도 6은 본 발명의 바람직한 일 실시예에 따른 범용 기능부 테이블(Universal FU Table)을 예시한 도면.
도 7은 본 발명의 바람직한 일 실시예에 따른 연결 정보에 의해 해석된 각 기능부의 연결 관계를 나타낸 도면.
도 8은 본 발명의 바람직한 일 실시예에 따른 MPEG-1/2에서 사용될 수 있는 기능부들의 연결 관계를 나타낸 도면.
도 9는 본 발명의 바람직한 일 실시예에 따른 MPEG-4에서 사용될 수 있는 기 능부들의 연결 관계를 나타낸 도면.
도 10은 본 발명의 바람직한 일 실시예에 따른 MPEG-4 AVC에서 사용될 수 있는 기능부들의 연결 관계를 나타낸 도면.
도 11, 도 13, 도 15 및 도 17은 본 발명의 바람직한 다양한 실시예들에 따른 기능부들의 연결 구조를 나타낸 도면.
도 12, 도 14, 도 16 및 도 18은 본 발명의 바람직한 일 실시예에 따른 비트스트림 신택스(syntax)를 예시한 도면.
본 발명은 통합 코덱에 관한 것으로서, 보다 상세하게는 다양한 부호화/복호화 표준에 범용적으로 이용될 수 있는 통합 코덱 장치 및 방법에 관한 것이다.
일반적으로 동영상 코덱은 유사한 구조를 이루고 있으나, 각 구조에 따른 세부적인 처리 내용은 상이할 수 있고, 이러한 상이점은 통합 코덱을 구현함에 있어 반드시 고려 되어야 한다.
도 1에 종래 기술에 따른 통합 코덱의 처리 방법이 도시되어 있다. 도 1은 일반적인 Intra-only 통합 코덱의 동작 원리를 나타낸 도면으로, MPEG-2, MPEG-4, AVC Intra 코딩부분을 기준으로 구성된 처리 방법이다.
도 1을 참조하면 시간적인 순서에 따라, 기능을 중심으로 Parsing and entropy decoding 단계(S100), Data-reordering 단계(S110), Inverse scan 단계(S120), Inverse DC/AC prediction 단계(S130), Inverse Quantization 단계(S140), Inverse Transform 단계(S150), Inverse Intra-Prediction 단계(S160), Memory for Decoded Samples 단계(S170), Deblocking-Filter 단계(S180)로 이루어진다.
이러한 종래 기술에 따르면 기능 또는 처리 순서에 따라 단순히 구분되어 있고, 각 단계에서 코덱에 따라 세부적으로 처리하도록 구성되어 있다. 각 코덱에 따라 기능부들이 미리 고정되어 있기 때문에, 사용자가 하나의 표준을 선택하면 해당 표준에 상응하는 코덱에서 제공하는 기능부들만 사용할 수 있는 문제점이 있었다.
종래의 통합 코덱은 여러 개의 동영상 코덱을 통합하였음에도, 하나의 동영상을 부호화/복호화하는 데 있어 고정된 하나의 코덱만을 사용해야만 하는 제약이 있다.
따라서 본 발명은 상술한 문제점을 해결하기 위하여 안출한 것으로서, 상이한 동영상 코덱간의 공통점, 차이점 및 고려사항에 부합하는 새로운 통합 코덱 개념 및 구조를 제공함으로써 다양한 부호화/복호화 표준에 범용적으로 이용될 수 있는 통합 코덱 장치 및 방법을 제공함에 그 목적이 있다.
또한, 본 발명의 다른 목적은 기능부(FU : Functional Unit) 재조합 기술을 이용하여 다양한 표준에 의해 부호화된 비트스트림을 제약없이 복호화할 수 있는 통합 코덱 장치 및 방법을 제공함에 있다.
또한, 본 발명의 또 다른 목적은 블록 기반의 동영상 코덱의 기능 변화없이 상이한 코덱간의 통합을 가능하게 하는 통합 코덱 장치 및 방법을 제공함에 있다.
또한, 본 발명의 또 다른 목적은 개별적으로 독립된 기능부(FU : Functional Unit)들이 유기적으로 기능할 수 있도록 하는 통합 코덱 장치 및 방법을 제공함에 있다.
또한, 본 발명의 또 다른 목적은 MPEG-1, MPEG-2, MPEG-4, MPEG-4 AVC 외의 블록 단위의 처리를 하는 동영상, 정지영상 코덱의 통합시에 사용할 수 있는 통합 코덱 구조를 제공함에 있다.
또한, 본 발명의 또 다른 목적은 동영상 코덱의 통합에 관한 개념 및 구조에 대한 국제 표준화에 있으며, 그 외의 다른 본 발명의 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
상술한 목적을 달성하기 위하여 본 발명의 일 측면에 따르면, 표준에 관계없이 범용적으로 이용될 수 있는 부호화기 및 복호화기를 구비한 통합 코덱 장치가 제공된다.
바람직한 실시예에 의할 때, 통합 코덱 장치는 입력된 확장 비트스트림 또는 데이터로부터 연결 정보를 해석하여 각 기능부들의 연결 관계를 설정하는 복호화 제어부; 및 복수의 기능부들로 구성되고, 상기 확장 비트스트림에 포함된 비트스트림을 처리하기 위하여 상기 복호화 제어부의 연결 제어에 의해 하나 이상의 기능부 들이 순차적으로 활성화되는 기능군을 포함한다.
상기 복호화 제어부는 임의의 기능부로부터 제어 파라미터를 입력받아 상기 비트스트림 처리를 위하여 상응하는 기능부로 제공할 수 있다.
상기 기능군은, 상기 복호화 제어부의 상기 연결 관계에 따른 동작 제어에 의해 상기 비트스트림 내에서 제어 파라미터를 추출하고, 상기 비트스트림을 처리하여 매크로블록 단위의 데이터로 출력하는 PD 기능군(Parsing and Decoding Functional Group); 및 상기 복호화 제어부의 상기 연결 관계에 따른 동작 제어 및 상기 복호화 제어부로부터 제공받은 제어 파라미터에 의해 입력된 상기 매크로블록 단위의 데이터를 처리하여 영상 데이터를 출력하는 MB 기능군(MacroBlock-Based Functional Group)을 포함할 수 있다. 상기 PD 기능군 및 상기 MB 기능군은 각각 복수의 기능부들로 구성된다.
상기 PD 기능군은 상기 비트스트림에 포함된 연결 제어 표시값을 더 추출하여 상기 복호화 제어부로 제공하고, 상기 복호화 제어부는 상기 연결 제어 표시값을 이용하여 상기 PD 기능군 및 상기 MB 기능군 중 적어도 어느 하나에 포함된 하나 이상의 기능부의 동작 제어를 수행할 수 있다.
상기 복호화 제어부는, 상기 연결 정보를 해석하여 상기 연결 관계를 설정하고, 상기 PD 기능군 및 상기 MB 기능군에 포함된 임의의 기능부(Functional Unit)의 순차적 동작 개시를 제어하는 연결 제어부; 및 상기 PD 기능군 및 상기 MB 기능군으로부터 상기 비트스트림의 헤더에 포함된 또는 상기 비트스트림의 처리를 통해 생성된 제어 파라미터를 입력받고, 상응하는 기능부로 상응하는 제어 파라미터를 전달하는 처리 제어부를 포함할 수 있다.
상기 연결 정보는 상기 기능부들의 연결(connection)에 관한 정보, 분기(branch) 조건 중 하나 이상을 포함하고, 상기 연결 정보에 의해 상기 기능부들은 직렬, 병렬 중 하나 이상의 관계로 연결될 수 있다.
상기 복호화 제어부는 미리 지정된 기능부가 상기 비트스트림으로부터 독출하여 제공한 연결 제어 표시값이 상기 분기 조건을 만족하는지 여부를 판단하여 병렬 관계를 가지는 복수의 기능부들 중 상기 비트스트림을 처리할 어느 하나의 기능부를 선택할 수 있다.
상기 제어 파라미터는 제어 신호(CS : Control Signal) 및 문맥 정보(CI : Context Information)을 포함하되, 상기 제어 신호는 상기 MB 기능군에 포함된 임의의 기능부의 기능 실행 여부를 지시하는 정보이고, 상기 문맥 정보는 상기 기능부의 기능 실행시 필요한 부가 정보일 수 있다.
상기 제어 신호는 AC 예측 모드 플래그(ac prediction flag), CBP(Coded Block Pattern), 양자화 스케일 값, 데이터 파티션 플래그(Data Partition Flag), 영상의 사이즈, 쇼트 비디오 헤더 플래그(short video header flag) 중 적어도 어느 하나를 포함할 수 있다.
상기 문맥 정보는 상기 제어 정보에 의해 임의의 기능 실행이 지시된 경우, 상기 기능 실행을 위해 필요한 정보를 포함하는 정보일 수 있다.
상기 복호화 제어부는 상기 제어 파라미터를 상응하도록 가공하여, 상기 MB 기능군에 포함된 각 기능부에 전달할 수 있다.
상술한 목적을 달성하기 위하여 본 발명의 다른 측면에 따르면, 표준에 관계없이 범용적으로 이용될 수 있는 통합 코덱 방법이 제공된다.
바람직한 실시예에 의할 때, 통합 코덱 방법은 (a) 복호화 제어부가 입력된 확장 비트스트림 또는 독립된 데이터로 수신된 연결 정보를 해석하여 각 기능부의 연결 관계를 설정하는 단계; (b) 상기 복호화 제어부가 상기 연결 관계에 의해 결정된 각 기능부의 처리 순서에 따라 임의의 기능부로 상기 확장 비트스트림에 포함되거나 독립적으로 수신된 비트스트림 또는 상기 비트스트림에 상응하는 데이터의 처리를 지시하는 단계; 및 (c) 처리 지시된 기능부가 미리 지정된 처리 방법에 따라 상기 비트스트림 또는 상기 데이터를 처리하는 단계를 포함한다. 여기서, 상기 단계 (b) 내지 상기 단계 (c)는 상기 비트스트림이 영상 데이터로 복원될 때까지 반복 수행될 수 있다.
상기 복호화 제어부는 상기 단계 (b)에서 또는 상기 단계 (b)에 선행하여 상기 비트스트림 또는 상기 데이터를 처리한 임의의 기능부로부터 제공받은 연결 제어 표시값이 상기 연결 정보에 포함된 분기 조건을 만족하는지 여부를 판단하고 병렬 관계를 가지는 복수의 기능부 중 어느 하나를 선택할 수 있다.
상기 단계 (b)는 처리 지시된 기능부로 상기 비트스트림 또는 상기 데이터의 처리를 위한 제어 파라미터를 제공하는 단계를 더 포함할 수 있고, 상기 단계 (c)에서 상기 처리 지시된 기능부는 상기 제어 파라미터를 이용하여 상기 비트스트림 또는 상기 데이터를 미리 지정된 처리 방법에 의해 처리할 수 있다.
상기 제어 파라미터는 제어 신호 및 문맥 정보를 포함하되, 상기 제어 신호는 임의의 기능부의 기능 실행 여부를 지시하는 정보이고, 상기 문맥 정보는 상기 기능부의 기능 실행시 필요한 부가 정보일 수 있다.
상기 복호화 제어부는 상기 제어 파라미터를 미리 지정된 방법으로 가공하여, 상응하는 기능부에 전달할 수 있다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 통합 코덱 방법 및 장치의 바람직한 실시예를 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 2는 종래 기술에 따른 통합 코덱의 구조를 나타낸 도면이고, 도 3은 본 발명의 바람직한 일 실시예에 따른 통합 코덱의 구조를 나타낸 도면이다. 도 4는 본 발명의 바람직한 일 실시예에 따른 PD 기능군의 구성을 나타낸 도면이고, 도 5는 본 발명의 바람직한 일 실시예에 따른 MB 기능군의 구성을 나타낸 도면이다. 도 6은 본 발명의 바람직한 일 실시예에 따른 범용 기능부 테이블(Universal FU Table)을 예시한 도면이고, 도 7은 본 발명의 바람직한 일 실시예에 따른 연결 정보에 의해 해석된 각 기능부의 연결 관계를 나타낸 도면이다.
종래 통합 코덱의 구조가 도시된 도 2를 참조하면, 통합 코덱 장치는 Parsing and entropy decoding 기능부(200), Data-reordering 기능부(210), Inverse scan 기능부(220), Inverse DC/AC prediction 기능부(230), Inverse Quantization 기능부(240), Inverse Transform 기능부(250), Inverse Intra-prediction 기능부(260), Memory for Decoded Sample 기능부(270), Deblocking-Filter 기능부(280)를 포함하여 구성된다.
반면, 도 3에 도시된 바와 같이 통합 코덱 장치에 구비되는 본 발명에 따른 복호화부(310)은 PD 기능군(PD FUs, 320), 복호화 제어부(325) 및 MB 기능군(MB FUs, 330)을 포함한다. 각 기능군 및 제어부는 소스코드들의 집합으로 구현될 수도 있다. PD 기능군(320) 및 MB 기능군(330) 내에는 독립적으로 구현되나 복호화 제어부(325)의 제어에 의해 연속적인 동작이 가능한 복수의 기능부들이 포함된다. PD 기능군(320) 및 MB 기능군(330)은 하나의 기능군으로 통합될 수 있다.
PD 기능군(320)과 MB 기능군(330)에 포함된 각 기능부는 입력된 데이터를 가공, 처리한 후 처리된 데이터를 출력하는 데이터 처리부(processing unit)와, 처리 제어부(340)로부터 제어 파라미터(즉, 문맥 정보(Context Information), 제어 신호(Control Signal))들을 제공받아 데이터 처리부를 제어하며, 결과물로 생성 또는 추출된 제어 파라미터들을 처리 제어부(340)로 제공하는 제어 문맥 처리부(context-control unit)로 세분화될 수 있다. 예를 들어, 제어 문맥 처리부는 처리 제어부(340)로부터 코딩 파라미터들(coding parameters), 모드 선택 신호들(mode selection signals) 등을 제어 파라미터로서 제공받아 데이터 처리부의 데이터 처리를 제어한 후, 결과물로 생성 또는 추출된 파라미터들 등을 처리 제어부(340)로 전달할 수 있다.
처리 제어부(340)는 선행하여 동작된 기능부로부터 제공받은 제어 파라미터를 후속하여 동작하는 기능부 중 해당 제어 파라미터를 필요로하는 기능부로 제공한다.
PD 기능군(320)은 Parsing and Decoding 기능, 즉 입력된 확장 비트스트림(Universal Bitstream)에서 상이한 코덱별 문법에 따라 문맥 정보(Context Information), 제어 신호(Control Signal), 연결 제어 표시 값 및 데이터를 추출하여 분류하는 기능을 수행한다. 확장 비트 스트림은 헤더 부분과 통상의 비트스트림으로 구성될 수 있다. 헤더 부분에는 연결 정보, 규칙 기술 정보(rule description)가 포함될 수 있다. 규칙 기술 정보는 구문 요소(syntax element)간의 계층 구조를 나타낸 정보이다. 연결 정보, 규칙 기술 정보는 확장 비트스트림에 포함되지 않고, 각각 독립된 데이터로서 복호화부에 전달될 수도 있음은 자명하다. 규칙 기술 정보의 처리 및 이용에 관해서는 대한민국 특허출원 제10-2005-0066015호에 구체적으로 기재되어 있으므로, 여기서는 이에 대한 설명은 생략한다. 다만, 대한민국 특허출원 제10-2005-0066015호에 포함된 기술적 사상이 본 발명에서도 동일 또는 유사하게 이용될 수 있음은 당업자에게 자명하다.
PD 기능군(320)은 도 4에 도시된 바와 같이, NALP(Network Abstraction Layer Parsing) 기능부(FU : Functional Unit, 410), SYNP(Syntax Parsing) 기능부(420), CTX(Context determination) 기능부(430), VLD(Variable Length Decoding) 기능부(440), RLD(Run Length Decoding) 기능부(450), MBG(Macro Block Generator) 기능부(460)를 포함할 수 있다. PD 기능군(320)에는 Parsing and Decoding 기능을 수행하기 위한 기능부라면 적용되는 표준에 관계없이 모두 포함될 수 있을뿐 아니라 기술 발전과정에서 필요한 기능부는 추가될 수 있고, 기존 기능부의 수정도 가능하며, 불필요한 기능부는 제거될 수 있음은 자명하다. 또한, PD 기능군(320) 내에 구비된 각 기능부는 각 표준에 독립적으로 존재하지 않고, 표준에 관계없이 동일한 처리가 가능한 기능부의 경우에는 하나의 기능부로 통합되어 구비될 수도 있음은 자명하다. 각 기능부의 기능은 당업자에게 자명한 사항이므로 간략히 설명하기로 한다.
NALP 기능부(410)는 MPEG-4 AVC의 NAL(Network Abstraction Layer)를 파싱(parsing)하는 기능부이고, SYNP 기능부(420)는 비트스트림의 신택스(syntax)를 파싱하는 기능부이다. SYNP 기능부(420)는 VLD 기능부(440)에 포함될 수도 있다.
CTX 기능부(430)는 MPEG-4 AVC의 VLC 테이블을 결정하는 기능부이고, VLD 기능부(440)는 엔트로피(Entropy) 디코딩을 수행하는 기능부이다. VLD 기능부(440)는 분기 조건에 해당하는 연결 제어 표시 값(부호화기에 의해 삽입됨)을 추출하여 연결 제어부(335)로 전송함으로써, 연결 제어부(335)가 MB 기능군(330)에서 해당 데이터를 처리할 기능부의 선택을 가능하도록 한다. 복호화기 설계 방법에 따라 분기 조건에 해당하는 연결 제어 표시 값의 추출은 SYNP 기능부(420)에 의해 수행되도록 미리 지정될 수도 있다.
RLD 기능부(450)는 AC값들을 엔트로피 디코딩하는 기능부이고, MBG 기능부(460)는 DC값 및 AC값들을 결합하여 하나의 MB(Macroblock) 데이터를 생성하 는 기능부이다. 상기 언급한 PD 기능군내의 모든 기능부들 및 일부의 기능부들은 시스템 구현에 따라 VLD 기능부(440)에 그 기능이 포함 될 수 있다.
MB 기능군(330)은 PD 기능군(320)에서 출력된 데이터에 대한 디코딩을 수행하여 미리 지정된 매크로 블록 사이즈의 동영상 데이터를 출력한다.
MB 기능군(330)은 도 5에 도시된 바와 같이, DF(De-blocking Filter) 기능부(510), VR(VOP Reconstructor) 기능부(515), FFR(Frame Field Reordering) 기능부(520), IPR(Intra prediction and Picture Reconstruction) 기능부(530), IT(Inverse Transform) 기능부(535), IQ(Inverse Quantization) 기능부(545), IAP(Inverse AC Prediction) 기능부(555), IS(Inverse Scan) 기능부(560), DCR(DC Reconstruction) 기능부(565)를 포함한다. IT4x4 기능부(540), IQ4x4 기능부(550) 및 DCR4x4 기능부(570)는 처리하는 블록 사이즈가 4x4인 것을 특징으로 한다. 이는 MPEG-1/2/4의 경우에는 Transform, Quantization, Prediction 시에 8x8 블록 사이즈로 데이터를 처리함에 비해, MPEG-4 AVC는 4x4 블록 사이즈로 데이터를 처리하기 때문이다. MB 기능군(330)에는 데이터 디코딩 기능을 수행하기 위한 기능부라면 적용되는 표준에 관계없이 모두 포함될 수 있을뿐 아니라 기술 발전과정에서 필요한 기능부는 추가될 수 있고, 기존 기능부의 수정도 가능하며, 불필요한 기능부는 제거될 수 있음은 자명하다. 예를 들어, 복호화 처리를 위해 4x4 블록 사이즈로 데이터를 처리하는 IS4x4 기능부 등이 추가로 필요한 경우 해당 기능부들이 MB 기능군(330)에 추가될 수 있다.
MB 기능군(330) 내에 구비된 각 기능부는 각 표준에 독립적으로 존재하지 않 고, 표준에 관계없이 동일한 처리가 가능한 기능부의 경우에는 하나의 기능부로 통합되어 구비될 수도 있음은 자명하다. 각 기능부의 기능은 당업자에게 자명한 사항이므로 간략히 설명하기로 한다.
DF 기능부(510)는 MPEG-4 AVC의 디-블록킹 필터(de-blocking filter)이고, VR 기능부(515)는 복원된 픽셀값을 저장하는 기능부이다.
FFR 기능부(520)는 interlaced 모드를 위한 기능부이고, IPR 기능부(530)는 MPEG-4 AVC의 인트라 예측(Intra prediction)을 한 후 복원된 픽셀값을 저장하는 기능부이다.
IT 기능부(535)는 DC값 및 AC값들의 역 변환(inverse transform)을 수행하는 기능부이고, IQ 기능부(545)는 AC 값들을 역 양자화(inverse quantization)하는 기능부이다.
IAP 기능부(555)는 AC값들을 역 예측(inverse AC prediction)하는 기능부이고, IS 기능부(560)는 AC값들을 역 스캔(inverse scan)하는 기능부이다. DCR 기능부(565)는 DC값들의 역 예측 및 역 양자화를 수행하는 기능부이다.
복호화 제어부(325)는 각 기능부들의 동작 순서를 제어하는 연결 제어부(325) 및 각 기능부의 동작을 제어하는 처리 제어부(340)를 포함한다.
연결 제어부(335)는 PD 기능군(320) 및 MB 기능군(330) 내에 상호간의 연결관계가 고정되지 않고 유동적인 상태로 존재하는 기능부들의 순차적 동작 과정을 제어한다.
각 기능부들이 순차적으로 동작되도록 연결 관계를 설정하기 위해, 연결 제 어부(335)는 부호화기(도시되지 않음)로부터 제공되는 연결 정보를 이용한다.
연결 정보는 연결(connectivity) 및 분기(branch)에 관한 정보를 포함하여 구성되며, 확장 비트스트림의 헤더 영역에 삽입되어 수신되거나 별도의 독립된 데이터 형태로 수신될 수 있다. 만일 연결 정보가 확장 비트스트림의 헤더 영역에 삽입되어 수신되는 경우 연결 제어부(335)는 해당 정보를 독출하여 해석한다. 물론, 확장 비트스트림의 헤더 영역으로부터 연결 정보를 독출하는 기능은 독립된 타 구성 요소에 의해 수행될 수도 있다.
연결 정보는 부호화 과정에서 사용자가 선택한 기능부 들에 상응하도록 생성(예를 들어, 부호화 경로에 상응하는 복호화 경로로 생성)되어 확장 비트스트림의 헤더 부분에 삽입되거나 별도의 독립된 데이터(또는 전자 파일)로 생성되어 복호화기(310)로 전달된다. 연결 정보는 부호화기 내에 구비된 임의의 구성 요소에 의해 생성될 수 있다.
연결 정보는 예를 들어, 아래와 같은 형태로 구성될 수 있다.
connection = { connectivity {(B, D),(D, F),(F, G),(G, I),(I, J),(I, Q),(J, K),(Q, K),(K, M), … },
branch { prediction_flag == 'AC/DC', case1(J), case2(Q) } }
위의 예에서, 제1행은 연결에 관한 정보이며, 제2행은 분기에 관한 정보를 의미한다. 연결 및 분기에 관한 정보에 의해 각 기능부들의 연결 관계가 직/병렬 구조로서 다양하게 구현될 수 있다.
연결 제어부(335)는 미리 저장된 범용 기능부 테이블(Universal FU table, 도 6 참조), 연결 및 분기에 관한 정보를 이용하여 PD 기능군(320) 및 MB 기능군(330)에 포함된 각 기능부들의 연결 관계를 해석한 후, 특정 기능부에 의한 데이터 처리가 완료되면 후속하는 기능부가 데이터 처리를 개시하도록 지시한다.
연결 제어부(335)는 PD 기능군(320)으로부터 입력된 연결 제어 표시 값을 이용하여 연결 정보에 포함된 분기 조건을 만족하는지 여부를 판단함으로써, 연결 정보상에서 병렬 관계로 규정된 복수의 기능부들 중 어느 하나의 기능부를 선택할 수 있다. 상술한 바와 같이, 연결 제어 표시 값은 비트스트림의 헤더에 포함될 수 있다.
연결 제어부(335)가 수신된 또는 추출된 연결 정보를 해석하여 설정한 각 기능부들간의 연결 관계가 도 7에 도시되어있다. 연결 제어부(335)는 연결 정보에 포함된 인덱스 및 범용 기능부 테이블(도 6 참조)를 이용하여 각 기능부를 특정한다. 예를 들어, 인덱스 B는 SYNP 기능부(420)로 특정될 수 있다.
상술한 바와 같이, 연결 제어부(335)는 연결 제어 표시 값(즉, 분기에 관한 조건 정보로서, 예를 들어, prediction_flag == 'AC/DC')를 이용하여 어떤 기능부가 후속하여 동작되어야 하는지를 결정할 수 있다. 해당 분기 조건의 만족 여부를 판단하기 위한 연결 제어 표시 값은 비트스트림 내에서 추출될 수 있다(도 12, 14, 16 및 18 참조). 분기 조건에 해당하는 연결 제어 표시 값은 VLD 기능부(440)에 의해 추출 및/또는 생성되어 연결 제어부(335)로 전송되며, 연결 제어부(335)는 당해 분기 조건의 만족 여부에 따라 상응하는 기능부로 해당 데이터의 처리를 지시한다.
처리 제어부(340)는 연결 제어부(335)에 의해 동작을 지시받은 특정 기능부 로 비트스트림(또는 데이터) 처리를 위한 제어 파라미터(즉, 문맥 정보(Context Information), 제어 신호(Control Signal))를 제공하고, 해당 기능부로부터 비트스트림(또는 데이터) 처리에 의해 생성 또는 추출된 제어 파라미터를 제공받는다. 처리 제어부(340)는 연결 제어부(335)와 연동하여 기능함으로써 제어 파라미터를 제공할 기능부가 무엇인지를 인식할 수 있다.
각각의 기능부는 처리 동작을 수행하기 위해서는 해당 처리 동작을 제어하기 위한 제어 파라미터를 필요로 한다. 예를 들어, IS 기능부(560)는 처리할 데이터(즉, MB 데이터)외에 양자화(quantization)를 수행하기 위한 양자화 파라미터(quantization parameter)를 필요로 한다. 이를 제어 신호라 칭할 수 있다. 이와 같이, 제어 신호가 특정 기능부의 처리 동작을 위한 결정적 파라미터(예를 들어, AC 예측 모드 플래그(ac prediction flag), CBP(Coded Block Pattern), 양자화 스케일 값, 데이터 파티션 플래그(Data Partition Flag), 영상의 사이즈, 쇼트 비디오 헤더 플래그(short video header flag) 등)라면, 문맥 정보는 부가적 파라미터라 할 수 있다. 예를 들어, IAP 기능부(555)가 처리 동작을 수행할 때, AC 예측(prediction)의 수행 여부를 결정하기 위한 ac_prediction_flag는 제어 신호라 할 수 있고, 실제 AC 예측을 수행하기 위한 부가 정보인 ac_prediction_direction은 문맥 정보라 할 수 있다. 다만, 제어 신호와 문맥 정보는 구분되어 사용되지 않고 통합적으로 사용되어도 무방함은 당업자에게 자명하다.
도 8은 본 발명의 바람직한 일 실시예에 따른 MPEG-1/2에서 사용될 수 있는 기능부들의 연결 관계를 나타낸 도면이고, 도 9는 본 발명의 바람직한 일 실시예에 따른 MPEG-4에서 사용될 수 있는 기능부들의 연결 관계를 나타낸 도면이며, 도 10은 본 발명의 바람직한 일 실시예에 따른 MPEG-4 AVC에서 사용될 수 있는 기능부들의 연결 관계를 나타낸 도면이다.
각 부호화/복호화 표준별로 이용되는 기능부들의 차이점을 간략히 살펴보면 다음과 같다.
도 8에 도시된 바와 같이, MPEG-1와 MPEG-2 MP(Main Profile)은 역 AC 예측(inverse AC prediction) 기능이 없으며, interlaced 모드(mode)를 지원한다.
이에 비해, 도 9에 도시된 바와 같이 MPEG-4 SP/ASP(Simple Profile/Advanced SP)는 MPEG-1/2와 비교하여 역 AC 예측 기능이 존재하며, SP에서는 interlaced 모드를 지원되지 않지만 ASP에서 interlaced 모드가 지원된다.
또한, 도 10에 도시된 바와 같이 MPEG-4 AVC BP(Baseline Profile)는 MPEG-1/2/4와 많은 차이를 보이는데, AVC의 NAL을 처리하는 NALP 기능부(410), VLC table을 결정하는 CTX 기능부(430), 역 AC/DC 예측(inverse AC/DC prediction) 대신 인트라 예측(intra prediction)을 사용하고, 상기 인트라 예측과 VOP reconstruction을 함께 수행하는 IPR 기능부(530), de-blocking하는 DF 기능부(510) 등이 더 이용된다. 또한 IS(inverse scan), IQ(inverse quantization) 및 IT(inverse transform)의 사이즈가 4x4인 것도 MPEG-1/2/4와는 상이하다.
종래의 코덱 장치는 각 표준에 적합하도록 기능부들의 연결 관계가 미리 고정되도록 구현되어 있었다.
이에 비해, 본 발명에 따른 코덱 장치는 연결 제어부(335)가 확장 비트스트림의 헤더에 포함되거나 독립한 데이터인 연결 정보를 해석하여 각 기능부의 동작 순서를 결정하므로, 비트스트림의 부호화 표준에 관계없이 범용적으로 이용될 수 있는 특징을 가진다. 연결 정보는 앞서 설명한 바와 같이, 부호화 과정에서 이용된 기능부들의 동작 순서에 상응하도록 생성되어 확장 비트스트림의 헤더 부분에 삽입되거나 별도의 독립된 데이터(또는 전자파일)로 생성된다.
또한, 연결 제어부(335)와 연동하여 동작하는 처리 제어부(340)가 각 기능부에서의 처리를 위한 제어 파라미터의 입출력을 통합적으로 처리하는 특징도 가진다.
또한, 연결 제어부(335)는 각 기능부의 동작 개시를 지시함에 있어 도시된 바와 같이 순차적인 동작만을 지시하도록 제한되지 않는다. 예를 들어, SYNP 기능부(420) 및 VLD 기능부(440)의 처리 동작이 교번하여 반복적으로 수행되도록 할 수 있다. 또한, VR 기능부(515)이전에 위치한 MB 기능군(330)의 동작이 완료된 후 VR 기능부(515)의 동작 이전에 화면상에 표시할 영상을 구성하기 위한 매크로블록 데이터들의 처리가 완료될 때까지 MB 기능군(330)이 연속된 매크로블록에 대한 처리를 연속적으로 수행하도록 하거나, PD 기능군(320) 및 MB 기능군(330)의 동작이 반복적으로 수행되도록 할 수도 있다. 이는 PD 기능군(320)이 한번에 디코딩될 데이터를 어떤 크기만큼 메모리 또는 다른 저장 장치에 저장하는가에 따라 다양할 수 있다. 각 기능부들의 교번적 반복 수행이 필요할 수 있음은 당업자에게 자명한 사항이므로 상세한 설명은 생략한다. 이때, 각 기능부들은 처리 제어부(340)로부터 제공받는 제어 파라미터를 이용하여 데이터 처리를 수행할 것이다.
도 11, 도 13, 도 15 및 도 17은 본 발명의 바람직한 다양한 실시예들에 따른 기능부들의 연결 구조를 나타낸 도면이고, 도 12, 도 14, 도 16 및 도 18은 본 발명의 바람직한 일 실시예에 따른 비트스트림 신택스(syntax)를 예시한 도면이다.
본 발명에 따른 연결 제어부(335)는 확장 비트스트림의 헤더부분에 삽입되거나 독립된 데이터로 수신된 연결 정보를 이용하여 복수의 기능부들로 구성된 복호화기를 생성할 수 있다. 마찬가지로 비트스트림을 생성하기 위한 부호화기에서도 각 기능부들의 연결 관계를 사용자가 선택함으로써 다양한 형태의 부호화기를 생성할 수도 있다. 부호화기의 생성 방법은 본 명세서에서 상세히 설명되는 복호화기 생성 방법을 통해 쉽게 이해될 수 있을 것이므로 이에 대한 설명은 생략하기로 한다. 다만, 부호화기는 복호화기와 달리 연결 정보를 생성하는 구성 요소가 더 포함될 수 있다.
복수의 기능부들로 이루어진 각 부호화기/복호화기는 기능부들간의 동작 순서 및 연결 구조를 설정하는 방법에 따라 다양한 부호화기 혹은 복호화기로 구현될 수 있다. 기능부들간의 연결 관계는 직렬, 병렬 또는 직렬/병렬 연결이 모두 가능하며, 해당 부호화기/복호화기를 설계하는 방법에 따라 다양한 형태로 구현될 수 있다.
이하, 관련 도면들을 참조하여 다양한 형태의 부호화기/복호화기의 구현 형태를 설명하기로 한다.
도 11은 역 DC 예측(Inverse DC prediction)과 역 AC/DC 예측(Inverse AC/DC prediction)을 둘 다 지원하는 복호화기의 구현예이다.
확장 비트스트림이 수신되면, 연결 제어부(335)는 우선 헤더 부분에서 연결 정보를 추출하여 해석한다. 연결 정보는 별도의 독립된 데이터로 수신될 수도 있음은 앞서 설명한 바와 같다.
도 11과 같이 각 기능부들이 연결되기 위해서는, 도 6에 도시된 범용 기능부 테이블에 따를 때 아래와 같은 형태로 구성될 수 있을 것이다.
connection = { connectivity { ... , (I, G),(G, K),(G, J),(J, K),(K, M), … },
branch { prediction_flag == 'DC', case1(K), case2(J) } }
역 AC/DC 예측은 DCR 기능부(565) 및 IAP 기능부(555)의 순차적 동작에 의해 수행될 수 있다.
연결 제어부(335)는 연결 정보를 이용하여 도 11과 같이 각 기능부들의 연결 관계를 해석한 후, 분기 시점에 도달할 때까지 순차적으로 각 기능부의 기능을 지시한다. 즉, IS 기능부(560)로 데이터 처리 개시를 지시한 후, IS 기능부(560)로부터 처리 완료 정보가 입력되면 DCR 기능부(565)로 데이터 처리 개시를 지시할 것이다.
처리 제어부(340)는 연결 제어부(335)와 연동하여 현재 데이터 처리를 개시할 기능부에게 데이터 처리를 위해 필요한 제어 파라미터를 제공하고, 데이터 처리 과정 등에서 추출 또는 생성한 제어 파라미터를 해당 기능부로부터 입력받는다.
분기 시점에서, 연결 제어부(335)는 VLD 기능부(440)로부터 전달받은 연결 제어 표시 값(도 12 참조)을 이용하여 분기 조건 만족 여부를 판단한다. 분기 조건을 만족하는 경우(즉, prediction_flag == 'DC')에는 IQ 기능부(545)가 데이터 처리를 개시하도록 지시하고, 분기 조건을 만족하지 않는 경우에는 IAP 기능부(555)가 데이터 처리를 개시하도록 지시한다.
상술한 과정을 통해, 입력된 비트스트림이 동영상 데이터로 변환되어 표시부(미도시)에 디스플레이될 것이다.
다만, 비트스트림 또는 데이터 처리가 반드시 도 11에 도시된 기능부들의 연결 구조에 의해 순방향으로 진행되는 것은 아니며, 연결 정보의 구성 형태 및/또는 처리 제어부(340)의 처리 제어에 의해 복수의 기능부간에 교번하여 반복적으로 데이터 처리가 수행될 수도 있다.
도 13은 역 AC/DC 예측(Inverse AC/DC prediction)과 역 인트라 예측(Inverse Intra Prediction)을 둘 다 지원하는 복호화기의 구현예이다.
즉, 하나의 복호화 경로는 역 AC/DC 예측, 역 양자화, 역 변환을 처리하는 경로이고, 다른 하나는 역 양자화, 역 변환, 역 인트라 예측을 처리하는 경로이다.
확장 비트스트림이 수신되면, 연결 제어부(335)는 우선 헤더 부분에서 연결 정보를 추출하여 해석한다. 연결 정보는 별도의 독립된 데이터로 수신될 수도 있음은 앞서 설명한 바와 같다.
도 13과 같이 각 기능부들이 연결되기 위해서는, 도 6에 도시된 범용 기능부 테이블에 따를 때 아래와 같은 형태로 구성될 수 있을 것이다.
connection = { connectivity { ... , (I, G),(G, J),(J, K),(K, M),(I, K),(K, M),(M, Q), … },
branch { prediction_flag == 'AC/DC', case1(G), case2(K) } }
역 AC/DC 예측은 DCR 기능부(565) 및 IAP 기능부(555)의 순차적 동작에 의해 수행될 수 있다.
연결 제어부(335)는 연결 정보를 이용하여 도 13과 같이 각 기능부들의 연결 관계를 해석한 후, 분기 시점에 도달할 때까지 순차적으로 각 기능부의 기능을 지시한다.
처리 제어부(340)는 연결 제어부(335)와 연동하여 현재 데이터 처리를 개시할 기능부에게 데이터 처리를 위해 필요한 제어 파라미터를 제공하고, 데이터 처리 과정 등에서 추출 또는 생성한 제어 파라미터를 해당 기능부로부터 입력받는다.
분기 시점에서, 연결 제어부(335)는 VLD 기능부(440)로부터 전달받은 연결 제어 표시 값(도 14 참조)을 이용하여 분기 조건 만족 여부를 판단한다. 분기 조건을 만족하는 경우에는 DCR 기능부(565)가 데이터 처리를 개시하도록 지시하고, 분기 조건을 만족하지 않는 경우에는 IQ 기능부(545)가 데이터 처리를 개시하도록 지시한다.
상술한 과정을 통해, 입력된 비트스트림이 동영상 데이터로 변환되어 표시부(미도시)에 디스플레이될 것이다.
다만, 비트스트림 또는 데이터 처리가 반드시 도 13에 도시된 기능부들의 연결 구조에 의해 순방향으로 진행되는 것은 아니며, 연결 정보의 구성 형태 및/또는 처리 제어부(340)의 처리 제어에 의해 복수의 기능부간에 교번하여 반복적으로 데이터 처리가 수행될 수도 있다.
도 15는 역 DCT(Inverse DCT)과 역 IDCT(Inverse Integer DCT)를 모두 지원하는 복호화기의 구현예이다.
확장 비트스트림이 수신되면, 연결 제어부(335)는 우선 헤더 부분에서 연결 정보를 추출하여 해석한다. 연결 정보는 별도의 독립된 데이터로 수신될 수도 있음은 앞서 설명한 바와 같다.
도 15와 같이 각 기능부들이 연결되기 위해서는, 도 6에 도시된 범용 기능부 테이블에 따를 때 아래와 같은 형태로 구성될 수 있을 것이다.
connection = { connectivity { ... , (I, G),(G, J),(J, K),(K, S),(K, T), … },
branch { prediction_flag == 'float', case1(S), case2(T) } }
역 AC/DC 예측은 DCR 기능부(565) 및 IAP 기능부(555)의 순차적 동작에 의해 수행될 수 있다. 또한, 도 6에 도시된 범용 기능부 테이블에는 역 DCT 기능을 수행하는 기능부(인덱스를 'S'라 가정함) 및 역 IDCT 기능을 수행하는 기능부(인덱스를 'T'라 가정함)가 포함되어 있지 않다. 이와 같이, 복호화를 위해 필요한 기능부인 경우에는 기능부 업데이트 과정을 통해 삽입할 수 있다.
연결 제어부(335)는 연결 정보를 이용하여 도 15와 같이 각 기능부들의 연결 관계를 해석한 후, 분기 시점에 도달할 때까지 순차적으로 각 기능부의 기능을 지시한다.
처리 제어부(340)는 연결 제어부(335)와 연동하여 현재 데이터 처리를 개시할 기능부에게 데이터 처리를 위해 필요한 제어 파라미터를 제공하고, 데이터 처리 과정 등에서 추출 또는 생성한 제어 파라미터를 해당 기능부로부터 입력받는다.
분기 시점에서, 연결 제어부(335)는 VLD 기능부(440)로부터 전달받은 연결 제어 표시 값(도 16의 DCT type [1] 참조)을 이용하여 분기 조건 만족 여부를 판단한다. 분기 조건을 만족하는 경우에는 역 DCT 처리를 수행하는 기능부가 데이터 처리를 개시하도록 지시하고, 분기 조건을 만족하지 않는 경우에는 역 IDCT 처리를 수행하는 기능부가 데이터 처리를 개시하도록 지시한다.
상술한 과정을 통해, 입력된 비트스트림이 동영상 데이터로 변환되어 표시부(미도시)에 디스플레이될 것이다.
다만, 비트스트림 또는 데이터 처리가 반드시 도 15에 도시된 기능부들의 연결 구조에 의해 순방향으로 진행되는 것은 아니며, 연결 정보의 구성 형태 및/또는 처리 제어부(340)의 처리 제어에 의해 복수의 기능부간에 교번하여 반복적으로 데이터 처리가 수행될 수도 있다.
도 16은 일련의 기능부들이 병렬로 연결되어 각각 상이한 복호화 처리를 수행하는 복호화기의 구현예이다. 즉, 본 발명에 따르면, 복호화기/부호화기의 전체 처리 경로를 병렬 구조로 구성하면 비트스트림을 구성하는 각 프레임 및/또는 이미지 별로 각기 다른 루틴의 복호화/부호화 처리도 가능할 수 있다.
예를 들어, 첫 번째 이미지는 MPEG-2로 부호화 및 복호화하고 두 번째 이미지는 MPEG-4로 부호화 및 복호화 하는 시스템 구현도 가능하다. 또한 선행하는 복 수의 프레임은 MPEG-4로 부호화 및 복호화하고 후행하는 복수의 프레임은 MPEG-4 AVC로 부호화 및 복호화가 가능하다. 이와 같이, 하나의 비트스트림에서 포함된 하나 이상의 이미지 및 프레임에 대한 부호화 및 복호화 방법을 다양하게 할 수 있다.
확장 비트스트림이 수신되면, 연결 제어부(335)는 우선 헤더 부분에서 연결 정보를 추출하여 해석한다. 연결 정보는 별도의 독립된 데이터로 수신될 수도 있음은 앞서 설명한 바와 같다.
다만, 미리 지정된 단위의 프레임 및/또는 이미지별로 상이한 복호화 방법에 의해 처리되도록 하기 위해서, 확장 비트스트림의 헤더 부분에는 적용될 복호화 방법을 지시하기 위한 적용된 표준을 나타내는 연결 제어 표시 값이 더 포함되어야 한다(도 18 참조). 연결 제어부(335)는 연결 제어 표시 값을 이용하여 전체 복호화 경로 중 어떤 복호화 경로가 이용되어야 하는지를 선택한다. 도 18에 도시된 바와 같이, 예를 들어 1-10번째 이미지들은 MPEG-4로 부호화 되고 11-15번째 이미지들은 MPEG-4 AVC로 부호화 되며, 16-30번째 이미지들은 MPEG-2로 부호화 될 수 있다. 물론, 첫번째 이미지는 MPEG-2, 2번째 이미지는 MPEG-4, 세번째 이미지는 MPEG-1로 부호화하는 것도 가능하다.
적용된 표준을 나타내는 연결 제어 표시 값은 각 프레임, 각 이미지 별로 각각 지정될 수 있으며, 비트스트림 헤더 부분 내에서 전체의 프레임 또는 전체의 이미지에 대해 지정될 수도 있다. 연결 제어 표시 값이 각각 지정된 프레임별로 PD 기능군(320) 및/또는 MB 기능군(330)은 데이터 처리를 수행할 수 있다. 물론, 상술 한 바와 같이, 하나의 영상 처리를 위한 매크로블록 데이터들의 처리가 완료될 때까지 VR 기능군(515)은 데이터 처리를 위해 대기할 수도 있다.
종래에는 MPEG-2가 이용된 정규 방송에서 방송된 축구 경기를 MPEG-4 AVC 가 이용되는 DMB 뉴스를 통해 경기 장면을 재생하기 위해서는 MPEG-2로 부호화된 비디오를 MPEG-4 AVC로 트랜스 코딩(trans-coding)해야 하는 번거로움이 있었다.
그러나, 본 발명에 의해 부호화기 및 복호화기를 구성하면, 뉴스는 MPEG-4 AVC로 부호화/복호화 되어 방송되고, 뉴스 도중에 방송되는 축구 경기 장면은 종래의 MPEG-2 비트스트림을 그대로 사용하여 방송이 가능한 장점이 있다. 이는 병렬구조로 각 프레임을 부호화/복호화할 수 있도록 함으로써, 연결 제어 표시 값이 나타내는 경로를 통해 상응하는 기능부가 처리 동작을 수행하도록 할 수 있기 때문이다.
이제까지 본 발명에 따른 통합 코덱 장치 및 방법을 설명함에 있어 복호화기를 중심으로 설명하였으나, 복호화기와 부호화기간의 상호 관계가 당업자에게 자명하며 복호화기에 대한 상세한 설명만으로도 부호화기의 구성이 용이한 점을 고려할 때 본 발명이 복호화기에 제한되지 않음은 자명하다.
상술한 바와 같이 본 발명에 따른 통합 코덱 장치 및 방법은 상이한 동영상 코덱간의 공통점, 차이점 및 고려사항에 부합하는 새로운 통합 코덱 개념 및 구조 를 제공함으로써 다양한 부호화/복호화 표준에 범용적으로 이용될 수 있는 효과가 있다.
또한, 본 발명은 기능부(FU : Functional Unit) 재조합 기술을 이용하여 다양한 표준에 의해 부호화된 비트스트림을 제약없이 복호화할 수 있는 효과도 있다.
또한, 본 발명은 블록 기반의 동영상 코덱의 기능 변화없이 상이한 코덱간의 통합을 가능하게 하는 효과도 있다.
또한, 본 발명은 개별적으로 독립된 기능부(FU : Functional Unit)들이 유기적으로 기능할 수 있도록 하는 효과도 있다.
또한, 본 발명은 MPEG-1, MPEG-2, MPEG-4, MPEG-4 AVC 외의 블록 단위의 처리를 하는 동영상, 정지영상 코덱의 통합시에 사용할 수 있는 효과도 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (17)

  1. 입력된 확장 비트스트림 또는 데이터로부터 연결 정보를 해석하여 각 기능부들의 연결 관계를 설정하는 복호화 제어부; 및
    복수의 기능부들로 구성되고, 상기 확장 비트스트림에 포함된 비트스트림을 처리하기 위하여 상기 복호화 제어부의 연결 제어에 의해 하나 이상의 기능부들이 순차적으로 활성화되는 기능군을 포함하는 통합 코덱 장치.
  2. 제1항에 있어서,
    상기 복호화 제어부는 임의의 기능부로부터 제어 파라미터를 입력받아 상기 비트스트림 처리를 위하여 상응하는 기능부로 제공하는 것을 특징으로 하는 통합 코덱 장치.
  3. 제1항에 있어서,
    상기 기능군은,
    복수의 기능부들로 구성되고, 상기 복호화 제어부의 상기 연결 관계에 따른 동작 제어에 의해 상기 비트스트림 내에서 제어 파라미터를 추출하고, 상기 비트스트림을 처리하여 매크로블록 단위의 데이터로 출력하는 PD 기능군(Parsing and Decoding Functional Group); 및
    복수의 기능부들로 구성되고, 상기 복호화 제어부의 상기 연결 관계에 따른 동작 제어 및 상기 복호화 제어부로부터 제공받은 제어 파라미터에 의해 입력된 상기 매크로블록 단위의 데이터를 처리하여 영상 데이터를 출력하는 MB 기능군(MacroBlock-Based Functional Group)을 포함하는 것을 특징으로 하는 통합 코덱 장치.
  4. 제3항에 있어서,
    상기 PD 기능군은 상기 비트스트림에 포함된 연결 제어 표시값을 더 추출하여 상기 복호화 제어부로 제공하고, 상기 복호화 제어부는 상기 연결 제어 표시값을 이용하여 상기 PD 기능군 및 상기 MB 기능군 중 적어도 어느 하나에 포함된 하나 이상의 기능부의 동작 제어를 수행하는 것을 특징으로 하는 통합 코덱 장치.
  5. 제1항에 있어서,
    상기 복호화 제어부는,
    상기 연결 정보를 해석하여 상기 연결 관계를 설정하고, 상기 PD 기능군 및 상기 MB 기능군에 포함된 임의의 기능부(Functional Unit)의 순차적 동작 개시를 제어하는 연결 제어부; 및
    상기 PD 기능군 및 상기 MB 기능군으로부터 상기 비트스트림의 헤더에 포함된 또는 상기 비트스트림의 처리를 통해 생성된 제어 파라미터를 입력받고, 상응하는 기능부로 상응하는 제어 파라미터를 전달하는 처리 제어부를 포함하는 것을 특징으로 하는 통합 코덱 장치.
  6. 제1항에 있어서,
    상기 연결 정보는 상기 기능부들의 연결(connection)에 관한 정보, 분기(branch) 조건 중 하나 이상을 포함하고, 상기 연결 정보에 의해 상기 기능부들은 직렬, 병렬 중 하나 이상의 관계로 연결되는 것을 특징으로 하는 통합 코덱 장치.
  7. 제6항에 있어서,
    상기 복호화 제어부는 미리 지정된 기능부가 상기 비트스트림으로부터 독출하여 제공한 연결 제어 표시값이 상기 분기 조건을 만족하는지 여부를 판단하여 병렬 관계를 가지는 복수의 기능부들 중 상기 비트스트림을 처리할 어느 하나의 기능부를 선택하는 것을 특징으로 하는 통합 코덱 장치.
  8. 제3항에 있어서,
    상기 제어 파라미터는 제어 신호(CS : Control Signal) 및 문맥 정보(CI : Context Information)을 포함하되, 상기 제어 신호는 상기 MB 기능군에 포함된 임의의 기능부의 기능 실행 여부를 지시하는 정보이고, 상기 문맥 정보는 상기 기능부의 기능 실행시 필요한 부가 정보인 것을 특징으로 하는 통합 코덱 장치.
  9. 제8항에 있어서,
    상기 제어 신호는 AC 예측 모드 플래그(ac prediction flag), CBP(Coded Block Pattern), 양자화 스케일 값, 데이터 파티션 플래그(Data Partition Flag), 영상의 사이즈, 쇼트 비디오 헤더 플래그(short video header flag) 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 통합 코덱 장치.
  10. 제8항에 있어서,
    상기 문맥 정보는 상기 제어 정보에 의해 임의의 기능 실행이 지시된 경우, 상기 기능 실행을 위해 필요한 정보를 포함하는 정보인 것을 특징으로 하는 통합 코덱 장치.
  11. 제8항에 있어서,
    상기 복호화 제어부는 상기 제어 파라미터를 상응하도록 가공하여, 상기 MB 기능군에 포함된 각 기능부에 전달하는 것을 특징으로 하는 통합 코덱 장치.
  12. (a) 복호화 제어부가 입력된 확장 비트스트림 또는 독립된 데이터로부터 연결 정보를 해석하여 각 기능부의 연결 관계를 설정하는 단계;
    (b) 상기 복호화 제어부가 상기 연결 관계에 의해 결정된 각 기능부의 처리 순서에 따라 임의의 기능부로 상기 확장 비트스트림에 포함되거나 독립적으로 수신된 비트스트림 또는 상기 비트스트림에 상응하는 데이터의 처리를 지시하는 단계; 및
    (c) 처리 지시된 기능부가 미리 지정된 처리 방법에 따라 상기 비트스트림 또는 상기 데이터를 처리하는 단계를 포함하는 통합 코덱 방법.
  13. 제12항에 있어서,
    상기 단계 (b) 내지 상기 단계 (c)는 상기 비트스트림이 영상 데이터로 복원될 때까지 반복 수행되는 것을 특징으로 하는 통합 코덱 방법.
  14. 제12항에 있어서,
    상기 복호화 제어부는 상기 단계 (b)에서 또는 상기 단계 (b)에 선행하여 상기 비트스트림 또는 상기 데이터를 처리한 임의의 기능부로부터 제공받은 연결 제어 표시값이 상기 연결 정보에 포함된 분기 조건을 만족하는지 여부를 판단하고 병렬 관계를 가지는 복수의 기능부 중 어느 하나를 선택하는 것을 특징으로 하는 통합 코덱 방법.
  15. 제12항에 있어서,
    상기 단계 (b)는 처리 지시된 기능부로 상기 비트스트림 또는 상기 데이터의 처리를 위한 제어 파라미터를 제공하는 단계를 더 포함하되,
    상기 단계 (c)에서 상기 처리 지시된 기능부는 상기 제어 파라미터를 이용하여 상기 비트스트림 또는 상기 데이터를 미리 지정된 처리 방법에 의해 처리하는 것을 특징으로 하는 통합 코덱 방법.
  16. 제15항에 있어서,
    상기 제어 파라미터는 제어 신호 및 문맥 정보를 포함하되, 상기 제어 신호는 임의의 기능부의 기능 실행 여부를 지시하는 정보이고, 상기 문맥 정보는 상기 기능부의 기능 실행시 필요한 부가 정보인 것을 특징으로 하는 통합 코덱 방법.
  17. 제15항에 있어서,
    상기 복호화 제어부는 상기 제어 파라미터를 미리 지정된 방법으로 가공하여, 상응하는 기능부에 전달하는 것을 특징으로 하는 통합 코덱 방법.
KR20050093737A 2005-10-06 2005-10-06 통합 코덱 장치 및 방법 KR100654601B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR20050093737A KR100654601B1 (ko) 2005-10-06 2005-10-06 통합 코덱 장치 및 방법
CN2005800522354A CN101326827B (zh) 2005-10-06 2005-12-14 合并编解码器的装置和方法
PCT/KR2005/004280 WO2007040297A1 (en) 2005-10-06 2005-12-14 Device and method for merging codecs
JP2008534431A JP5213716B2 (ja) 2005-10-06 2005-12-14 統合コーデック装置及び方法
EP05822200A EP1941732A4 (en) 2005-10-06 2005-12-14 DEVICE AND METHOD FOR COMBINING CODECS
US12/083,071 US8149920B2 (en) 2005-10-06 2005-12-14 Device and method for merging codecs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050093737A KR100654601B1 (ko) 2005-10-06 2005-10-06 통합 코덱 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100654601B1 true KR100654601B1 (ko) 2006-12-08

Family

ID=37732295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050093737A KR100654601B1 (ko) 2005-10-06 2005-10-06 통합 코덱 장치 및 방법

Country Status (6)

Country Link
US (1) US8149920B2 (ko)
EP (1) EP1941732A4 (ko)
JP (1) JP5213716B2 (ko)
KR (1) KR100654601B1 (ko)
CN (1) CN101326827B (ko)
WO (1) WO2007040297A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018751A (ko) * 2006-12-27 2007-02-14 주식회사 휴맥스 동영상 인코딩/디코딩 장치 및 방법
KR100970145B1 (ko) 2008-07-18 2010-07-14 (주)휴맥스 부호화/복호화 방법 및 장치
WO2010095823A2 (ko) * 2009-02-19 2010-08-26 주식회사 휴맥스 부호화/복호화 방법 및 장치
KR100983054B1 (ko) * 2008-07-19 2010-09-17 전자부품연구원 디코딩 장치, 디코딩 방법, 인코딩 방법 및 컴퓨터로 판독가능한 기록 매체
CN101743748B (zh) * 2007-04-04 2013-01-09 数码士有限公司 比特流解码设备以及具有解码解决方案的方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101305491B1 (ko) 2007-04-17 2013-09-17 (주)휴맥스 비트스트림 디코딩 장치 및 방법
US8718129B2 (en) 2007-10-03 2014-05-06 Apple Inc. Power saving decoder architecture
KR101372418B1 (ko) * 2007-10-19 2014-03-12 (주)휴맥스 비트스트림 디코딩 장치 및 방법
KR101439381B1 (ko) * 2008-04-24 2014-11-04 (주)휴맥스 홀딩스 부호화/복호화 방법 및 장치
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8854382B2 (en) * 2010-12-10 2014-10-07 Vixs Systems, Inc. Multi-function encoder and decoder devices, and methods thereof
US9262670B2 (en) * 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
CN105637886B (zh) * 2014-09-25 2018-10-30 华为技术有限公司 用于向客户端提供图形用户界面的服务器,以及客户端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0730763A (ja) * 1993-07-07 1995-01-31 Hitachi Ltd ストレージメディアの画像符号化装置並びに復号化装置
US5987171A (en) * 1994-11-10 1999-11-16 Canon Kabushiki Kaisha Page analysis system
JPH09200767A (ja) 1996-01-12 1997-07-31 Matsushita Electric Ind Co Ltd 画像復号化装置と画像符号化装置、並びに画像符号化方法と画像復号化方法
KR100511693B1 (ko) 1997-10-23 2005-09-02 미쓰비시덴키 가부시키가이샤 화상 복호화 장치
US8284844B2 (en) * 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US6931061B2 (en) 2002-11-13 2005-08-16 Sony Corporation Method of real time MPEG-4 texture decoding for a multiprocessor environment
KR100604032B1 (ko) * 2003-01-08 2006-07-24 엘지전자 주식회사 복수 코덱을 지원하는 장치와 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018751A (ko) * 2006-12-27 2007-02-14 주식회사 휴맥스 동영상 인코딩/디코딩 장치 및 방법
CN101743748B (zh) * 2007-04-04 2013-01-09 数码士有限公司 比特流解码设备以及具有解码解决方案的方法
KR100970145B1 (ko) 2008-07-18 2010-07-14 (주)휴맥스 부호화/복호화 방법 및 장치
KR100983054B1 (ko) * 2008-07-19 2010-09-17 전자부품연구원 디코딩 장치, 디코딩 방법, 인코딩 방법 및 컴퓨터로 판독가능한 기록 매체
WO2010095823A2 (ko) * 2009-02-19 2010-08-26 주식회사 휴맥스 부호화/복호화 방법 및 장치
WO2010095823A3 (ko) * 2009-02-19 2010-11-04 주식회사 휴맥스 부호화/복호화 방법 및 장치
US9031136B2 (en) 2009-02-19 2015-05-12 Humax Holdings Co., Ltd. Device and method for encoding/decoding

Also Published As

Publication number Publication date
CN101326827B (zh) 2013-03-20
JP2009510965A (ja) 2009-03-12
EP1941732A1 (en) 2008-07-09
CN101326827A (zh) 2008-12-17
EP1941732A4 (en) 2010-06-09
US20090161767A1 (en) 2009-06-25
JP5213716B2 (ja) 2013-06-19
WO2007040297A1 (en) 2007-04-12
US8149920B2 (en) 2012-04-03

Similar Documents

Publication Publication Date Title
KR100654601B1 (ko) 통합 코덱 장치 및 방법
CN100568965C (zh) 实现压缩视频的快速信道改变的编码方法和设备
KR102174807B1 (ko) 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치
EP3057321B1 (en) Video decoding device, video decoding method, and program
CN104811719A (zh) 用于视频编码器和解码器的方法和装置
KR20080023727A (ko) 매크로블록 적응적 인터-층 인트라 텍스쳐 예측을 위한방법 및 장치
KR101232780B1 (ko) 통합 코덱 장치 및 방법
US8149922B2 (en) Device and method for merging different video codec
KR101305514B1 (ko) 비트스트림 디코딩 장치 및 방법
CN102783148A (zh) 用于视频编码的方法和装置
KR100858244B1 (ko) 동영상 인코딩/디코딩 장치 및 방법
KR100994395B1 (ko) 동영상 인코딩/디코딩 장치 및 방법
KR100767606B1 (ko) 통합 코덱 장치 및 방법
JP2005328457A (ja) 動画像符号化装置、動画像復号化装置、コーデック装置、および、プログラム
JP2001136532A (ja) 符号化装置
KR20070098459A (ko) 비트스트림 인코딩/디코딩 장치 및 방법

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131107

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141021

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee