KR20070062393A - 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치 - Google Patents

비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치 Download PDF

Info

Publication number
KR20070062393A
KR20070062393A KR1020060031650A KR20060031650A KR20070062393A KR 20070062393 A KR20070062393 A KR 20070062393A KR 1020060031650 A KR1020060031650 A KR 1020060031650A KR 20060031650 A KR20060031650 A KR 20060031650A KR 20070062393 A KR20070062393 A KR 20070062393A
Authority
KR
South Korea
Prior art keywords
symbol
blocks
block
predetermined value
grouped
Prior art date
Application number
KR1020060031650A
Other languages
English (en)
Other versions
KR100736096B1 (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 EP06823880A priority Critical patent/EP1961235A4/en
Priority to JP2008545478A priority patent/JP4837047B2/ja
Priority to PCT/KR2006/005172 priority patent/WO2007069829A1/en
Priority to CN2006800525874A priority patent/CN101366282B/zh
Priority to US11/637,074 priority patent/US20070133677A1/en
Publication of KR20070062393A publication Critical patent/KR20070062393A/ko
Application granted granted Critical
Publication of KR100736096B1 publication Critical patent/KR100736096B1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/21Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및 장치에 관한 발명으로서, 본 발명의 일 실시예에 따른 인코딩 방법은 다계층 비디오 신호를 구성하는 블록을 부호화하는 방법에 있어서, 소정의 값과 동일한 값의 심볼을 가지는 둘 이상의 블록을 그루핑하는 단계, 상기 그루핑된 블록들의 정보를 나타내는 그룹별 심볼을 생성하는 단계, 및 상기 그룹별 심볼을 부호화하는 단계를 포함한다.
비디오 신호, 인코딩, 디코딩, 그룹, VLC, 블록

Description

비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및 장치{Method and apparatus for encoding and decoding video signal by group}
도 1은 블록에 기반한 VLC를 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 그룹 심볼 코딩의 과정을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 심볼의 인코딩 예를 보여주는 도면이다.
도 4는 본 발명의 다른 실시예에 따른 심볼의 인코딩 예를 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른 그룹 단위로 패스비트를 설정하는 인코딩 순서를 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따른 패스비트를 설정하고 패스비트에 대해 RLC를 수행하는 인코딩 순서를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 디코딩 순서를 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 인코더의 엔트로피 인코딩부의 구성을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 따른 디코더의 엔트로피 디코딩부의 구성을 보여주는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
600: FGS 계층 인코더 640: 엔트로피 인코더
642: 그루핑 결정부 644: 패스비트 설정부
646: 심볼 인코딩부 800: FGS 계층 디코더
810: 엔트로피 디코더 812: 그루핑 정보 추출부
814: 패스비트 판단부 816: 심볼 생성부
본 발명은 비디오 신호의 부호화 및 복호화에 관한 것으로, 보다 상세하게는 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 특성을 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복 이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 결과는 다시 양자화 과정을 통하여 소정의 양자화 스텝에 따라서 손실 부호화된다. 상기 양자화된 결과는 최종적으로 엔트로피 부호화(entropy coding)를 통하여 최종적으로 무손실 부호화된다.
현재, ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)와 ITU(International Telecommunication Union)의 비디오 전문가들 모임인 JVT(Joint Video Team)에서 진행중인 스케일러블 비디오 코딩(이하, SVC 라 함) 초안(draft)에서는, 기존의 H.264를 기반으로 하여 도 1의 예와 같은 다 계층 기반의 코딩 기술에 관한 연구가 활발히 진행되고 있다.
도 1은 블록에 기반한 VLC를 보여주는 도면이다. 가변 길이 부호화(VLC, Variable length coding)은 통계 특성에 기반한 무손실 압축 기법의 일종으로, 입력 심볼(symbol)의 출현 확률에 따라서 서로 다른 길이의 코드워드(codeword)를 할당함으로써 압축 성능을 향상시키는 방법이다. 이러한 방법의 대표적인 예로, 허프만 코드(Huffman code)를 들 수 있다.
표 1은 H.264의 베이스라인 프로필(baseline profile)에서 사용되는 Exp-Golomb code로서, 거의 모든 심볼에 대해서 예측 값과의 차이를 인코딩하는 H.264의 특성 상, 0에 가까운 값들이 자주 나오게 되므로, 0에 가까울 수록 짧은 비트를 할당하는 방법으로 전체 비트를 최소화한다.
Figure 112006024258506-PAT00001
H.264를 비롯한 대부분의 영상 압축 방법들은 매크로블록(macroblock) 단위로 압축을 수행한다. 즉, VLC를 적용할 때, 각 매크로블록별, 혹은 서브블록(subblock)별로 각각 코딩을 하게 된다. 예를 들어 H.264의 매크로블록 문법(syntax)에 정의되어 있는 cbp(coded block pattern)의 경우 매크로블록마다 6비트씩 할당이 되어 있으며, 이들이 각 매크로블록마다 Exp-Golomb code로 표현되어 코딩되게 된다. 그림 1은 블록 기반의 VLC 압축 방법을 도시한 것으로서 각 블록에 존재하는 심볼들(x, y)을 VLC 테이블과 비교하여 해당 코드워드(c(x), c(y))를 비트 스트림에 저장하게 된다.
기존 VLC 방법이 갖는 문제점은 각 심볼이 갖는 최소 비트수가 1이라는 한계이다. 즉, 예를 들어 한 프레임에 100개의 심볼이 있는 경우 전부 값이 0이라고 해도 100비트가 필요하다는 것이다. 이는 인접한 심볼간에 갖는 유사성을 최대로 활용하지 못하기 때문이다. 이에 비해 산술적 코딩(arithmetic coding)의 경우는 1개의 symbol에 대한 비트수를 1 이하로 만들 수 있으므로 인접한 심볼들간 유사성이 매우 큰 경우 더욱 더 효율적으로 코딩이 가능한 장점이 있다.
H.264 scalable extension의 경우 멀티 레이어(multi-layer) 구조를 갖고 있어서 상위 레이어에 할당되는 비트 수가 일반적인 단일 레이어(single-layer) 구조에 비해서 훨씬 적다. 따라서, 상위 레이어에서는 많은 심볼이 0이 되는 경우가 많으며, 이는 인접한 심볼들간 유사성이 기존의 단일 레이어 H.264에 비해서 더 크다는 것을 의미한다. 특히, 저 비트율 환경에서는 이러한 현상이 두드러지게 된다. 예를 들어, H.264의 coded block pattern(cbp)은 해당 8x8 subblock 내에 실제로 코딩해야 할 계수(coefficient)가 있는지를 나타내는 플래그인데, 단일 레이어인 경우는 이 값이 0이 되는 일이 그다지 많지 않지만, 멀티 레이어 구조인 경우 상위 레이어에서는 많은 경우 하위 레이어로부터 좋은 예측 신호를 얻을 수 있으므로 cbp가 0이 되는 경우가 많다. 이러한 경우 VLC로는 이러한 현상을 최대로 활용하기 힘들다. 따라서, H.264 scalable extension의 경우 상위 레이어에서는 기존 VLC가 갖는 문제를 해결하기 위한 방법이 필요하다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 동일한 정보를 가지는 심볼들의 코딩 효율을 높이는 방법 및 장치를 제공하는데 목적이 있다.
본 발명의 또다른 목적은 블록간에 중첩되는 정보를 제거하여 압축율을 높이는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 인코딩 방법은 다계층 비디오 신호를 구성하는 블록을 부호화하는 방법에 있어서, 소정의 값과 동일한 값의 심볼을 가지는 둘 이상의 블록을 그루핑하는 단계, 상기 그루핑된 블록들의 정보를 나타내는 그룹별 심볼을 생성하는 단계, 및 상기 그룹별 심볼을 부호화하는 단계를 포함한다.
본 발명의 일 실시예에 따른 디코딩 방법은 다계층 비디오 신호를 구성하는 블록을 복호화하는 방법에 있어서, 소정의 값과 동일한 심볼을 가지는 블록을 그루핑한 정보를 추출하는 단계, 상기 추출한 정보에 따라, 상기 비디오 신호를 구성하는 블록의 부호화 여부를 판단하는 단계, 및 상기 판단한 결과에 따라 상기 소정의 값을 추출하여 상기 블록을 복호화하는 단계를 포함한다.
본 발명의 일 실시예에 따른 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더는 소정의 값과 동일한 값의 심볼을 가지는 둘 이상의 블록을 그루핑하는 방식을 결정하는 그루핑 결정부, 상기 그루핑된 블록들의 정보를 나타 내는 그룹별 심볼을 패스비트 설정부, 및 상기 그룹별 심볼을 부호화하는 심볼 인코딩부를 포함한다.
본 발명의 일 실시예에 따른 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더는 소정의 값과 동일한 심볼을 가지는 블록을 그루핑한 정보를 추출하는 그루핑 정보 추출부, 상기 추출한 정보에 따라, 상기 비디오 신호를 구성하는 블록의 부호화 여부를 판단하는 패스비트 판단부, 및 상기 판단한 결과에 따라 상기 소정의 값을 추출하여 상기 블록을 복호화하는 심볼 생성부를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 본 발명의 실시예들에 의하여 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및 장치을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있 음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
도 2는 본 발명의 일 실시예에 따른 그룹 심볼 코딩의 과정을 보여주는 도면이다.
미리 정의된 그룹 크기(group size) N이 있을 경우 심볼 N개를 묶어서 코딩할 수 있다. 즉, 도 2에서 네 개의 블록(202, 204, 206, 208)에 포함되는 심볼을 하나의 그룹으로 그루핑할 수 있다. 이때 각 심볼들의 값이, 미리 약속된 값 또는 다른 정보를 참조한 결과 예측한 값에 일치하면 이 심볼들에 대해서는 인코딩을 수행하지 않는다. 그리고 이 N개의 블록의 심볼이 상기 미리 약속된 값 또는 예측한 값과 일치하는지 여부를 나타내기 위해 패스 비트(pass bit)를 설정한다. 일치하는 경우는 패스 비트를 1로 설정하여 해당 그룹에 포함된 블록은 인코딩 하지 않고, 일치하지 않는 경우에는 패스 비트를 1로 설정하여 종래의 VLC 코딩을 수행하게 된다.
즉, 심볼 N개를 하나의 그룹으로 보고, 이에 대한 예측 값(또는 미리 정의된 값)을 구한 후, N개의 심볼 모두가 예측 값과 동일하다면 패스 비트를 1로 설정하고, N개의 심볼 모두를 인코딩 하지 않고 건너뛰게 된다. 만일 예측 값과 동일하지 않은 값이 있다면, 패스 비트를 0으로 설정하고, N개의 심볼을 묶어서 하나의 심볼로 보아 VLC를 수행하거나, N개의 심볼을 기존의 방법대로 각각 VLC한다. 이 경우 패스 비트는 총 심볼의 수가 M개라고 할 때, M/N개 만큼이 들어가게 되므로 기존의 방법에 비해서 추가적으로 M/N bit가 더 소모되나, 패스 비트가 1인 경우가 자주 발생한다면 N개의 심볼을 코딩하지 않아도 되므로 전체적인 압축 성능이 향상될 수 있다.
도 3은 본 발명의 일 실시예에 따른 심볼의 인코딩 예를 보여주는 도면이다. N의 크기가 4인 경우를 보여준다. 설명의 편의를 위하여 4x4로 구성된 블록들의 집합(310)을 예로 한다. 그러나 본 발명의 구현이 이에 국한되는 것은 아니며, 더 많은 수의 블록(서브블록 혹은 매크로블록), 또는 슬라이스, 프레임 단위로 구현될 수 있다. 본 명세서에서의 블록은 블록과 서브블록, 매크로블록에 모두 적용될 수 있음을 의미하며, 이러한 블록은 8x8 블록, 4x4 블록, 모션 파티션 블록(motion partition block)의 실시예이다. 도 3에서 블록들의 집합(310)에서 각 블록에 포함되는 심볼의 값이 k, m, n, 0이 있을 때, 4개의 블록이 모두 0인 경우 패스 비트를 사용한다. 따라서 첫번째 4개의 블록은 패스 비트를 0으로 하고 각각의 심볼에 대해 코딩하거나 또는 4개의 블록 전체('kmn0')에 대해 코딩을 수행한다.
그 다음 네 개의 블록인 301 에서는 모두 0이므로 패스 비트를 1로 설정하고 코딩하지 않는다. 세번째 열의 네 개의 블록은 마지막 블록의 심볼 값이 k이므로 패스 비트를 0으로 설정하고 첫번째 비트와 같이 각각 코딩하거나 또는 '000k'에 대해 코딩을 수행할 수 있다. 네번째 열의 네 개의 블록 302 역시 모드 0이므로 301과 같이 패스 비트를 1로 설정하고 코딩하지 않는다.
위의 과정에 따라 네 개의 심볼을 묶어서 코딩한 311의 경우와 각각에 대해 코딩한 312로 나뉘어진다. 여기서 0의 값은 일 실시예이며, 미리 정해진 값 또는 예측된 값과의 잔차에서 발생한 값일 수 있다. 예를 들어, 예측한 데이터와 차이가 0인 경우에 패스 비트를 설정하는 기준이 될 수 있다.
또한 311과 312에서 패스 비트와 코딩할 데이터가 섞여 있으나, 이와 달리 패스 비트와 코딩할 데이터를 분리하여 보낼 수 있다. 이는 비디오 인코딩시의 비디오 스트림에 어떤 방식으로 코딩하는 가에 따라 달라질 수 있다.
디코더 측은 패스 비트가 1인 경우에는 미리 약속된 값을 사용하거나 예측 값을 구한 후, 이 값으로 N개의 심볼 값을 설정하며, 패스 비트가 0인 경우에는 기존의 방법처럼 N개의 심볼을 파싱한다. 이러한 과정은 매우 간단하므로 부가적인 연산량은 거의 없다고 할 수 있다.
도 4는 도 3과 달리, 그룹 자체에 패스비트를 설정하는 것과 달리, N 개의 그룹으로 고정시키지 않고, 심볼이 예측치 또는 미리 약속된 값과 같은 경우, 0으로 설정하되 M 이상의 0이 발생할 경우 RLC 방식으로 코딩할 수 있도록 하는 방법을 보여준다. 그러나 0의 크기가 길어질 경우 길이가 긴 0에 대한 런을 할당시 효율이 떨어질 수 있으므로, 도 4의 실시예에서는 최대 0의 길이에 대한 한계값 M을 8로 설정하였다. 401 내의 블록들은 도 3의 블록과 같다. 각 블록의 값에 따라 패스비트를 1과 0으로 설정한다. 각 블록의 심볼 값이 예측값 또는 미리 정한 값과 동일한 값이므로 인코딩을 하지 않음을 알리도록 패스 비트를 1로 설정하고, 그 외의 경우에는 0으로 설정한다. 따라서 401 블록들은 421과 같이 연속된 1로 나타나며, 402 블록들 역시 422와 같이 연속된 블록으로 나타난다.
상기 패스비트들을 다시 RLC를 통해 압축하면 디코더 측에서는 패스비트에 따라 패스비트가 1인 경우 해당 블록의 인코딩된 값이 없어도 미리 약속된 또는 예측된 값을 사용할 수 있다. 따라서 인코딩 된 값을 따로이 보낼 필요가 없으므로 코딩 효율이 향상된다.
상기의 방식 외에도, 각 그룹된 심볼에 대하여 패스비트의 설정 없이 RLC를 수행할 수 있다. 도 4의 예에서 네개의 블록을 하나의 그룹으로 그루핑하여 심볼을 인코딩하는 경우 450과 같이 구현될 수 있다.
예를 들어, 첫번째 그룹인 kmn0, 두번째 그룹인 0000, 세번째 그룹인 000k, 네번째 그룹은 0000에 대하여 RLC를 수행하는 방법도 가능하다. 예를 들어 블록이 가지는 cbp의 값 또는 residual_prediction_flag의 값을 소정의 그룹 크기만큼 그루핑하여 이에 대해 심볼을 코딩할 수 있다.
이 과정에서 대부분의 값이 0으로 구성되어 런의 길이가 과도하게 길어지는 경우를 막기 위해 런의 최대값을 제한할 수 있다.
즉, 블록에 존재하는 정보들이 동일한 값을 가질 가능성이 높을 경우 비트 효율을 높이기 위해 그루핑을 수행하여 인코딩을 수행하며, 그루핑을 하는 일 실시예로 패스비트를 설정하거나, 그루핑을 수행하여 블록별로 RLC를 수행할 수 있다.
런의 값을 인코딩시 VLC 방식으로 코딩할 수 있으며, 그 실시예로는 exp-golomb과 UVLC code를 포함한다.
또한 도 3 또는 도 4에서 사용한 패스비트의 1, 0의 설정값은 구현에 따라 달라진다. 즉 데이터가 예측값 또는 미리 약속된 값과 동일한 경우에 패스비트를 1로 설정할 수도 있고, 0으로 설정할 수 있는데, 이는 인코더 측 및 디코더 측의 약속에 따라 달라질 수 있다.
도 3 또는 도 4에서 살펴본 예들은 블록(서브블록 혹은 매크로블록의 다양한 심볼에 적용가능하다. 예측된 값과 일치하는 값이 많은 경우에 예측된 값을 그대로 사용할 것인지를 나타낼 수 있도록 정보를 제공할 수 있다.
예를 들어, H.264 SE(scalable extension)에는 블록마다 잔차 예측 플래그(residual prediction flag)라는 것이 있어서 이 값이 1이면 하위 계층의 잔차(residual) 정보를 상위 계층의 잔차(residual)를 코딩할 때 활용하게 된다. 이 잔차 예측 플래그(residual prediction flag)는 블록마다 1비트씩 차지하므로 VLC(variable length coding)이 아니라 단순히 0 혹은 1이 비트 스트림에 저장되게 된다. 이 잔차 예측 플래그(residual prediction flag)은 하위 계층의 잔차(residual) 에너지와 매우 밀접한 관계가 있는데, 예를 들어 하위 계층의 잔차(residual) 에너지가 0이 아닌 경우 잔차 예측 플래그(residual prediction flag)는 1일 확률이 높으며, 에너지가 0이라면 잔차 예측 플래그(residual prediction flag)는 0일 확률이 높다.
 따라서, 도 3 또는 도 4의 그룹 VLC를 적용하기 위해서, isBaseResidualAvailable(n)이라는 값을 정의할 수 있다. 이 값은 n번째 블록에 대해서, 하위 계층의 잔차 에너지가 0이 아니면 1, 0이면 0의 값을 갖는 변수이다. 즉, 그룹 크기 N에 대해서, N개의 잔차 예측 플래그(residual prediction flag)의 값이 isBaseResidualAvailable(n)과 동일하다면, 패스 비트를 1로 하고 비트 스트림에 기록한 후, 잔차 예측 플래그(residual prediction flag)를 코딩하지 않는다. 그렇지 않은 경우라면 pass bit를 0으로 하고 비트 스트림에 기록한 후, N개의 잔차 예측 플래그를 비트 스트림에 쓴다. 이 때, N개의 잔차 예측 플래그를 비트 스트림에 쓰는 방법은 N bit로 각각 쓰는 것도 가능하고, N비트 exp-golomb code로 코딩하는 것도 가능함은 도 3에서 살펴보았다.
마찬가지 방식으로 CBP 코딩에도 적용할 수 있다. Cbp는 6비트(luma 4비트, chroma 2비트)로 구성되어 있으며 블록마다 exp-golomb code로 대응되어 코딩되게 된다. 잔차 예측 플래그(residual prediction flag)와 마찬가지로 H.264 SE의 경우 상위 layer에서는 cbp 전체가 0인 경우가 매우 많은데, 이 경우 현재는 exp-golomb code가 사용되므로 효율적이라고 볼 수 없다. 따라서, 전술한 바와 같이 pass bit를 사용하여 모두 0인 경우 pass bit를 1로 두어 N개의 cbp를 모두 인코딩하지않고 스킵하는 형태로 구성할 수 있다.
도 5는 본 발명의 일 실시예에 따른 그룹 단위로 패스비트를 설정하는 인코딩 순서를 보여주는 도면이다.
그룹의 크기인 N개의 심볼 값을 체크한다(S502). 심볼의 값은 전술한 잔차 예측 플래그, CBP등 블록을 구성하는 값들 중에서 다양하게 적용 가능하다. N개 블록들의 심볼이 모두 예측된 값 또는 미리 약속된 값과 동일한 값을 가지는지 검토한다(S510). 동일한 값을 가진다면, N개의 블록들의 심볼 전체에 대한 패스비트를 1로 설정하고 해당 심볼들을 인코딩하지 않는다(S520). 반면, N 개의 블록의 심볼들 중 하나라도 예측된 값 또는 미리 약속된 값과 동일하지 않은 값을 가진다면, N개 블록의 심볼들에 대한 패스 비트를 0으로 설정하고, 심볼들에 대해 인코딩을 수행한다(S530). 그리고 이후 인코딩할 심볼이 존재하는지 체크한다(S540). 존재할 경우 S502 단계에서 N개의 심볼들에 대해 동일한 값을 가지는지 여부를 체크하는 과정을 진행한다. 패스비트들의 정보는 인코딩된 심볼과 함께 비트 스트림에 추가할 수 있다.
도 6은 본 발명의 일 실시예에 따른 패스비트를 설정하고 패스비트에 대해 RLC를 수행하는 인코딩 순서를 보여주는 도면이다.
블록의 심볼 값을 체크한다(S602). 심볼 값이 예측된 값 또는 미리 약속된 값과 동일한 값을 가지는지 비교한다(S610). 만약 심볼이 동일한 값을 가진다면, 심볼에 대한 패스 비트를 1로 설정하고 심볼을 인코딩하지 않는다(S620). 반면 심볼이 동일한 값을 가지지 않는다면 심볼에 대한 패스 비트를 0으로 설정하고 심볼에 대한 인코딩을 수행한다(S630). 그리고 더 이상 인코딩할 심볼이 존재하는지 체크한다(S640). 인코딩할 심볼이 존재하면 S602 단계부터 다시 진행한다. 한편 더 이상 인코딩 할 심볼이 존재하지 않으면, 패스비트들에 대해 RLC를 수행한다(S650). 이때, 패스 비트의 값이 1이 연속적으로 길게 존재할 경우에는 미리 정해진 길이만큼에 대해 런을 구성하여 인코딩할 수 있다. 그리고 인코딩된 심볼을 함께 비트 스트림에 추가할 수 있다.
도 5와 6에서 살펴본 봐와 같이, 그룹에 대한 정보와 그룹별 패스 비트를 송신하는 것이 필요하다. 그룹에 대한 정보는 미리 약속될 수 있으며, 특정 간격을 두고 전송될 수 있다. 예를 들어, 프레임별로 그룹 정보를 설정하거나, 또는 슬라이스 별로 그룹 정보를 설정할 경우에는 그룹 값을 비트 스트림 내에 별도로 설정한다. 그리고 패스비트는 블록의 심볼과 함께 전송되거나, 소정 그룹 크기만큼 미리 패스비트를 전송할 수 있다.
도 7은 본 발명의 일 실시예에 따른 디코딩 순서를 보여주는 도면이다. 디코더는 그루핑에 관한 정보를 비트스트림으로부터 추출한다(S702). 인코딩된 방식에 따라, 그루핑에 관한 정보, 예를 들어 그룹의 크기, 패스 비트의 설정 값, RLC 방식으로 되었는지, 또는 그룹에 대해 하나의 패스비트가 설정되었는지 등의 정보를 추출할 수 있다.
그리고 그루핑 정보를 사용하여 각 블록의 코딩 여부를 판단한다(S710). 블 록이 코딩되었다면 해당 블록의 심볼을 디코딩한다(S720). 반면 해당 블록이 코딩되지 않은 것으로 나타나면, 해당 블록의 심볼의 값을 미리 정의되거나 약속된 값 또는 하위 계층 등에서 예측된 값으로 디코딩한다(S730).
그룹에 포함되는 블록의 개수를 나타내는 그룹 크기(Group size)는 가장 쉬운 방식으로는 상수로 둘 수도 있지만, 더 효율적으로 하기 위해서는 최적의 그룹 크기를 추정하고, 이를 슬라이스 헤더(slice header)와 같은 곳에 넣어서 전송할 수 있다. 인코더 측에서는 여러 그룹 크기에 대해서 실제로 코딩을 해 보고, 가장 적은 비트수를 갖는 그룹 크기 N을 slice header에 넣어 전송할 수 있다. 디코더 측에서는 전송받은 그룹 크기로부터 나머지 심볼들을 파싱할 수 있다.
본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA(Field Programmable Gate Array) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기 능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 8은 본 발명의 일 실시예에 따른 인코더의 엔트로피 인코딩부의 구성을 보여주는 도면이다.
원래의 비디오 시퀀스는 FGS 계층 인코더(600)로 입력되고, 아울러 다운샘플링부(550)에 의하여 다운샘플링(계층간에 해상도의 변화가 있는 경우에 한함)된 후 기초 계층 인코더(500)로 입력된다.
예측부(610)는 현재 블록에서 소정의 방법으로 예측된 이미지를 차분함으로써 잔차 신호를 구한다. 상기 예측 방법으로는 방향적 인트라 예측, 인터 예측, 인트라 베이스 예측, 및 잔차 예측 등이 있다.
변환부(620)는 상기 구한 잔차 신호를 DCT, 웨이브렛 변환 등 공간적 변환 기법을 이용하여 변환하여 변환 계수를 생성한다.
양자화부(630)는 상기 변환 계수를 소정의 양자화 스텝으로 양자화하여(양자화 스텝이 클수록 데이터의 손실 내지 압축률이 높다) 양자화 계수를 생성한다.
FGS 계층 인코더(600)에서와 마찬가지로, 기초 계층 인코더(500)도 동일한 기능의 예측부(510), 변환부(520), 및 양자화부(530)를 포함한다. 다만, 예측부(510)는 인트라 베이스 예측이나 잔차 예측은 사용할 수 없을 것이다.
엔트로피 인코더(640)는 상기 양자화 계수를 무손실 부호화하여 FGS 계층 비트스트림을 출력하고, 마찬가지로 엔트로피 인코더(540)는 기초 계층 비트스트림을 출력한다. Mux(650)는 FGS 계층 비트스트림과 기초 계층 비트스트림을 결합하여 비디오 디코더 단으로 전송할 비트스트림을 생성한다.
FGS 계층 엔트로피 인코더(640)을 자세히 살펴보면, 그루핑 결정부 (642), 패스비트 설정부(644), 심볼 인코딩부(646)을 포함한다.
그루핑 결정부(642)는 해당 슬라이스, 또는 프레임 내의 블록들에 대해 어떤 크기로 그루핑 할 것인지, 또는 그루핑 했을 경우 각각의 심볼에 대해 패스 비트를 설정할 것인지 아니면 그룹 하나에 대해 패스비트를 설정할 것인지 등을 결정한다.
패스비트 설정부(644)는 상기 결정된 그루핑 방식에 따라, 도 3 내지 도6에 제시된 방식으로 패스비트를 설정한다. 심볼 인코딩부(646)은 패스비트에 의해 인코딩 할 필요가 없는 심볼에 대해서는 인코딩을 수행하지 않고, 그 외의 심볼들에 대해 인코딩을 수행한다. 또한 그루핑 방식에 따라 패스비트에 대해 인코딩을 수행할 수 있다. 그리고 그루핑 결정부(642)에서 결정한 그룹 크기, 그루핑 방식을 나타내는 정보를 슬라이스, 프레임의 헤더에 삽입하여 인코딩 할 수 있다.
도 8에서는 FGS 계층 인코더(600)의 엔트로피 인코더(640)에 상기 그룹별 인코딩 방식을 적용하였다. 이는 FGS 계층의 블록의 심볼이 0 또는 1의 하나의 값을 가지는 경우가 많기 때문이다. 따라서 상기 FGS 계층 인코더(600)의 엔트로피 인코더(640)에 구현된 방식은 다른 계층의 인코더에도 적용 가능하다.
도 9는 본 발명의 일 실시예에 따른 디코더의 엔트로피 디코딩부의 구성을 보여주는 도면이다.
입력되는 비트스트림은 Demux(860)를 통하여 FGS 계층 비트스트림 및 기초 계층 비트스트림으로 분리되어 FGS 계층 인코더(800) 및 기초 계층 디코더(700)에 각각 제공된다.
엔트로피 디코더(810)는 엔트로피 인코더(640)과 대응되는 방식으로 무손실 복호화를 수행하여 양자화 계수를 복원한다. 엔트로피 디코더(810)는 그루핑 정보 추출부(812), 패스비트 판단부(814), 심볼 생성부(816)를 포함한다. 그루핑 정보 추출부(812)는 비트 스트림에서 그룹 크기, 그루핑 방식 등에 대한 정보를 추출한다. 상기 정보는 슬라이스, 또는 프레임별로 설정될 수 있으므로, 슬라이스 헤더 또는 프레임의 헤더에서 추출할 수 있다.
패스비트 판단부(814)는 추출한 그룹 정보와 그루핑 방식에 따라 패스비트를 추출하여 각 블록의 심볼의 인코딩 여부를 판단한다. 그리고 판단 결과에 따라 도 7에서 살펴본 바와 같이 심볼의 값을 디코딩한다. 예를 들어, 인코더 측에서 패스비트만 설정하고, 인코딩 하지 않은 심볼의 경우, 해당 심볼의 값은 미리 약속된 값 또는 하위 계층에서 예측 가능한 값을 가지므로, 이 값을 가지는 것으로 디코딩한다.
역양자화부(820)는 상기 복원된 심볼의 정보를 양자화부(630)에서 사용된 양자화 스텝으로 역 양자화한다.
역변환부(830)는 상기 역 양자화된 결과를 역 DCT 변환, 역 웨이브렛 변환 등의 역공간적 변환 기법을 사용하여 역변환한다.
역예측부(840)는 예측부(610)에서 구한 예측 이미지를 동일한 방식으로 구하고, 상기 구한 예측 이미지를 상기 역변환된 결과와 가산함으로써 비디오 시퀀스를 복원한다.
FGS 계층 디코더(800)에서와 마찬가지로, 기초 계층 디코더(700)도 동일한 기능의 엔트로피 디코더(710), 역양자화부(720), 역변환부(730), 및 역예측부(740)를 포함한다.
도 9에서는 FGS 계층 디코더(800)의 엔트로피 디코더(810)에 상기 그룹별 디코딩 방식을 적용하였다. 이는 FGS 계층의 블록의 심볼이 0 또는 1의 하나의 값을 가지는 경우가 많기 때문이다. 따라서 상기 FGS 계층 디코더(800)의 엔트로피 디코더(810)에 구현된 방식은 다른 계층의 디코더에도 적용 가능하다.
본 명세서에서의 블록들은 매크로블록 또는 서브블록을 포함한다. 그리고 이러한 블록에는 8x8 블록, 4x4 블록, motion partition block 등의 실시예가 될 수 있다. 따라서 본 발명을 적용시 블록의 단위는 다양해질 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명을 구현함으로써 블록 기반의 심볼 코딩시 저비트율에서의 압축 성능 을 향상시킬 수 있다.
본 발명을 구현함으로써 압축과정없이 반복적으로 동일한 값을 가지는 심볼에 대한 효율적인 압축 효율을 제공할 수 있다.

Claims (36)

  1. 다계층 비디오 신호를 구성하는 블록을 부호화하는 방법에 있어서,
    소정의 값과 동일한 값의 심볼을 가지는 둘 이상의 블록을 그루핑하는 단계;
    상기 그루핑된 블록들의 정보를 나타내는 그룹별 심볼을 생성하는 단계; 및
    상기 그룹별 심볼을 부호화하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  2. 제 1항에 있어서,
    상기 그루핑 하는 단계 이전에, 상기 그루핑할 블록의 개수를 산출하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  3. 제 1항에 있어서,
    상기 소정의 값은 미리 약속된 값 또는 하위 계층에서 예측한 결과를 포함하는, 비디오 신호 인코딩 방법.
  4. 제 1항에 있어서,
    상기 그룹별 심볼을 생성하는 단계는, 상기 그루핑된 블록들의 심볼에 대해 하나의 패스비트를 설정하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  5. 제 1항에 있어서,
    상기 그룹별 심볼을 생성하는 단계는 상기 그루핑된 블록들의 심볼 각각에 대해 패스비트를 설정하는 단계를 포함하며,
    상기 그룹별 심볼을 부호화하는 단계는 상기 심볼 각각에 대해 설정된 패스비트들에 대해 RLC를 수행하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  6. 제 1항에 있어서,
    상기 소정의 값은 CBP의 값이 0인 것을 포함하며,
    상기 그룹별 심볼을 생성하는 단계는 상기 둘 이상의 블록에 포함된 CBP가 0인 경우, 상기 그루핑된 블록들에 대한 패스비트를 설정하는 단계를 포함하며,
    상기 그룹별 심볼을 부호화하는 단계는 상기 둘 이상의 블록의 CBP 값을 부호화하지않고 스킵하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  7. 제 1항에 있어서,
    상기 소정의 값은 residual_prediction_flag의 값이 1인 것을 포함하며, 상기 그룹별 심볼을 생성하는 단계는 상기 둘 이상의 블록에 포함된 심볼의 residual_prediction_flag의 값이 1인 경우, 상기 그루핑된 블록들에 대한 패스비트를 설정하는 단계를 포함하며,
    상기 그룹별 심볼을 부호화하는 단계는 상기 둘 이상의 블록의 residual_prediction_flag의 값을 부호화하지않고 스킵하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  8. 제 1항에 있어서,
    상기 그루핑될 블록의 개수 또는 상기 그룹별 심볼의 생성 방식에 대한 정보를 상기 블록들이 포함되는 슬라이스 또는 프레임의 헤더에 포함시키는 단계를 포함하는, 비디오 신호 인코딩 방법.
  9. 제 1항에 있어서,
    상기 그루핑 심볼을 생성하는 단계는,
    상기 둘 이상의 블록에 포함된 심볼이 상기 소정의 값인 경우 상기 심볼을 부호화하지 않고 스킵하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  10. 제 9항에 있어서,
    상기 그루핑 심볼을 생성하는 단계는,
    상기 그루핑하는 단계에서 그루핑 되지 않는 블록과 상기 그루핑하는 단계에서 그루핑된 블록을 구분짓도록 패스비트를 설정하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  11. 제 9항에 있어서,
    상기 그루핑 심볼을 생성하는 단계는,
    미리 약속된 개수의 블록들의 심볼이 상기 소정의 값을 포함하는 경우 상기 블록을 그루핑하는 단계를 포함하는, 비디오 신호 인코딩 방법.
  12. 다계층 비디오 신호를 구성하는 블록을 복호화하는 방법에 있어서,
    소정의 값과 동일한 심볼을 가지는 블록을 그루핑한 정보를 추출하는 단계;
    상기 추출한 정보에 따라, 상기 비디오 신호를 구성하는 블록의 부호화 여부를 판단하는 단계; 및
    상기 판단한 결과에 따라 상기 소정의 값을 추출하여 상기 블록을 복호화하는 단계를 포함하는, 비디오 신호 디코딩 방법.
  13. 제 12항에 있어서,
    상기 그루핑한 정보를 추출하는 단계는 상기 블록들이 포함된 슬라이스 또는 프레임의 헤더에서 상기 그루핑될 블록의 개수 또는 상기 그룹별 심볼의 생성 방식에 대한 정보를 추출하는 단계를 포함하는, 비디오 신호 디코딩 방법.
  14. 제 12항에 있어서,
    상기 소정의 값은 미리 약속된 값 또는 하위 계층에서 예측한 결과를 포함하는, 비디오 신호 디코딩 방법.
  15. 제 12항에 있어서,
    상기 블록의 부호화 여부를 판단하는 단계는 상기 그루핑된 블록들의 심볼에 대해 설정된 하나의 패스비트를 사용하여 판단하는 단계를 포함하는, 비디오 신호 디코딩 방법.
  16. 제 12항에 있어서,
    상기 블록의 부호화 여부를 판단하는 단계는 RLC를 사용하여 상기 그루핑된 블록들의 심볼 각각에 대해 설정된 패스비트를 추출하는 단계; 및
    상기 추출된 패트비트를 사용하여 상기 그루핑된 블록들의 심볼 각각에 대해 부호화 여부를 판단하는 단계를 포함하는, 비디오 신호 디코딩 방법.
  17. 제 12항에 있어서,
    상기 소정의 값은 CBP의 값이 0인 것을 포함하며,
    상기 블록을 복호화하는 단계는
    상기 그루핑한 정보를 사용하여 블록이 상기 소정의 값과 동일한 심볼을 가지는 경우 상기 블록의 심볼에 대해 디코딩 과정 없이 상기 블록의 CBP값을 0으로 설정하는 단계를 포함하는, 비디오 신호 디코딩 방법.
  18. 제 12항에 있어서,
    상기 소정의 값은 residual_prediction_flag의 값이 1인 것을 포함하며,
    상기 블록을 복호화하는 단계는 상기 그루핑한 정보를 사용하여 블록이 상기 소정의 값과 동일한 심볼을 가지는 경우 상기 블록의 심볼에 대해 디코딩 과정 없 이 상기 블록의 하위 계층의 잔차 에너지를 사용하여 상기 블록을 복호화하는 단계를 포함하는, 비디오 신호 디코딩 방법.
  19. 소정의 값과 동일한 값의 심볼을 가지는 둘 이상의 블록을 그루핑하는 방식을 결정하는 그루핑 결정부;
    상기 그루핑된 블록들의 정보를 나타내는 그룹별 심볼을 패스비트 설정부; 및
    상기 그룹별 심볼을 부호화하는 심볼 인코딩부를 포함하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  20. 제 19항에 있어서,
    상기 그루핑 결정부는 상기 그루핑할 블록의 개수를 산출하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  21. 제 19항에 있어서,
    상기 소정의 값은 미리 약속된 값 또는 하위 계층에서 예측한 결과를 포함하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  22. 제 19항에 있어서,
    상기 패스비트 설정부는 상기 그루핑된 블록들의 심볼에 대해 하나의 패스비 트를 설정하는 단계를 포함하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  23. 제 19항에 있어서,
    상기 패스비트 설정부는 상기 그루핑된 블록들의 심볼 각각에 대해 패스비트를 설정하는 단계를 포함하며,
    상기 심볼 인코딩부는 상기 심볼 각각에 대해 설정된 패스비트들에 대해 RLC를 수행하는 단계를 포함하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  24. 제 19항에 있어서,
    상기 소정의 값은 CBP의 값이 0인 것을 포함하며,
    상기 패스비트 설정부는 상기 둘 이상의 블록에 포함된 CBP가 0인 경우, 상기 그루핑된 블록들에 대한 패스비트를 설정하며
    상기 심볼 인코딩부는 상기 둘 이상의 블록의 CBP 값을 부호화하지않고 스킵하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  25. 제 19항에 있어서,
    상기 소정의 값은 residual_prediction_flag의 값이 1인 것을 포함하며,
    상기 패스비트 설정부는 상기 둘 이상의 블록에 포함된 심볼의 residual_prediction_flag의 값이 1인 경우, 상기 그루핑된 블록들에 대한 패스비트를 설정하며
    상기 심볼 인코딩부는 상기 둘 이상의 블록의 residual_prediction_flag의 값을 부호화하지않고 스킵하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  26. 제 19항에 있어서,
    상기 심볼 인코딩부는 상기 그루핑될 블록의 개수 또는 상기 그룹별 심볼의 생성 방식에 대한 정보를 상기 블록들이 포함되는 슬라이스 또는 프레임의 헤더에 포함시키는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  27. 제 19항에 있어서,
    상기 심볼 인코딩부는 상기 둘 이상의 블록에 포함된 심볼이 상기 소정의 값인 경우 상기 심볼을 부호화하지 않고 스킵하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  28. 제 27항에 있어서,
    상기 패스비트 설정부는 그루핑 되지 않는 블록과 그루핑 된 블록을 구분짓도록 패스비트를 설정하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  29. 제 17항에 있어서,
    상기 패스비트 설정부는 미리 약속된 개수의 블록들의 심볼이 상기 소정의 값을 포함하는 경우 상기 블록을 그루핑하도록 패스비트를 설정하는, 다계층 비디오 신호를 구성하는 블록을 부호화하는 비디오 인코더.
  30. 소정의 값과 동일한 심볼을 가지는 블록을 그루핑한 정보를 추출하는 그루핑 정보 추출부;
    상기 추출한 정보에 따라, 상기 비디오 신호를 구성하는 블록의 부호화 여부를 판단하는 패스비트 판단부; 및
    상기 판단한 결과에 따라 상기 소정의 값을 추출하여 상기 블록을 복호화하는 심볼 생성부를 포함하는, 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더.
  31. 제 30항에 있어서,
    상기 그루핑 정보 추출부는, 상기 블록들이 포함된 슬라이스 또는 프레임의 헤더에서 상기 그루핑될 블록의 개수 또는 상기 그룹별 심볼의 생성 방식에 대한 정보를 추출하는, 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더.
  32. 제 30항에 있어서,
    상기 소정의 값은 미리 약속된 값 또는 하위 계층에서 예측한 결과를 포함하는, 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더.
  33. 제 30항에 있어서,
    상기 패스비트 판단부는, 상기 그루핑된 블록들의 심볼에 대해 설정된 하나의 패스비트를 사용하여 판단하는, 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더.
  34. 제 30항에 있어서,
    상기 패스비트 판단부는, RLC를 사용하여 상기 그루핑된 블록들의 심볼 각각에 대해 설정된 패스비트를 추출하며, 상기 추출된 패트비트를 사용하여 상기 그루핑된 블록들의 심볼 각각에 대해 부호화 여부를 판단하는, 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더.
  35. 제 30항에 있어서,
    상기 소정의 값은 CBP의 값이 0인 것을 포함하며,
    상기 심볼 생성부는, 상기 그루핑한 정보를 사용하여 블록이 상기 소정의 값과 동일한 심볼을 가지는 경우 상기 블록의 심볼에 대해 디코딩 과정 없이 상기 블록의 CBP값을 0으로 설정하는, 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더.
  36. 제 30항에 있어서,
    상기 소정의 값은 residual_prediction_flag의 값이 1인 것을 포함하며,
    상기 심볼 생성부는 상기 그루핑한 정보를 사용하여 블록이 상기 소정의 값과 동일한 심볼을 가지는 경우 상기 블록의 심볼에 대해 디코딩 과정 없이 상기 블록의 하위 계층의 잔차 에너지를 사용하여 상기 블록을 복호화하는, 다계층 비디오 신호를 구성하는 블록을 복호화하는 비디오 디코더.
KR1020060031650A 2005-12-12 2006-04-06 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치 KR100736096B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP06823880A EP1961235A4 (en) 2005-12-12 2006-12-04 METHOD AND DEVICE FOR ENCODING AND DECODING VIDEO SIGNALS FROM GROUPS
JP2008545478A JP4837047B2 (ja) 2005-12-12 2006-12-04 ビデオ信号をグループ別にエンコーディングおよびデコーディングする方法および装置
PCT/KR2006/005172 WO2007069829A1 (en) 2005-12-12 2006-12-04 Method and apparatus for encoding and decoding video signals on group basis
CN2006800525874A CN101366282B (zh) 2005-12-12 2006-12-04 用于以组为基础编码和解码视频信号的方法和设备
US11/637,074 US20070133677A1 (en) 2005-12-12 2006-12-12 Method and apparatus for encoding and decoding video signals on group basis

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74906505P 2005-12-12 2005-12-12
US60/749,065 2005-12-12

Publications (2)

Publication Number Publication Date
KR20070062393A true KR20070062393A (ko) 2007-06-15
KR100736096B1 KR100736096B1 (ko) 2007-07-06

Family

ID=38357894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060031650A KR100736096B1 (ko) 2005-12-12 2006-04-06 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치

Country Status (6)

Country Link
US (1) US20070133677A1 (ko)
EP (1) EP1961235A4 (ko)
JP (1) JP4837047B2 (ko)
KR (1) KR100736096B1 (ko)
CN (1) CN101366282B (ko)
WO (1) WO2007069829A1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100960008B1 (ko) * 2008-02-20 2010-05-28 (주)휴맥스 결정 적응 비트를 이용한 부호화/복호화 방법 및 장치
KR100968675B1 (ko) * 2007-09-17 2010-07-06 엔비디아 코포레이션 Jpeg 어플리케이션의 가변 길이 코드 디코딩
KR20110011496A (ko) * 2009-07-28 2011-02-08 삼성전자주식회사 스킵 모드에 따라 영상을 부호화, 복호화하는 방법 및 장치
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
KR101381602B1 (ko) * 2007-09-17 2014-04-04 삼성전자주식회사 계층적 부호화 및 복호화 방법 및 장치
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US9621899B2 (en) 2009-09-17 2017-04-11 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding mode information

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5624218B2 (ja) * 2010-09-30 2014-11-12 サムスン エレクトロニクスカンパニー リミテッド 階層的構造のシンボルを符号化するビデオ符号化方法及びその装置、階層的構造のシンボルを復号化するビデオ復号化方法及びその装置
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3474005B2 (ja) * 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
JP3415319B2 (ja) * 1995-03-10 2003-06-09 株式会社東芝 動画像符号化装置及び動画像符号化方法
US6535558B1 (en) * 1997-01-24 2003-03-18 Sony Corporation Picture signal encoding method and apparatus, picture signal decoding method and apparatus and recording medium
KR100281321B1 (ko) * 1998-03-26 2001-02-01 전주범 적응적인 산술 부호화 및 그 복호화 방법
KR100317279B1 (ko) * 1998-11-04 2002-01-15 구자홍 무손실부호화방법및장치
KR100327412B1 (ko) * 1999-08-02 2002-03-13 서평원 에러 정정을 위한 영상 부호화 및 복호화 방법
US6859500B2 (en) * 2001-03-20 2005-02-22 Telefonaktiebolaget Lm Ericsson Run-length coding of non-coded macroblocks
US7929610B2 (en) * 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
KR20040036948A (ko) * 2001-09-18 2004-05-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 부호화 및 복호 방법과, 대응하는 신호
JP2003125408A (ja) * 2001-10-15 2003-04-25 Nippon Telegr & Teleph Corp <Ntt> 画像符号化装置、画像復号装置並びにその方法及び画像符号化プログラム、画像復号プログラム
AU2002351389A1 (en) * 2001-12-17 2003-06-30 Microsoft Corporation Skip macroblock coding
US7769084B1 (en) * 2002-07-15 2010-08-03 Apple Inc. Method for implementing a quantizer in a multimedia compression and encoding system
KR100906473B1 (ko) * 2002-07-18 2009-07-08 삼성전자주식회사 개선된 움직임 벡터 부호화 및 복호화 방법과 그 장치
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
KR100561464B1 (ko) * 2003-07-29 2006-03-16 삼성전자주식회사 가변장 부호화 장치 및 방법
KR100612015B1 (ko) * 2004-07-22 2006-08-11 삼성전자주식회사 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치
JP4515870B2 (ja) * 2004-09-24 2010-08-04 パナソニック株式会社 信号処理装置及び映像システム
US20070053425A1 (en) * 2005-07-21 2007-03-08 Nokia Corporation Variable length codes for scalable video coding

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
KR100968675B1 (ko) * 2007-09-17 2010-07-06 엔비디아 코포레이션 Jpeg 어플리케이션의 가변 길이 코드 디코딩
KR101381602B1 (ko) * 2007-09-17 2014-04-04 삼성전자주식회사 계층적 부호화 및 복호화 방법 및 장치
KR100960008B1 (ko) * 2008-02-20 2010-05-28 (주)휴맥스 결정 적응 비트를 이용한 부호화/복호화 방법 및 장치
KR20110011496A (ko) * 2009-07-28 2011-02-08 삼성전자주식회사 스킵 모드에 따라 영상을 부호화, 복호화하는 방법 및 장치
US9621899B2 (en) 2009-09-17 2017-04-11 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding mode information

Also Published As

Publication number Publication date
JP4837047B2 (ja) 2011-12-14
KR100736096B1 (ko) 2007-07-06
WO2007069829A1 (en) 2007-06-21
CN101366282A (zh) 2009-02-11
EP1961235A4 (en) 2011-03-30
US20070133677A1 (en) 2007-06-14
JP2009518992A (ja) 2009-05-07
EP1961235A1 (en) 2008-08-27
CN101366282B (zh) 2011-01-26

Similar Documents

Publication Publication Date Title
KR100736096B1 (ko) 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치
KR100809298B1 (ko) 플래그 인코딩 방법, 플래그 디코딩 방법, 및 상기 방법을이용한 장치
KR100809301B1 (ko) 엔트로피 부호화/복호화 방법 및 장치
KR100763196B1 (ko) 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
KR100636229B1 (ko) 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
KR101041973B1 (ko) 플래그 부호화 방법, 플래그 복호화 방법, 및 상기 방법을이용한 장치
JP2015180086A (ja) 大きいサイズの変換単位を利用した映像符号化、復号化方法及び装置
US7348903B2 (en) Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method
KR20070027422A (ko) 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
US20070177664A1 (en) Entropy encoding/decoding method and apparatus
US20070071088A1 (en) Method and apparatus for entropy encoding and entropy decoding fine-granularity scalability layer video data
KR100714706B1 (ko) 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
KR100772870B1 (ko) Fgs 계층의 블록에 포함되는 계수의 특성에 따라 비디오신호를 부호화하고 복호화하는 방법 및 장치
WO2007035070A1 (en) Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method
KR100834757B1 (ko) 엔트로피 부호화 효율을 향상시키는 방법 및 그 방법을이용한 비디오 인코더 및 비디오 디코더
KR20100089546A (ko) 단계적인 영상 부호화, 복호화 방법 및 장치
KR100763192B1 (ko) Fgs 계층의 비디오 데이터를 엔트로피 부호화 및복호화하는 방법 및 장치

Legal Events

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

Payment date: 20130530

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee