KR20070100083A - 영상 데이터를 코딩/디코딩하기 위한 기준값들을 제공하는방법 및 장치 - Google Patents

영상 데이터를 코딩/디코딩하기 위한 기준값들을 제공하는방법 및 장치 Download PDF

Info

Publication number
KR20070100083A
KR20070100083A KR1020060079804A KR20060079804A KR20070100083A KR 20070100083 A KR20070100083 A KR 20070100083A KR 1020060079804 A KR1020060079804 A KR 1020060079804A KR 20060079804 A KR20060079804 A KR 20060079804A KR 20070100083 A KR20070100083 A KR 20070100083A
Authority
KR
South Korea
Prior art keywords
data
information
block
coding
size
Prior art date
Application number
KR1020060079804A
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 엘지전자 주식회사
Publication of KR20070100083A publication Critical patent/KR20070100083A/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/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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability

Landscapes

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

Abstract

본 발명은, 영상신호의 엔코딩과정에서 얻어지는 SNR 인핸스먼트 데이터의 코딩에 관한 것으로서, 본 발명에 의한 데이터 코딩방법은, SNR 개선을 위한 데이터를 갖는 레이어에 속하는 픽처내의 각 블록내의 데이터를 코딩하는 데 근거가 되는 값들의 집합인 VLC 선택자 정보에 대한 크기를 결정하고, 그 결정된 크기를 갖는 상기 VLC 선택자 정보를, 예를 들어 1차원으로 구성한 후, 코딩된 각 블록의 데이터와 함께 상기 구성된 VLC 선택자 정보 및 상기 결정된 크기에 대한 정보를 디코더단에 제공한다.
스케일러블, 블록, 코딩, 선택자, 크기, VLC, Significance, FGS

Description

영상 데이터를 코딩/디코딩하기 위한 기준값들을 제공하는 방법 및 장치 {Method and apparatus for providing base values for coding/decoding video data}
도 1a는 영상신호를 엔코딩하는 장치를 FGS (Fine Grained Scalability) 데이터의 코딩을 중심으로 간략하게 도시한 것이고,
도 1b는 FGS 데이터를 갖는 픽처를 코딩하는 과정을 예시한 것이고,
도 1c는 FGS 데이터의 주요(significance) 데이터를 코딩하는 데 사용되는 VLC 선택자 어레이를 나타낸 것이고,
도 1d는 주요 데이터를 코딩하는 데 사용되는 코드북(codebook)의 예를 나타낸 것이고,
도 2는, 본 발명에 따라 영상신호를 엔코딩하는 장치를 FGS 데이터의 코딩을 중심으로 간략하게 도시한 것이고,
도 3a는 본 발명의 일 실시예에 따라 구성되는 VLC 선택자 정보의 구조를 예시한 것이고,
도 3b는 본 발명의 일 실시예에 따라 VLC 선택 관련 정보를 코딩/디코딩하는 신택스를 예시한 것이고,
도 4는 주요 데이터를 코딩하는 과정을 예시한 것이고,
도 5a 및 5b는, 본 발명의 다른 실시예에 따라 구성되는 VLC 선택자 정보의 유형을 지시하는 정보의 예를 각각 나타낸 것이고,
도 6은 도 2a의 장치에 의해 엔코딩된 데이터 스트림을 디코딩하는 장치의 구성을 간략하게 도시한 것이다.
<도면의 주요부분에 대한 부호의 설명>
11: 역양자화기 12: 역변환기
13,230: FGS 코더 13a,23: 주요경로 코딩부
13b: 미세경로 코딩부 610: FGS 디코더
611: 주요경로 디코딩부 612: 미세경로 디코딩부
본 발명은, 영상신호를 SNR 스케일러블(scalable)하게 코딩하고 또한 코딩된 데이터를 디코딩하는 데 사용되는 기준 정보를 제공하는 기술에 관한 것이다.
영상신호를 스케일러블(Scalable) 방식으로 엔코딩하는 엔코딩 장치는, 수신되는 영상신호의 각 프레임에 대해서 모션추정 및 예측동작에 의해 엔코딩된 데이 터에 대해 변환코딩, 예를 들어 DCT와 양자화(quantization)과정을 수행하는 데, 양자화과정에서 정보의 손실이 발생하게 된다. 따라서, 엔코딩 장치는, 도 1a에 도시된 바와 같이, 역양자화(11)와 역변환(12)을 수행하여, 엔코딩된 데이터와의 차( 엔코딩시에 발생된 에러를 보상하는 데이터 )를 구하고 그 차에 대해서 DCT변환과 양자화를 수행하여 DCT 도메인의 SNR 인핸스먼트 레이어 데이터(D10)로서 생성한다. 이와 같이 SNR 인핸스먼트 레이어의 데이터를 SNR 개선을 위해 제공함으로써 SNR 인핸스먼트 레이어의 데이터의 디코딩 레벨을 증가시킴에 따라 화질이 점진적으로 좋아질 수 있게 하는 데, 이를 FGS(Fine Grained Scalability)라 한다. 그리고, SNR 인핸스먼트 레이어 데이터에 대해서 도 1a의 FGS 코더(13)가 데이터 스트림으로 변환하기 위한 코딩을 행하는 데, 주요(significance) 데이터 경로( 이하, '주요경로'로 약칭한다. )와 미세(refinement) 데이터 경로( 이하, '미세경로'로 약칭한다. )로 구분하여 코딩한다. 주요 경로에서는 SNR 베이스 레이어상의 대응위치(co-located) 데이터가 0값을 갖는 SNR 인핸스먼트 레이어의 데이터가 코딩되고, 미세 경로에서는 SNR 베이스 레이어상의 대응위치 데이터가 0이 아닌 값을 갖는 SNR 인핸스먼트 레이어의 데이터가 코딩된다.
도 1b는 상기 주요 경로상의 주요경로 코딩부(13a)에서 데이터가 코딩되는 과정을 예시한 것으로서, 한 픽처에 속하는 SNR 인핸스먼트 레이어 데이터에 대해, 매 사이클(cycle)마다, 도 1b에 예시된 선택순서(101)에 따라 4x4의 각 블록을 선택하면서 해당 블록에서 0이 아닌 데이터( 주요(significance) 데이터(103a) )를 만날때까지 정해진 지그재그(zigzag) 스캐닝 경로(102)에 따라 읽혀지는, 미세 데 이터(103b)를 배제한 데이터를 나열한 데이터 스트림을 구한다. 이 데이터 스트림에 대해서는, 0의 런(run) 수를 특정한 방식, 예를 들어 S3 코드로 코딩한다. 0이 아닌 데이터에 대해서는 이후에 별도의 다른 방식으로 코딩하게 된다.
S3 코드로 코딩하기 위해서는, 상기 주요경로 코딩부(13a)는 도 1b의 4x4 블록에 대해서는 16x16, 그리고 8x8 블록에 대해서는 64x64 크기의 VLC (Variable Length Coding) 선택자(selector) 어레이를 슬라이스(slice)별로 또는 레이어별로 구비한다. 도 1c는 16x16의 VLC 선택자 어레이를 예시한 것으로서, 어레이내에는, 디코더에 기 알려져 있는 코드북들중에서 하나를 지시하는 값들이 기록된다. 각 코드북은 도 1d에 예시된 바와 같이, 컷오프(cutoff)값에 따라 절단(truncated) 단향(unary) 코드와 첨수(suffix)가 결합된 코드워드(codeword) 군을 포함하고 있다.
도 1c의 2차원 VLC 선택자 어레이내의 각 원소(a[i,j])는, 각 사이클에서 시작되는 블록상에서의 스캔시작점(i=ScanIndex)과 현재 블록이 속한 레이어의 하위 레이어( 베이스 레이어 또는 SNR 베이스 레이어 )상의 대응되는 블록상에서의 마지막 비제로(non-zero) 데이터의 위치(j=BaseLastIndex)에 의해 선택된다. 따라서, 상기 주요경로 코딩부(13a)는 임의의 한 블록을 스캐닝할 때, 그 블록상에서 현재 사이클에서 시작되는 스캐닝위치(i1)와 하위 레이어의 대응되는 블록에서 마지막 비제로 데이터의 위치(j1)가 파악되면 상기 VLC 선택자 어레이에서 a[i1,j1]의 값이 지정하는 코드북에서, 스캐닝경로상에서 다음 비제로 데이터까지의 0의 런 수에 해당하는 코드워드를 읽어서 (또는 코드워드 작성방법에 따라 만들어서) 코딩된 데이터로 출력하게 된다.
상기 주요경로 코딩부(13a)에서 데이터 코딩을 위해 구비되는 VLC 선택자 어레이는 디코더단에 전달되어야, 전술한 바와 같이 코딩된 데이터를 코딩전 데이터로 복원해낼 수 있다. 그런데, VLC 선택자 어레이를 매 슬라이스별로 가변할 수 있도록 하는 경우에는 매 슬라이스마다 VLC 선택자 어레이를 디코더단에 전달하여야 하므로 영상 데이터에 대한 오버헤드(overhead)가 적지 않다. VLC 선택자 어레이에 의해 발생되는 오버헤드를 감소시키기 위해서 도 1c의 어레이내의 각 원소는 첫번째 열과 각 행에 있어서 단조증가(monotonic increasing)하는 값을 갖도록 정해진다. 이는 원소의 값들을 런렝스(run length) 코딩함으로써 실제 전송되는 양을 조금이나마 축소하기 위해서이다.
본 발명의 일 목적은, 데이터 코딩을 위한 기준이 되는 데이터의 양을 축소하여 제공하는 것이다.
본 발명의 다른 목적은, 데이터 코딩을 위한 기준이 되는 데이터를 제공함에 있어서 유연성(flexibility)을 확보하는 것이다.
또한 본 발명은, 상기의 목적에 따라 그 양이 축소된 또는 유연성이 보다 확보되는, 데이터 코딩을 위한 기준이 되는 데이터를 데이터 디코딩에 사용하는 방법 및 장치를 제공하는 데 또 다른 목적이 있다.
본 발명에 따른 FGS 데이터 코딩의 일 방법은, FGS 데이터를 갖는 레이어의 임의 픽처내의 각 블록의 데이터를 코딩하는 데 근거가 되는 값들의 집합인 선택자 정보에 대한 크기를 결정하고, 그 결정된 크기를 갖는 상기 선택자 정보를 구성한 후, 상기 각 블록의 코딩된 데이터와 함께 상기 구성된 선택자 정보 및 상기 결정된 크기에 대한 정보를, 전송하는 스트림에 포함시킨다.
본 발명에 따른 일 실시예에서는, 상기 선택자 정보를 1차원으로 구성한다.
상기 선택자 정보를 1차원으로 구성하는 실시예에서는, 상기 구성된 선택자 정보에서 데이터 코딩을 위해 사용되는 하나의 원소가 선택되는 기준은, 블록내의 데이터의 코딩과정에서 현재 스캔시작하는 위치의 스캔경로상의 순서이다.
본 발명에 따른 다른 일 실시예에서는, 상기 선택자 정보를 2차원으로 구성한다.
본 발명에 따른 일 실시예에서는, 상기 선택자 정보에 대해 크기를 가변하여 사용한다.
본 발명의 따른 다른 일 실시예에서는, 상기 선택자 정보에 대해 고정된 크기를 사용한다.
이하, 본 발명의 실시예들에 대해 첨부도면을 참조하여 상세히 설명한다.
도 2는 본 발명에 따른 코딩방법을 수행하는 엔코딩 장치의 구성을 도시한 것으로서, 도시된 엔코더(210)는, 입력되는 신호를 엔코딩하여 SNR 베이스 레이어 데이터와 SNR 인핸스먼트 레이어 데이터( FGS 데이터 )를 생성한다. SNR 베이스 레이 어 데이터의 생성은 본 발명과 무관하므로 그에 대한 설명은 생략하며, FGS 데이터의 생성은 다음과 같은 방식으로 이루어진다.
상기 엔코더(210)는, 먼저 엔코딩된 SNR 베이스 레이어 데이터에 대해서 역양자화(11)와 역변환(12)을 수행하여( 필요한 경우에는 역변환된 데이터를 확대하여 ), 엔코딩된 데이터와의 차( 엔코딩시에 발생된 에러를 보상하는 데이터 )를 구한다. 그와 같이 구해진 데이터에 대해서 DCT 변환과 양자화를 차례대로 수행하여 DCT 도메인의 FGS 데이터를 생성하여 후단의 FGS 코더(230)에 인가한다.
상기 FGS 코더(230)내의 주요경로 코딩부(23)는 하기에서 설명하는, VLC 선택자 정보를 사용하여 FGS 코딩방법을 수행하기 위해, 특별히 VLC 선택 관련 정보(23a)를 관리한다. 이 정보(23a)는 VLC 선택자 정보, 즉 컷오프 값들 및/또는 VLC 선택자의 유형 정보 등을 포함한다. 도 2의 장치에서 인코딩된 SNR 베이스 데이터에 대해서도 스트림 전송을 위한 적절한 코딩과정이 수행되나, 그 과정은 본 발명과 직접적인 관련이 없으므로 도면상에서의 구성 및 그에 대한 설명은 생략한다.
도 2의 주요경로 코딩부(23)는 하나의 픽처( 이는, 프레임 또는 슬라이스(slice) 등일 수 있다. )를 도 1b에서 설명한 방식대로 4x4의 블록을 차례대로 선택하여, 하기에서 설명하는 각 실시예의 방식에 따라 데이터를 코딩하고 VLC 선택 관련 정보도 구성한다. 물론, 하기에서 설명하는 방식은, 도 1b에서 설명한 방식이 아닌 다른 방식으로 블록의 선택순서를 사용하는 경우에도, 각 블록에 대해서는 적용될 수 있으므로, 본 발명은 블록의 선택순서에 의해 제한되는 것은 아니다. 또한, 하기에서 설명하는 각 실시예의 방식은, 픽처의 데이터가 휘도(luminance) 성분뿐만 아니라 색상(chrominance) 성분의 경우에도 적용될 수 있다.
먼저, 본 발명에 따른 일 실시예에서는, 도 3a에 예시된 바와 같이, 상기 VLC 선택자 정보를 1차원으로 구성하고, 상기 VLC 선택자의 유형정보로서 상기 VLC 선택자 정보(a[])의 크기를 나타내는 변수(VLC_selector_size)를 사용한다. 그리고 VLC 선택자 정보의 각 원소(a[i])에는, 현재 코딩하는 블록의 현재 사이클에서 스캔하는 시작위치(ScanIndex)에 적절한, 기 구비되어 있는 코드북들 중 하나를 지시하는 지시값( 예를 들어, S3 코드의 컷오프 값 )을 기록한다. 그리고 본 발명에 따라 VLC 선택자 정보의 양이 축소되었으므로, 코딩율을 높이기 위해 VLC 선택자 정보의 각 원소(a[i])들을 반드시 단조 증가하는 값들로 구성할 필요는 없다. 즉, a[j]가 a[i]( j>i 의 경우 )보다 반드시 같거나 크게 할 필요는 없다. 임의 블록에 있는 데이터에 대한 코딩방법에 대해서는 후술한다. 상기 주요경로 코딩부(23)가 VLC 선택자 정보의 각 원소의 값을 결정하여 기록할 수도 있으나, 적절한 원소의 값을 갖는 VLC 선택자 정보가 하기의 방법에 따라 기 작성되어 상기 주요경로 코딩부(23)에 제공될 수도 있다.
상기 크기 변수(VLC_selector_size)는 16으로 고정되지 않고 그 보다 작은 값을 가질 수도 있다. 이는 상기 VLC 선택 관련 정보를 각 슬라이스마다 전송하는 경우에, 특정 슬라이스에 속하는 모든 블록에서의 마지막 스캔 시작위치가 15보다 작은 경우에 발생할 수 있다.
상기 주요경로 코딩부(23)는 상기 VLC 선택자 정보와 그 정보의 크기 변수를 도 3b에서 예시된 신택스(syntax)에 따라 코딩한다. 먼저, 기본적으로 4x4 블록에 대해서 16개의 스캔 시작위치가 존재할 수 있으므로 16개의 원소를 갖는 VLC 선택자 정보(VLC_selector[])를 초기화한다. 그리고, 현재 슬라이스에 대한 VLC 선택자 정보의 각 원소에, 각 블록의 스캔에 의해 읽혀지는 0의 런 수를 코딩할 때 사용할 또는 사용된 코드북의 지시값을, 예를 들어 절단 단향 코드로 코딩해 넣고(311), 또한 상기 VLC 선택자 정보의 크기를 지정하는 값도 또한 단향 코드로 코딩한다(312). VLC 선택자 정보의 크기 값은 고정된 크기(fixed length)를 갖도록 코딩된다. 상기와 같이 코딩된 VLC 선택 관련 정보( VLC 선택자 정보와 그 크기 정보 )는 슬라이스의 헤더( 매 슬라이스별로 VLC 선택자 정보를 달리하는 경우 ) 또는 레이어의 신택스 레벨 또는 그 이상 레벨의 헤더에 삽입되어 디코더단에 전송된다.
상기 도 3a 및 3b의 예는 4x4의 블록뿐만 아니라 8x8의 블록에 대해서도 적용할 수 있다. 이 때는 물론, 초기화하는 VLC 선택자 정보(VLC_selector[])의 범위는 0에서 63까지가 된다. 8x8 블록의 경우에도 데이터 위치에 따라 VLC 선택자 정보를 공유하게 함으로써 그 블록에 대한 VLC 선택자 정보의 크기를 4x4 블록의 경우에서와 같이 16으로 할 수도 있다.
본 발명에 따른 다른 일 실시예에서는, VLC 선택자 정보를 16원소를 갖는 고정크기의 1차원의 형태로 구성함으로써 VLC 선택자 정보의 크기 변수를 디코더단에 제공하지 않을 수도 있다.
임의 블록에 있는 데이터, 즉 DCT 도메인의 양자화된 계수들에 대해서는, 상기 주요경로 코딩부(23)가 다음에 설명하는 도 4에 예시된 과정에 따라 코딩한다. 도 4에 예시된 블록(401)은, 설명의 편의를 위해, SNR 베이스 레이어상에서 상기 블록(401)에 대응되는 블록은 비제로 데이터를 갖지 않고 있는 것으로 가정한다. 이는, 상기 블록(401)에 미세(refinement) 데이터가 없음을 의미하고, 비제로 계수( 채색된 위치의 계수 )는 곧 주요(significance) 데이터가 된다.
상기 주요경로 코딩부(23)는 매 사이클마다 이전 스캐닝이 중지된 위치에 이어서 지정된 지그재그 스캔경로를 따라 비제로 계수까지 스캐닝하여 0의 런수와 비제로 계수의 부호의 쌍(Run,Sign)을 저장한다(S41). 저장된 쌍들중 0의 런수에 대해서는 기 공지된 방법 중 하나의 방식에 따라 코딩한다. 이 때 물론, 앞서 구성된 VLC 선택자 정보(VLC_selector[])의 해당 원소( 시작 스캐닝 위치에 의해 지정되는 원소 )의 값에 따라 지정되는 코드북이 참조되어 0의 런수에 대한 코딩이 이루어진다.
상기와 같은 쌍(Run,Sign)들이 현재 블록에 대해 얻어지면 종단값(termination value)을 만들어서 상기 쌍들의 집합의 종단에 부가한다(S42). 종단값은 두개의 값이 결합될 수 있다. 예를 들어, 현재 블록에 있는 비제로 계수들중 가장 큰 절대값( 도 4의 예에서 6 )과 절대값이 1보다 큰 계수들의 수( 도 4의 예에서 5 )로써 종단값이 만들어질 수 있다.
다음으로, 상기 주요경로 코딩부(23)는 S41의 과정에서 얻어진 각 쌍들( 도 4의 예에서 7쌍 )에 대해 각각의 플래그를 설정하는 데(S43), 각 플래그는 각 쌍에 해당하는 비제로 계수의 절대값이 1보다 큰지 아닌지를 나타내는 값이다. 즉, 절대값이 1보다 크면 해당 플래그에 대해 1로 세트하고 그렇지 않으면 0으로 세트한다. 그리고, 플래그가 1로 설정된 계수들에 대해서 미세(refinement) 플래그 정보를 결정한다(S44). 이 미세 플래그 정보는 각 계수의 절대값에서 2를 차감한 값을 단향 코드화한 값이다. 즉, 계수의 절대값이 2이면 "0", 3이면 "10", 4면 "110", 5이면 "1110"과 같은 방식으로 코딩된다.
이하에서는, 본 발명에 따른 다른 일 실시예에 대해 설명한다. 본 실시예에서는, 상기 VLC 선택자 정보를 1차원 또는 2차원으로 구성할 수 있는 유연성이 제공된다. 이를 위해서 상기 VLC 선택자의 유형정보로서 형태 플래그(Shape_flag)를 설정하여 디코더단에 제공한다. 상기 형태 플래그 정보는, 도 5a에 예시된 바와 같이, VLC 선택자 정보가 16 (4x4 블록 또는 8x8 블록에 대해) 또는 64 (8x8 블록에 대해) 크기의 1차원인 경우에 예를 들어 1의 값으로 설정되고, VLC 선택자 정보가 16x16 또는 64x64의 크기를 갖는 2차원인 경우에는 예를 들어 0의 값으로 설정된다.
따라서 본 실시예에서는, 2차원의 VLC 선택자 정보를 사용하는 것이 유리한 경우에는 2차원의 VLC 선택자 정보와 함께 0으로 설정된 형태 플래그(Shape_flag)를 전송하고, 그렇지 않은 경우에는 1차원의 VLC 선택자 정보와 함께 1로 설정된 형태 플래그를 전송하게 된다. 물론, 1차원으로 전송하는 경우에는 VLC 선택 관련 정보의 양을 감소시킬 수 있다.
2차원의 VLC 선택자 정보를 사용하는 경우에는, 각 원소의 값은 앞서 설명한 스캔 시작위치(ScanIndex)외에 현재 블록에 대응되는 하위 레이어의 블록에서의 마지막 비제로 계수가 있는 위치(BaseLastIndex)에 의존하여 결정되고, 그 결정된 값 에 근거하여 스캔된 0의 런 수가 코딩된다.
그런데, 2차원의 VLC 선택자 정보를 사용하는 경우에도, 현재 슬라이스에 대응되는, 하위 레이어의 슬라이스에 속하는 모든 블록에서 마지막 비제로 계수의 위치가 특정위치, 예를 들어 인덱스 14의 위치( 4x4의 블록의 경우 )보다 앞선 위치에 존재할 수 있다. 이와 같은 경우에는 2차원의 VLC 선택자 정보의 크기를 16x16으로 하여 전송하는 것은 데이터의 코딩효율을 저하시킨다.
따라서, 본 발명에 따른 또 다른 실시예에서는, 2차원의 VLC 선택자 정보의 크기를 가변적으로 설정하고, 설정된 크기를 알리는 정보를 상기 VLC 선택자의 유형 정보로서 디코더단에 전송하게 된다.
본 실시예에서는, 상기 VLC 선택자의 유형정보가 선택자의 모드정보(Selector_mode)를 포함하며, 모드정보의 값에 따라 크기 변수(Selector_width,Selector_height)를 포함한다.
본 실시예에서 VLC 선택자의 모드정보는, 도 5b에 제시된 예에서와 같이, VLC 선택자 정보가 1차원이고 그 크기가 16일 때, 예를 들어 0의 값으로 지정되고, VLC 선택자 정보가 2차원이고 그 크기가 16x16일 때는, 예를 들어 1의 값으로 지정된다. 그리고, VLC 선택자 정보의 크기가 가변적일 때는, 예를 들어 2의 값으로 지정되고, 크기 정보는 행과 열의 크기변수, Selector_height와 Selector_width에 기입되어 디코더단에 제공된다.
도 5b의 예는 4x4의 블록에 대한 예로서 8x8의 블록의 경우에는 VLC 선택자 정보의 크기에 대한 지정된 값, 즉 16이 64로 대치되는 전제하에 그대로 적용될 수 있다.
그리고 VLC 선택자 정보의 각 원소{ 1차원으로 지정된 경우에는 VLC_selector[i], 2차원으로 지정된 경우에는 VLC_selector[i,j] }에는, 1차원의 VLC 선택자 정보가 지정된 경우에, 현재 코딩하는 블록의 현재 사이클에서 스캔하는 시작위치(ScanIndex)에 적절한, 그리고 2차원의 VLC 선택자 정보가 지정된 경우에는 현재 코딩하는 블록의 현재 사이클에서 스캔하는 시작위치(ScanIndex) 및 하위 레이어에서 현재 블록에 대응되는 블록상에서의 마지막 비제로 계수의 위치에 적절한, 기 구비되어 있는 코드북들 중 하나를 지시하는 컷오프 값을 기록한다. 임의 블록에 있는 데이터에 대한 코딩방법은 전술한 바와 같다.
전술한 실시예에서 제시된 VLC 선택 관련 정보( VLC 선택자 정보 및 형태 플래그/모드정보 등 )는, 앞서 언급한 바와 같이 슬라이스의 헤더( 매 슬라이스별로 VLC 선택자 정보를 달리하는 경우 ) 또는 레이어의 신택스 레벨 또는 그 이상 레벨의 헤더에 삽입되어 디코더단에 전송된다.
이하에서는, 상기와 같이 코딩된 데이터 스트림을 수신하는 디코딩 장치에서의 디코딩 방법에 대해서 설명한다.
도 6은 도 2의 장치에 의해 코딩되어 전송된 데이터 스트림을 디코딩하는 장치의 일 실시예의 블록도이다. 도 6의 장치에 수신되는 데이터 스트림은, 전단에서 적절한 복호화과정을 거쳐 압축이 해제된 데이터이다. 앞서 설명한 방식으로 코딩된 FGS 데이터의 스트림이 수신되면, FGS 디코더(610)내의 주요경로 디코딩부(611)는, 주요 데이터 스트림을 디코딩하여 각 픽처를 구성한다. 이 때, 슬라이스 헤더 또는 레이어의 헤더 등에 삽입되어 수신되는 VLC 선택 관련 정보를 수신 스트림으로부터 디코딩해내 자신의 내부 또는 임시 메모리에 저장한다(61a). 헤더에 대한 디코딩은 상기 주요경로 디코딩부(611)가 아닌 다른 프로세서에서 디코딩하여 상기 주요경로 디코딩부(611)에 제공할 수도 있다. 한편, 미세경로 디코딩부(612)는 미세 데이터 스트림을 디코딩하여 상기 각 픽처에 데이터를 보충함으로써 완전한 픽처가 구성되게 하는 데 이 미세 데이터 디코딩은 본 발명과 관련성이 없으므로 이에 대한 설명은 생략한다.
상기 주요경로 디코딩부(611)( 또는 별도의 프로세서( 미도시 ) )는 VLC 선택 관련 정보를 디코딩할 때는, 도 3a의 실시예의 경우에는, VLC 선택자 정보를 채울 공간, 예를 들어 16 원소에 해당하는 공간을 초기화시킨 후, VLC 선택자 정보의 크기변수(VLC_selector_size)에 대한 값을 먼저 추출한 후 그 값에 해당하는 만큼의 값들을 디코딩하여 상기 초기화된 공간에 채움으로써 VLC 선택자 정보(VLC_selector[])로 구성한다.
도 5a 및 5b의 실시예의 경우에도 마찬가지로 VLC 선택자 유형에 대한 정보(Shpae_flag 또는 Selector_mode)를 먼저 디코딩하고 그 디코딩된 정보에 근거하여 16, 16x16 또는 별도의 추출된 크기 변수에서 지정하는 nxm 개의 값들을 디코딩하여 1차원 또는 2차원의 VLC 선택자 정보로 구성한다.
이와 같이 VLC 선택자 정보가 구성되고 나면( 앞서 언급한 바와 같이, 이 구성된 VLC 선택자 정보의 원소값들은 단조 증가(monotonic increasing)하는 제약조건(constraint)을 반드시 만족하지는 않는다. ), 상기 주요경로 디코딩부(611)는, 현재 디코딩해낼, 즉 데이터를 채울 블록에서의 스캔 시작위치에 근거하여( 2차원으로 VLC 선택자 정보가 구성된 경우에는, 현재 디코딩해낼 블록에 대한 하위 레이어의 대응 블록( 이 블록은 앞서서 디코딩이 완료된다. )상의 마지막 비제로 계수의 위치에 추가로 근거하여 ), 상기 구성된 VLC 선택자 정보의 한 원소를 특정하여 그 원소의 값, 즉 어떠한 VLC를 사용하였는 지를 나타내는 지시값을 읽고 그 읽혀진 지시값에 의해 지정되는 기 구비되어 코드북상에서, 현재 디코딩할 스트림상의 위치에서부터의 비트열을 찾아서 그 비트열의 심볼(symbol)을 확인한다. 이와 같은 식으로 확인되는 심볼은, 그 블록상에서의 비제로 계수의 스캔경로상의 위치를 지시한다. 따라서, 그 위치까지 스캔경로를 따라 0을 채우게 된다. 그리고, 그 위치에 해당하는 계수의 실제값은 도 4에 의해 코딩되는 수신되는 플래그(S43에 의한) 또는 미세 플래그값(S44에 의한)으로부터 결정하여 해당 위치에 기록한다.
이러한 방식으로 임의의 한 슬라이스에 대한 모든 블록들의 주요 데이터에 대한 값이 디코딩된다. SNR 베이스 레이어의 대응 위치에 있는 값이 0이 아닌 경우에는( 즉, 해당 블록상에서 채울 위치가 미세 데이터에 해당하는 경우에는 ) 그 위치에 대해서는 상기 미세경로 디코딩부(612)에서 데이터를 채우게 된다.
VLC 선택자 정보가 매 슬라이스별로 지정되는 경우에는, 한 슬라이스에 대한 디코딩이 완료되면, 앞서 구성된 VLC 선택자 정보는, 디코딩되는 VLC 선택 관련 정보에 의해 갱신되어 사용된다.
상기에서 설명된 과정에 의해 FGS 데이터 스트림( 주요 데이터와 미세 데이터 )이 모두 DCT 도메인의 슬라이스들로 복원되어 후단의 디코더(620)에 전송된다. 상기 디코더(620)는, 각 SNR 인핸스먼트 프레임을 디코딩하기 위해서, 먼저 역양자화와 역변환(IDCT)을 수행한 후, 현재 프레임의 매크로 블록에 대해서, 그 매크로 블록의 레지듀얼 데이터에, 모션벡터에 의해 지시되는, 앞서서 디코딩된 기준블록의 데이터를 가산하여 현재 매크로 블록의 영상 데이터를 복원한다.
전술한 디코딩 장치는, 이동통신 단말기 등에 실장되거나 또는 기록매체를 재생하는 장치에 실장될 수 있다.
본 발명은 전술한 전형적인 바람직한 실시예에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다.
상기에서 제한된 실시예로써 상세히 설명된 본 발명은, 화질에 영향을 주지 않는 범위내에서 전송하는 데이터의 오버헤드를 감소시킴으로써 코딩효율을 향상시킨다.

Claims (21)

  1. SNR 개선을 위한 데이터 레이어에 대한 코딩방법에 있어서,
    상기 레이어의 임의 픽처내의 각 블록의 데이터를 코딩하는 데 근거가 되는 값들의 집합인 1차원의 선택자 정보에 대한 크기를 결정하는 1단계와,
    상기 결정된 크기를 갖는 1차원의 선택자 정보를 구성하는 2단계와,
    상기 각 블록내의 데이터의 코딩 후, 그 코딩된 데이터와 함께 상기 구성된 1차원의 선택자 정보 및 상기 결정된 크기에 대한 정보를, 전송하는 스트림에 포함시키는 3단계를 포함하여 이루어지는 방법.
  2. 제 1항에 있어서,
    상기 데이터의 코딩 과정은, 상기 구성된 선택자 정보에 근거하여, 상기 각 블록에 대해서 현재 스캔위치에서 지정된 스캔경로를 따라 0이 아닌 데이터가 있는 위치까지의 0의 런(run) 수를 코딩하는 과정을 포함하는 것인 방법.
  3. 제 2항에 있어서,
    상기 레이어의 베이스 레이어에서, 상기 0이 아닌 데이터가 있는 위치에 대응되는 위치의 값은 0인 것인 방법.
  4. 제 1항에 있어서,
    상기 구성된 선택자 정보에서 하나의 원소가 선택되는 기준은, 상기 각 블록내의 데이터의 코딩과정에서 현재 스캔시작하는 위치의 지정된 스캔경로상의 순서인 것인 방법.
  5. 제 1항에 있어서,
    상기 결정된 크기에 대한 정보는, 해당 블록의 크기가 4x4인 경우에 16이하의 값을 갖는 것인 방법.
  6. 제 1항에 있어서,
    상기 결정된 크기에 대한 정보는, 해당 블록의 크기가 8x8인 경우에 16이하의 값을 갖는 것인 방법.
  7. 제 1항에 있어서,
    상기 2단계에 의해 구성된 1차원의 선택자 정보는 단조 증가하는 제약조건(constraint)을 만족하지 않는 원소값들로 이루어진 것인 방법.
  8. 수신되는 SNR 개선을 위한 데이터 레이어에 대한 디코딩방법에 있어서,
    상기 수신되는 데이터 레이어에 속하는 임의 픽처내의 각 블록의 데이터를 코딩하는 데 근거가 된 값들의 집합인 선택자 정보의 크기정보를, 상기 수신되는 데이터 레이어에서 추출하는 1단계와,
    상기 추출된 크기정보가 지시하는 만큼, 상기 근거가 된 값들을 상기 수신되는 데이터 레이어에서 추출하여 1차원의 선택자 정보를 구성하는 2단계와,
    상기 구성된 1차원의 선택자 정보에 근거하여, 상기 수신되는 데이터 레이어내의 데이터를 각 블록의 코딩전 데이터로 디코딩하는 3단계를 포함하여 이루어지는 방법.
  9. 제 8항에 있어서,
    상기 디코딩은, 각 블록에 대해서, 상기 구성된 선택자 정보에 근거하여, 0의 런(run) 수를 나타내는 코딩값을 코딩전의 값으로 디코딩하고, 그 디코딩된 값으로부터 해당 블록에 대해서 0이 아닌 데이터가 있는 위치를 결정하는 과정을 포함하는 것인 방법.
  10. 제 9항에 있어서,
    상기 레이어의 베이스 레이어에서, 상기 0이 아닌 데이터가 있는 위치에 대응되는 위치의 값은 0인 것인 방법.
  11. 제 8항에 있어서,
    상기 3단계의 디코딩에서, 상기 구성된 선택자 정보에서 하나의 원소가 선택되는 기준은, 상기 각 블록의 디코딩과정에서 현재 스캔시작하는 위치의 지정된 스캔경로상의 순서인 것인 방법.
  12. 제 8항에 있어서,
    상기 추출된 크기정보는, 디코딩해낼 해당 블록의 크기가 4x4인 경우에 16이하의 값을 갖는 것인 방법.
  13. 제 8항에 있어서,
    상기 추출된 크기정보는, 디코딩해낼 해당 블록의 크기가 8x8인 경우에, 16이하의 값을 갖는 것인 방법.
  14. 제 8항에 있어서,
    상기 2단계전에, 구성할 1차원의 선택자 정보의 각 원소의 값을 초기화시키는 단계를 더 포함하여 이루어지는 것인 방법.
  15. 제 14항에 있어서,
    상기 초기화되는 선택자 정보의 크기는 16인 것인 방법.
  16. 제 8항에 있어서,
    상기 2단계에 의해 구성된 1차원의 선택자 정보는 단조 증가하는 제약조건(constraint)을 만족하지 않는 원소값들로 이루어진 것인 방법.
  17. 수신되는 SNR 개선을 위한 데이터 레이어에 대한 디코딩 장치에 있어서,
    상기 수신되는 데이터 레이어에 속하는 임의 픽처내의 각 블록의 데이터를 코딩하는 데 근거가 된 값들의 집합인 선택자 정보의 크기정보를, 상기 수신되는 데이터 레이어에서 추출하고, 그 추출된 크기정보가 지시하는 만큼, 상기 근거가 된 값들을 상기 수신되는 데이터 레이어에서 추출하여 1차원의 선택자 정보를 구성하는 프로세서와,
    상기 구성된 1차원의 선택자 정보에 근거하여, 상기 수신되는 데이터 레이어내의 데이터를 각 블록의 코딩전 데이터로 디코딩하는 디코더를 포함하여 구성되는 장치.
  18. 제 17항에 있어서,
    상기 디코더는, 각 블록에 대해서, 상기 구성된 선택자 정보에 근거하여, 0의 런(run) 수를 나타내는 코딩값을 코딩전의 값으로 디코딩하고, 그 디코딩된 값으로부터 해당 블록에 대해서 0이 아닌 데이터가 있는 위치를 결정하는 과정을 수행하는 것인 장치.
  19. 제 17항에 있어서,
    상기 디코더는, 상기 각 블록의 디코딩과정에서 현재 스캔시작하는 위치의 지정된 스캔경로상의 순서에 기준하여 상기 구성된 선택자 정보에서 하나의 원소를 선택하여 상기 디코딩에 사용하는 것인 장치.
  20. 제 17항에 있어서,
    상기 프로세서는, 상기 근거가 된 값들을 상기 수신되는 데이터 레이어에서 추출하여 선택자 정보를 구성하기 전에, 구성할 선택자 정보의 각 원소의 값을 초기화시키는 것인 장치.
  21. 제 20항에 있어서,
    상기 초기화되는 선택자 정보의 크기는 16인 것인 장치.
KR1020060079804A 2006-04-06 2006-08-23 영상 데이터를 코딩/디코딩하기 위한 기준값들을 제공하는방법 및 장치 KR20070100083A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US78957306P 2006-04-06 2006-04-06
US60/789,573 2006-04-06

Publications (1)

Publication Number Publication Date
KR20070100083A true KR20070100083A (ko) 2007-10-10

Family

ID=38805230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060079804A KR20070100083A (ko) 2006-04-06 2006-08-23 영상 데이터를 코딩/디코딩하기 위한 기준값들을 제공하는방법 및 장치

Country Status (1)

Country Link
KR (1) KR20070100083A (ko)

Similar Documents

Publication Publication Date Title
JP6408098B2 (ja) ビデオ復号化方法及びビデオ復号化装置
KR101481642B1 (ko) 비디오를 인코딩하고 디코딩하기 위한 방법 및 장치
TWI521890B (zh) Image coding apparatus, method and program, and image decoding apparatus, method and program
CN1893666B (zh) 视频编码和解码方法及设备
KR101479141B1 (ko) 트리 구조를 이용한 부호화/복호화 방법 및 장치
KR100736104B1 (ko) 독립적 파싱을 지원하는 비디오 코딩 방법 및 장치
KR100809301B1 (ko) 엔트로피 부호화/복호화 방법 및 장치
CN102783035B (zh) 并行熵编码方法和设备
KR101425602B1 (ko) 영상 부호화/복호화 장치 및 그 방법
KR20150129715A (ko) 향상 레이어 차분들에 대한 세컨더리 변환을 적용하기 위한 방법 및 장치
KR20070077059A (ko) 엔트로피 부호화/복호화 방법 및 장치
KR20090097014A (ko) 영상 부호화장치 및 영상 복호화장치
JP5908619B2 (ja) 動画像符号化装置及び動画像復号化装置
JP5768180B2 (ja) 画像復号方法及び画像復号装置
Taubman et al. High throughput block coding in the HTJ2K compression standard
KR100834757B1 (ko) 엔트로피 부호화 효율을 향상시키는 방법 및 그 방법을이용한 비디오 인코더 및 비디오 디코더
JP5526277B2 (ja) 動画像復号化装置、方法及びプログラム
US20090304091A1 (en) Method and Apparatus for Decoding/Encoding of a Scalable Video Signal
KR20070075267A (ko) 영상 신호를 인코딩 및 디코딩 하는 방법
KR20070096751A (ko) 영상 데이터를 코딩/디코딩하는 방법 및 장치
JP2013070419A (ja) 動画像符号化装置及び動画像復号化装置
KR20070100083A (ko) 영상 데이터를 코딩/디코딩하기 위한 기준값들을 제공하는방법 및 장치
JP2014042332A (ja) 動画像符号化装置及び動画像復号化装置
KR20070096776A (ko) 영상 신호를 인코딩 및 디코딩 하는 방법
KR101554541B1 (ko) 비디오 분석 정보를 활용한 전경 블록의 선택적 분산 비디오 부호화 및 복호화 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination