KR20080089632A - 미세 입자 스케일러빌러티 비디오 코딩에서 엔트로피 코딩방법 및 장치 - Google Patents

미세 입자 스케일러빌러티 비디오 코딩에서 엔트로피 코딩방법 및 장치 Download PDF

Info

Publication number
KR20080089632A
KR20080089632A KR1020087019342A KR20087019342A KR20080089632A KR 20080089632 A KR20080089632 A KR 20080089632A KR 1020087019342 A KR1020087019342 A KR 1020087019342A KR 20087019342 A KR20087019342 A KR 20087019342A KR 20080089632 A KR20080089632 A KR 20080089632A
Authority
KR
South Korea
Prior art keywords
coefficients
block
blocks
coding
fgs
Prior art date
Application number
KR1020087019342A
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 KR20080089632A publication Critical patent/KR20080089632A/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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/187Methods 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 a scalable video layer
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

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

Abstract

FGS 계층에서 미세 계수가 그 기본 계층과 다른 예측을 갖는 경우에 적합한 FGS 엔트로피 코딩 방법이다. 시간적 예측이 FGS 계층 코딩에 사용되고 FGS 계층에서 미세 계수가 그 기본 계층과는 다른 예측을 가질 때, FGS 계층이 부분적으로 디코딩되면 드리프트(drift) 문제가 발생할 수 있다. 그러한 드리프트 문제는 코딩 성능에 중요한 영향을 끼친다. 이 새로운 FGS 엔트로피 코딩 방법은 그러한 드리프트 효과를 해결하거나 상당히 경감시킬 수 있고, 따라서 코딩 성능을 개선할 수 있다. 세가지 다른 FGS 방법이 사용된다: 공간적 주파수 위치를 기반으로 하는 FGS 엔트로피 코딩; 두 루프 구조를 지향하는 디코더를 위한 FGS 엔트로피 코딩; 및 블록 제한 코딩 패스(pass)를 갖는 FGS 엔트로피 코딩.
미세 입자, 기본 계층, 향상 계층, 스케일러빌러티, 엔트로피 코딩

Description

미세 입자 스케일러빌러티 비디오 코딩에서 엔트로피 코딩 방법 및 장치{Method and apparatus for entropy coding in fine granularity scalable video coding}
본 발명은 일반적으로는 비디오 코딩, 특히 스케일러블(scalable) 비디오 코딩에 관한 것이다.
미세 입자 스케일러빌러티(Fine Granularity Scalability)(FGS)는 비디오 코딩의 유연성을 증가시키기 위해 최근 MPEG-4 AVC 비디오 코딩 표준에 추가되었다. 도 1에 도시된 FGS 코딩을 이용하여 비디오는 기본 계층(base layer)(BL) 및 하나 이상의 향상 계층(enhancement layer) 또는 FGS 계층으로 인코딩된다. 종래의 스케일러블 비디오 코딩과 비슷하게, 기본 계층은 기본 품질의 비디오를 디코딩하고 디스플레이 하기 위해서 완전하게 수신되어야 한다. 기본 비디오 품질을 개선하기 위해서는 완전한 향상 계층 수신이 필요한 종래의 스케일러블 비디오 코딩과 비교해서, FGS 코딩을 사용하면 향상 계층 스트림은 전송 이전 또는 디코딩하는 동안 어디에서든 차단될 수 있다. 달리 설명하면, FGS 계층의 비트스트림은 각 프레임마다 임의로 절단(truncate)될 수 있다. 따라서 FGS는 FGS 계층으로부터 추가 정보를 디코딩함으로써 비디오 신호 품질이 더 개선될 수 있게 한다. 디바이스가 저속 채널 을 통해 비디오 스트림을 수신하면 디코딩된 비디오는 더 낮은 품질일 수 있다. 디바이스가 더 고속의 채널을 통해 동일한 비디오 스트림을 수신하면 디코딩된 비디오는 더 높은 품질을 가질 수 있다. FGS 계층을 절단하면 기본계층의 절단보다 본질적으로 임의의 비트율(bitrate)에서 디코딩이 이뤄지는 것을 허용한다. 비트스트림의 절단은 코딩 효율에 영향을 준다.
비디오 데이터의 칼라는 R, G, B 3원색의 혼합으로 나타낼 수 있음이 알려져있다. 그러나 다양하고 동일한 칼라 공간들도 또한 가능하다. 많은 중요한 칼라 공간은 휘도(luminance) 성분(Y)과 두 색도(chrominance) 성분(U, V)을 포함한다. 절단은 칼라 공간 표현과 관련될 수 있다.
많은 시나리오들에서, 더 높은 품질의 디코딩된 비디오 시퀀스를 얻기 위해 몇몇 최소 또는 "기본" 품질에서 인코딩된 디지털 비디오 시퀀스를 전송하고, 그에 맞춰 최소 품질 신호와 결합될 수 있는 "향상" 신호를 전송하기를 원한다. 그러한 배치는 임의의 디바이스들이 최소한의 능력을 지원하는 임의의 디바이스들이 그 시퀀스를 ("기본" 품질로) 디코딩하고, 개선된 능력을 갖춘 임의의 디바이스들이 동일 시퀀스에 대해 더 높은 품질 버젼으로 디코딩하는 것을 동시에 허용하며, 동일한 시퀀스에 대해 두 개의 독립적으로 코딩된 버젼들과 관련된 비용을 증가시키지 않는다.
둘 이상의 품질 레벨이 필요하다면, 복수의 "향상" 신호들이 전송될 수 있으며, 각각은 "기본" 품질 신호와 모든 저 품질의 "향상" 신호들을 요구한다.
그러한 "기본" 및 '향상" 신호들을 스케일러블 비디오 코딩 분야에서는 "계 층들"이라고 하며, 각 향상 계층이 재구성된 품질을 개선하는 정도를 "입자(granularity)"라고 한다. 약자 FGS는 "fine granularity scalability"를 나타내고, 증분된 품질 향상도가 작음을 나타낸다.
FGS 향상 계층을 생성하는 기술은 알려져 있고, 현재 SVC 표준화 콘텍스트(context)에서 블록 기반 FGS 스킴(scheme)이 처음으로 ISO/IEC JTC1/SC29/WG11, "Scalable Video Model Version 3.0", MPECG Document w6716, Palma de Mallorca, 2004년 10월, 로 문서화되었다. 이 코딩 스킴은 코딩 성능을 개선하기 위해 현재 계층에서 기본 계층 코딩 정보를 효율적으로 사용할 수 있는 "순환 블록 코딩(cyclic block coding)"이라고 하는 개선된 코딩 스킴인 FGS 코딩으로 이후에 대체되었다.
순환 블록 코딩 스킴에 따르면, 예측 레지듀얼(residual) 계수는 두 종류: 중요 정보 또는 미세 정보 중 하나로 코딩될 수 있다. 기본 계층으로부터, 계수가 재구성된 0값을 갖는다면, 비중요(non-significant) 계수라고 한다. 그렇지않으면, 중요 계수라고 한다. 기본 계층에서 코딩된 계수들을 기반으로, 제1FGS 계층이 코딩될 수 있다. 제1계층 코딩에서, 현재 FGS 계층에서 기본 계층의 비중요 계수가 중요해졌는지(즉, 재구성된 논제로(non-zero) 값을 갖는지)의 여부를 다시 검사한다. 중요해졌다면, 그 크기와 부호를 코딩한다. 그렇지않다면 계속 비중요로 분류한다. 기본 계층의 중요 계수에 대해서는 여전히 현재 FGS 계층의 양자화 파라미터(QP)를 기반으로 더 미세화된다. FGS 계층이 코딩되었다면, 제1FGS 계층은 기본 계층으로 서비스되고 제2FGS계층이 코딩될 수 있다. 계수가 어떤 계층에서 중요하 게 된다면 그 계수는 바로 다음 이어지는 상위 FGS 계층에서 미세화될 것이다.
코딩 순서로 보면, 순환 블록 코딩은 일반적으로 중요 정보를 먼저 코딩하고 다음으로 미세 정보를 코딩한다. 더 상세하게 말하자면, 한 슬라이스의 각 FGS 계층에 대한 코딩에서 두 가지 패스(pass)가 있다: 중요 패스 및 미세 패스에서, 기본 계층의 비중요 계수들만이 현재 계층에서 중요해졌는지에 대해 검사된다. 중요해졌다면, 크기와 부호가 코딩된다. 중요 패스는 기본 계층의 모든 비중요 계수들이 검사되었다면 종료된다. 이어지는 미세 패스에서 기본 계층의 모든 중요 계수들은 현재 FGS 계층 QP에 따라 미세화된다.
순환 블록 코딩의 더 상세한 과정은 다음의 의사코드(pseudo-code)로 설명될 수 있다.
While values remain to be decoded
For each block
If significance pass NOT complete for luminance of current slice
Decode one non-zero luminance coefficient and preceding zeros
Else
Decode refinement information for next luminance coefficient
If significance pass NOT complete for chrominance of current slice
Decode one non-zero chrominance coefficient from each component and preceding zeros
Else
Decode refinement information for next chrominance coefficients
따라서 각 칼라 성분(휘도 및 색도)에 대해 중요 정보는 미세 정보에 앞서 코딩된다.
순환 블록 코딩은 FGS 계층에서 사용되는 시간적인 예측이 없을 때는 잘 동작하는 것으로 알려져 있다. 도 1에 일례가 도시되어 있다. 이 구조에서, 이산(discrete) 기본 계층은 보통 움직임 보상(movement compensation)을 갖는 넌스케일러블(non-scalable) 비트스트림으로 코딩된다. 그 다음 FGS 계층은 움직임 보상없이 그 계층의 최상위에서 코딩된다. 도 1에서 화살표는 예측 관계를 나타낸다. 각 FGS 계층이 그 기본 계층으로부터 모두 예측되기 때문에 현재 FGS 계층의 중요 패스 또는 미세 패스는 화질을 개선하는데 도움이 되는 추가 정보만을 제공할 수 있다.
FGS 계층 코딩에서 코딩 효율을 더 개선하기 위해서, 최근에는 FGS 계층 코딩에서 시간적 예측을 사용하는 다양한 방법들이 제안되었다. 이들 방법에서, 새로운 (또는 미세한) 움직임 벡터(motion vector)가 도입되어 각 FGS 계층에 대해 별도의 움직임 보상이 이루어질 수 있다. 주의깊게 설계를 하면, 이 방법들은 FGS 계층의 코딩 효율을 효율적으로 개선할 수 있다. 그러나 사람들은 현재 사용되는 순환 블록 코딩과 관련된 새로운 이슈를 만들어냈다.
시간적 예측이 FGS 계층 코딩에 사용되는 예가 도 2에 도시되어 있다. 하나 의 FGS 계층만이 있다고 가정하자. 도 4에서 P0, P1은 기본계층과 FGS 계층에서 각각 움직임 보상을 통해 만들어지는 예측이다. 그 두 계층에서 움직임 벡터는 동일하거나 다를 수 있다. 기본 계층에서 재구성된 예측 레지듀얼이 D0이고, R0가 R0= P0+D0 (여기서 R0는 기본계층으로부터 재구성된 프레임) 로 나타낼 수 있다고 가정한다.
상술한 바와 같이, FGS 계층 코딩에서 시간적 예측이 사용되지 않는다면, R0는 FGS 계층 코딩에서 예측으로 사용될 수 있다. 이 경우, 순환 블록 코딩은 잘 동작한다. 그러나 FGS 계층에서 시간적 예측이 사용될 때 순환 블록 코딩에는 문제가 있다.
순환 블록 코딩에서, FGS 계층은 기본 계층의 최상위에서 더 코딩되고 미세화된다. FGS 계층에서 시간적 예측을 사용하기 위해, 프레임 n의 FGS 코딩에 대한 예측은 도 2에 따라 P1 + D0 가 될 것이다. 다음으로 FGS 계층의 예측 레지듀얼 D1 순환 블록 코딩을 통해 코딩된다. 코딩 레지듀얼 D1 의 중요 정보는 FGS 계층에서 새롭게 생성된 중요 계수를 나타낸다. 코딩 레지듀얼 D1의 미세 정보는 기본 계층의 기존의 중요 계수들을 더 미세화한다. 그러나 이 경우 FGS 계층에서 미세 정보는 또한 기본 계층의 중요 계수들에 대해 예측 P0 와 P1 사이의 차를 보상함을 주지해야 한다. 그러한 문제는 R0가 FGS 계층 코딩에서의 예측에 사용될 때는 존재하지 않는다.
상술한 문제로 인해, 순환 블록 코딩에서 별도의 "패스"는 더 이상 적합하지 않다. FGS 계층의 시작에서 모든 디코딩된 정보가 중요 정보에 속한다면, 더 많은 FGS 계층 비트들이 디코딩될 때 P1의 품질은 서서히 좋아질 것을 기대할 수 있다. 따라서 P0 과 P1 사이의 차 또한 더 커진다. 그러나 이때 미세 정보는 아직 디코딩되지 않았다. FGS 계층에서 미세 정보가 없다면 P0 와 P1 간의 차는 기본 계층의 중요 계수에 대해 적절하게 보상될 수 없다. 이는 부분 FGS 계층 디코딩의 경우 코딩 성능에 중요한 영향을 미칠 수 있는 드리프트 문제를 가져올 것이다.
다른 한편으로 미세 패스가 중요 패시에 앞서 코딩된다면 또한 문제가 생길 수 있다. FGS 계층의 복호화 시작에서, 디코딩된 정보는 모두 미세 정보에 속한다. P0와 P1 간의 차에 대한 보상이 사용될 수 있다. 그러나 그러한 보상은 FGS 계층이 모두 디코딩되는 경우에 대한 것이다. FGS의 일부분만이 디코딩될 때, 이 경우 만들어진 시간적 예측, P1은 화질면에서 P0에 가깝다. 그러므로 디코딩된 미세 정보는 P0와 P1 간의 차를 과도 보상(over-compensate)할 수 있다. 이는 또한 부분 FGS 계층 디코딩의 경우 코딩 성능에 영향을 미치는 드리프트 문제를 가져올 수 있다.
도 2에 도시된 경우는 단지 예일 뿐이다. 일반적으로 FGS 계층에서 미세 계수(즉, 이미 기본 계층에서 중요 계수임)가 기본계층과는 다른 예측을 갖는다면, 부분 디코딩의 경우 엔트로피 코딩이 별도의 "패스" 방법으로 수행된다면 드리프트 문제가 존재할 수 있다.
다른 예는 본 출원과 동일자에 출원된 미국 특허 출원 변호사 도켓 (attorney docket) 번호 944-001.177-2 (이후 944-001.177-2 로 지칭함)에 개시된 디코더 지향의 두 루프 구조가 될 것이다. 944-001.177-2는 2006. 1. 9일에 출원된 미국 특허 출원 번호 60/757,746 을 기반으로 한다. 이 구조는 도 3에 도시되어 있다. 도시된 구조는 단순하지만 복수의 FGS 계층의 코딩에는 효율적인 해법을 제공한다. 이 구조에 따르면, 제1FGS 계층에 대한 예측은 그 참조 프레임의 제1FGS 계층과 현재 프레임의 재구성된 기본 계층을 결합하여 만들어진다.
제2FGS 계층에 있어서, 초기 예측 P2'는 먼저 동일한 FGS 코딩 방법에 따라 계산되지만 이산 기본 계층이 "기본 계층"으로 사용되고 제2FGS 계층이 "향상 계층"으로 사용된다. 다음으로 P2'는 제1FGS 계층에서 재구성된 레지듀얼 D1(도 3에서 투명한 화살로 표시됨) 에 더해지고, 그 합 P2가 실제 예측으로 사용된다.
P2 = P2' + α* D1
여기서, α는 0≤α≤1의 값을 갖는 파라미터이다. 유사하게 제3FGS 계층에 있어서, 초기 예측 P3'은 먼저 동일한 FGS 코딩 방법에 따라 계산되지만 이산 기본 계층이 "기본 계층"으로 사용되고 제3FGS 계층은 "향상 계층"으로 사용된다. 다음으로 P3'은 제1 및 제2FGS 계층에서 재구성된 레지듀얼 D1과 D2에 더해지고 그 합 P3가 실제 예측으로 사용된다.
P3 = P3' + α* D1 + β* D2
여기서 β는 0≤β≤1의 값을 갖는 파라미터이다. β는 α와 동일하거나 다를 수 있다. 보통 α와 β는 1로 설정될 수 있다.
그러한 코딩 구조에서 제2FGS 계층에서 미세 계수들 (이산 기본 계층에서 중요한 계수들은 제외) 은 기본 계층과는 다른 예측을 가질 수 있다. 이 상황은 또한 제3FGS 계층의 미세 계수에 대해서도 해당된다. 그러한 이유로, 순환 블록 코딩은 FGS 계층들에 대한 코딩에 적합하지 않을 수 있다.
본 발명은 FGS 계층에서 미세 계수들이 기본 계층과 다른 예측을 갖는 경우에 적합한 FGS 엔트로피 코딩 방법을 제공한다. FGS 계층 코딩에서 시간적 예측이 사용되고 FGS 계층에서 미세 계수들이 기본 계층과 다른 예측을 가질 때, FGS 계층이 부분적으로 디코딩되면 드리프트 문제가 일어날 수 있다. 그러한 드리프트 문제는 코딩 성능에 심각한 영향을 미칠 수 있다. 본 발명은 그러한 드리프트 문제를 해결하거나 상당히 경감하고 따라서 코딩 성능을 향상시킬 수 있는 새로운 FGS 엔트로피 코딩 방법을 제공한다.
세가지 다른 FGS 방법이 사용될 수 있다: 공간 주파수 위치에 기반한 FGS 엔트로피 코딩; 두 루프 구조를 지향하는 디코더를 위한 FGS 엔트로피 코딩; 및 블록 제한 코딩 패스를 갖는 FGS 엔트로피 코딩. 첫번째 방법에서, 순환 블록 코딩 방법에서 별도의 "패스" 코딩 순서에 의해 드리프트 문제가 필수적으로 일어난다. 어떤 패스가 먼저 코딩되든지, 드리프트 문제는 FGS 계층을 부분 디코딩하는 경우 피할 수 없다. 따라서 중요 정보 및 미세 정보는 상술한 문제를 해결하기 위해 별도의 "패스에서 코딩되지 않는다. 대신 인터리브된(interleaved) 또는 혼합된 순서로 코딩된다. 두번째 방법에서는, 기본 계층에서 중요하게 되는 계수들이 향상 계층에서 동일한 예측을 갖는 것이 보장될 수 있다. 그러므로, 향상 계층에서 그러한 계수들을 더 미세화하는 것은 예측자 차이에 대한 어떠한 보상도 포함하지 않는다. 따라서 그러한 계수들에 대한 미세 정보는 드리프트 효과를 내지 않고 오직 화질을 개선하는데만 도움을 준다. 세번째 방법으로는, 중요 코딩 패스가 블록에 제한된다. 주어진 블록에 대해, 블록에서 모든 중요 정보가 코딩되기만 하면 중요 패스는 그 블록에 대해서는 완료한 것으로 간주 될 수 있고 따라서 그 블록에서 미세 정보에 대한 코딩이 시작될 수 있다.
따라서 본 발명의 제1양상은 이미지 데이터에 포함된 디지털 비디오 시퀀스를 인코딩하는데 사용되는 엔트로피 코딩 방법이고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 갖는다. 상기 방법은:
상기 이미지 데이터로부터 상기 향상 계층 정보를 표현하는 복수의 변환 계수 블록들을 형성하는 단계;
소정 순서로 복수의 코딩 사이클동안 상기 복수의 변환 계수 블록들을 스캔하는 단계;
각 사이클에서 상기 각 블록으로부터 변환 계수 서브세트를 선택하는 단계; 및
상기 순서를 기반으로 상기 선택된 변환 계수 서브세트를 엔트로피 인코딩하는 단계를 포함한다.
본 발명의 제2양상은 이미지 데이터에 포함된 디지털 비디오 시퀀스를 디코딩하는데 사용되는 엔트로피 코딩 방법이고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 갖는다. 상기 방법은:
상기 이미지 데이터로부터 상기 향상 계층 정보를 나타내는 변환 계수들을 저장하는 복수의 블록을 형성하는 단계;
소정 순서로 복수의 코딩 사이클 동안 변환 계수들을 저장하는 상기 복수의 블록들을 스캔하는 단계;
각 사이클에서 상기 복수의 블록들에 대해 디코딩될 변환 계수의 서브세트를 선택하는 단계; 및
상기 순서를 기반으로 상기 복수의 블록들에서 상기 선택된 변환 계수 서브세트를 엔트로피 디코딩하는 단계를 포함한다.
본 발명에 따르면, 인코딩 또는 디코딩에서의 선택은 적어도 블록에서 각 계수의 공간 주파수 위치를 기반으로 하거나 그 블록에서 중요 계수들이 그 블록에서 미세 계수들에 앞서 선택되는 방식으로 수행된다.
본 발명에 따르면, 변환 계수들은 이산 기본 계층에서 중요한 미세 계수들 및 잔여 계수들(remaining coefficients)을 포함하고, 각 블록에서의 선택은 이산 기본 계층에서 중요한 미세 계수들이 먼저 선택되고 잔여 계수들은 공간 주파수 위치를 기반으로 하는 순서에 따라 선택되는 방식으로 수행된다.
본 발명의 제3양상은 이미지 데이터에 포함된 디지털 비디오 시퀀스를 인코딩하는데 사용되는 엔트로피 인코더이고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 갖는다. 상기 인코더는:
상기 이미지 데이터로부터 상기 향상 계층 정보를 표현하는 복수의 변환 계수 블록들을 형성하는 모듈;
소정 순서로 복수의 코딩 사이클동안 상기 복수의 변환 계수 블록들을 스캔하는 모듈;
각 사이클에서 상기 각 블록으로부터 변환 계수 서브세트를 선택하는 모듈; 및
상기 순서를 기반으로 상기 선택된 변환 계수 서브세트를 엔트로피 인코딩하는 모듈을 포함하고, 상기 선택하는 모듈은 한 블록에서 적어도 각 계수의 공간 주파수 위치를 기반으로 하여 상기 변환 계수 서브세트를 선택하거나, 상기 블록에서 중요 계수들이 상기 블록에서 미세 계수에 앞서 선택되는 방식으로 각 블록으로부터 상기 변환 계수 서브세트를 선택하거나, 상기 이산 기본 계층에 중요한 미세 계수가 먼저 선택되고 잔여 계수들이 중간 주파수 위치를 기반으로 하는 순서에 따라 선택되는 방식으로 각 블록으로부터 상기 변환 계수들을 선택한다.
본 발명의 제4양상은 이미지 데이터에 포함된 디지털 비디오 시퀀스를 디코딩하는데 사용되는 엔트로피 디코더이고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 갖는다. 상기 디코더는:
상기 이미지 데이터로부터 상기 향상 계층 정보를 나타내는 변환 계수들을 저장하는 복수의 블록을 형성하는 모듈;
소정 순서로 복수의 코딩 사이클 동안 변환 계수들을 저장하는 상기 복수의 블록들을 스캔하는 모듈;
각 사이클에서 상기 복수의 블록들에 대해 디코딩될 변환 계수의 서브세트를 선택하는 모듈; 및
상기 순서를 기반으로 상기 복수의 블록들에서 상기 선택된 변환 계수 서브세트를 엔트로피 디코딩하는 모듈을 포함한다.
본 발명의 제5양상은 스케일러블 비디오 코딩에서 엔트로피 인코딩에 사용하기 위한 소프트웨어 애플리케이션(software application)을 갖는 컴퓨터로 읽을 수 있는 스토리지(storage) 매체를 포함하는 소프트웨어 애플리케이션 제품이고, 상기 소프트웨어 애플리케이션은 상술한 인코딩 방법을 수행하는 프로그램 코드를 갖는다.
본 발명의 제6양상은 스케일러블 비디오 코딩에서 엔트로피 디코딩에 사용하기 위한 소프트웨어 애플리케이션을 갖는 컴퓨터로 읽을 수 있는 스토리지 매체를 포함하는 소프트웨어 애플리케이션 제품이고, 상기 소프트웨어 애플리케이션은 상술한 디코딩 방법을 수행하는 프로그램 코드를 갖는다.
본 발명의 제7양상은 휴대 단말기와 같은 전자 디바이스이고, 상술한 바와 같이 이미지 데이터에 포함된 디지털 비디오 시퀀스를 인코딩 및 디코딩하는데 사용되는 인코더 및 디코더를 포함한다.
도 1은 FGS 계층에서 비시간적인 예측을 갖는 미세 입자 스케일러빌러티를 보인다.
도 2는 FGS 계층에서 시간적인 예측을 갖는 미세 입자 스케일러빌러티를 보인다.
도 3은 FGS 계층에서 시간적 예측을 갖는 미세 입자 스케일러빌러티(두 루프 구조)를 보인다.
도 4는 FGS 계층의 블록을 보인다.
도 5는 기본 계층에 종속한 참조 블록 선택을 갖는 FGS 인코더를 도시한 것이다.
도 6은 기본 계층에 종속한 참조 블록 선택을 갖는 FGS 디코더를 도시한 것이다.
도 7은 본 발명에 따른, 스케일러블 인코더 및 스케일러블 디코더 중 적어도 하나를 갖는 전자 디바이스를 도시한 것이다.
본 발명은 FGS 계층에서 미세 계수들이 기본 계층과 다른 예측을 가지는 경우에 적합한 FGS 엔트로피 코딩 방법을 제공한다.
다음과 같은 세가지 다른 FGS 엔트로피 코딩 방법이 사용될 수 있다.
1. 공간 주파수 위치를 기반으로 하는 FGS 엔트로피 코딩
2. 두 루프 구조를 지향하는 디코더를 위한 FGS 엔트로피 코딩, 및
3. 블록 제한된 코딩 패스를 갖는 FGS 엔트로피 코딩.
시간적인 예측이 FGS 계층 코딩에 사용되고, FGS 계층에서 미세 계수들이 기본 계층과 다른 예측을 사용할 때, FGS 계층이 부분적으로 디코딩되면 드리프트 문제가 일어날 수 있다. 그러한 드리프트 문제는 코딩 성능에 심각한 영향을 끼칠 수 있다. 본 발명은 그러한 드리프트 효과를 해결하거나 상당히 경감하여 코딩 성능을 개선할 수 있는 새로운 FGS 엔트로피 코딩 방법을 제공한다.
공간 주파수 위치를 기반으로 하는 FGS 엔트로피 코딩
앞서 설명된 바와 같이, 드리프트 문제는 순환 블록 코딩 방법에서 별도의 "패스" 코딩 순서에 의해 필수적으로 일어날 수 있다. 어떤 패스가 먼저 코딩되든지, 드리프트 문제는 FGS 계층의 부분 코딩의 경우에는 피할 수 없다.
본 발명에 따라, 중요 정보 및 미세 정보는 상술한 문제를 해결하기 위해 더 이상 별도의 '패스"에서 코딩되지 않는다. 대신 이 계수들은 인터리브 또는 혼합된 순서로 코딩된다. 예를 들어, 계수들은 H.264에도 정의된 바와 같은 계수 스캔 순서인 공간 주파수 위치에 따라 코딩될 수 있다. 전체 프레임 (또는 H.264에서는 슬라이스)에 대해 블록들은 여전히 순환 방식으로 코딩될 수 있다. 따라서 제1블록의 제1계수를 코딩한 후, 제2블록의 제1계수가 코딩되며 코딩은 제2블록으로 이동한다. 각 블록의 제1계수가 현재 슬라이스에서 코딩되면, 제1블록에서 다시 출발하여 그 블록의 제2계수를 코딩하고 그 다음 제3블록으로 이동한다. 그러한 과정은 각 블록의 모든 계수들이 코딩될 때까지 반복된다.
현재의 순환 블록 코딩 방법과 비교하여, 본 발명에 따른 방법은 코딩 순서를 바꾼다. 중요/비중요 계수가 어떻게 코딩되는지 또는 이미 중요한 계수가 어떻게 미세화되는지에 대한 변경은 없다. 현재 코딩될 비중요 계수가 있다면, 이 계수를 코딩하는 것은 엔드오브블록(end-of-block) 심볼 또는 중요 계수에 이어지는 일련의 비중요 계수들을 코딩하는 것으로 완료된다. 어느 경우든, 스캐닝 패스를 코딩된 비중요 및 중요 계수들은 나중에 코딩될 계수가 이미 표시되었다면 코딩이 이루어지지 않고 간단히 다음 블록으로 처리과정이 넘어가도록 모두 "코딩됨"으로 표시된다.
도 4는 FGS 계층에서 블록의 예를 도시한 것이다. 도면에서 화살표는 스캔 순서를 나타낸다. 이 블록에서, 음영으로 표시된 스캔 위치 7 및 10 (스캔 인덱스는 0부터 시작한다)에서 두 계수 각각은 이전 계층 (즉, 기본 계층)에서 중요하게 된다. 이들은 현재 FGS 계층에서 미세 계수이다. 1과 11의 위치에 있는 계수들은 현재 FGS 계층에서 중요해진다. 여기서 16사이클 동안 한 슬라이스를 코딩하고, 각 사이클에서 각 블록의 해당 공간 주파수 위치의 계수가 코딩된다고 가정한다. 따라서 첫번째 사이클에서는 0과 1의 위치에 있는 계수들이 코딩된다. 두번째 사이클에서는 어떠한 정보도 이 블록으로부터 코딩될 필요가 없다. 왜냐하면 위치 1에서 계수는 이미 "코딩됨"으로 표시되기 때문이다. 세번째 사이클에서, 위치 2의 계수들이 코딩된다. 사이클 4,5,6, 및 7에서는 블록에 대해 아무런 정보도 코딩되지 않는 다. 사이클 8에서 위치 7의 계수가 미세화된다. 사이클 9 및 10에서는 블록에 대해 아무런 정보도 코딩되지 않는다. 사이클 11에서는 위치 10의 계수가 미세화된다. 사이클 12에서는 어떠한 정보도 코딩될 필요가 없다. 사이클 13에서는 엔드오브블록 심볼이 코딩된다. 그 후 사이클 14, 15 및 16에서는 어떠한 정보도 코딩되지 않는다.
그러한 코딩 순서는 다음의 의사코드로 표현될 수 있다.
For each luma scanning index and chroma scanning index
For each block
If current luma coefficient not decoded
If current luma coefficient not refinement coefficient
Decode a no-zero luma coefficient and preceding zeros
Else
Decode refinement information for current luma coefficient
If current chroma coefficient not decoded
If current chroma coefficient not refinement coefficient
Decode a non-zero chroma coefficient and preceding zeros
Else
Decode refinement information for current chroma coefficient
상술한 의사코드에서, luma는 휘도를 나타내고, chroma는 색도를 나타낸다. chroma 부분은 실제로 각 색도 성분 Cb, Cr에 대해 수행된다. 한편, luma 스캐닝 인덱스와 chroma 스캐닝 인덱스가 동기화될 필요는 없음을 주지해야 한다. 현재 순환 블록 코딩과 유사하게 luma에 대한 코딩은 chroma에 대한 코딩보다 몇 사이클 먼저 시작할 수 있다.
두 루프 구조를 지향하는 디코더를 위한 FGS 엔트로피 코딩
앞서 설명된 바와 같이, 두 루프 구조 지향 디코더는 944-001.177.2에 개시되어 있다. 도 3에 도시된 구조는 복수의 FGS 계층들에 대한 코딩에 대해 간단하지만 효율적인 해답을 제공한다. 이 구조에 따르면 제1FGS 계층의 예측은 참조 프레임의 제1FGS 계층과 현재 프레임에서 재구성된 기본 계층을 결합하여 형성된다.
이 FGS 코딩 방법에서 기본 계층에서 중요해지는 계수들은 향상 계층에서 동일한 예측을 갖는 것이 보증될 수 있다. 그러므로, 향상 계층에서 그 계수들의 미세화는 예측자 차이에 대한 어떠한 보상도 포함하지 않는다. 따라서 그 계수들에 대한 미세화 정보는 드리프트 효과를 유발하지 않고 화질을 개선하는데만 도움을 준다.
도 3의 제2FGS 계층에 있어서, 이 계층의 미세화 계수들은 두 카테고리로 구분될 수 있다. 첫번째 카테고리는 이산 기본 계층에서 중요해지는 계수를 포함한다. 두번째 카테고리는 이산 기본 계층에서 중요하지는 않지만 제1FGS 계층에서는 중요하게 되는 계수들을 포함한다. 제2FGS 계층의 예측은 이산 기본 계층과 제2FGS계층으로부터 형성되기 때문에 제1카테고리 계수들의 미세 정보는 드리프트 효과를 일으키지 않는다. 그러나 제2카테고리 계수들의 미세 정보는 이 드리프트 효과를 일으킬 수 있다. 그러한 상황은 제3FGS 계층에 대해서 진실하다. 이 경우, 제1카테고리는 아직 이산 기본 계층에서 중요해지는 계수들을 포함한다. 제2카테고리는 이산 기본 계층에서는 중요하지 않지만 제1 또는 제2FGS 계층에서는 중요해지는 계수를 포함한다.
그러한 분석을 기반으로, 도 3에 도시된 코딩 구조를 사용할 때 특별한 FGS 엔트로피 코더가 제2 및 제3 FGS 계층의 코딩을 위해 설계된다. 화질 개선에 도움을 주고 드리프트 효과는 일으키지 않기 때문에, 각 블록으로부터의 제1카테고리 계수에 대한 미세정보가 먼저 코딩될 수 있고, 그 다음으로 잔여 계수들이 공간 주파수 위치에 따라 코딩된다. 다시 각 블록으로부터의 정보가 블록 순환 방법으로 코딩된다.
그러한 코딩 순서는 다음의 의사 코드로 표현될 수 있다.
For each luma scanning index and chroma scanning index
For each block
If current luma coefficient is first category coefficient
Decode refinement information for current luma coefficient
If current chroma codfficient is first category coefficient
Decode refinement information for current chroma coefficient
For each luma scanning index and chroma scanning index
For each block
If current luma coefficient not decoded
If current luma coefficient not refinement coefficient
Decode a non-zero luma coefficient and preceding zeros
Else
Decode refinement information for current luma coefficient
If current chroma coefficient not decoded
If current chroma coefficient not refinement coefficient
Decode a non-zero chroma coefficient and preceding zeros
Else
Decode refinement information for current chroma coefficient
다시 상술한 의사코드에서 chroma 부분은 실제로 각 색도 성분 Cb와 Cr에서 각각 수행된다.
블록 한정 코딩 패스를 갖는 FGS 엔트로피 코딩
FGS 엔트로피 코딩은 또한 다음의 의사코드에 따라 설계될 수 있다.
While values remain to be decoded
For each block
If significance pass NOT complete for luminance of the block
Decode one non-zero luminance coefficient and preceding zeros
Else
Decode refinement information for next luminance coefficient
If significance pass NOT complete for chrominance of the block
Decode one non-zero chrominance coefficient from each component and preceding zeros
Else
Decode refinement information for next chrominance coefficients
의사 코드로부터, 이 방법에서는 중요한 코딩 패스가 블록에 한정되는 것을 알 수 있다. 주어진 블록에서, 블록의 모든 중요 정보가 코딩된다면, 중요 패스는 그 블록에 대해 종료된 것으로 간주되어 그 블록의 미세 정보에 대한 코딩이 시작 될 수 있다. 이 방법에 따르면, 하나의 블록에 대한 미세 정보는 동일한 칼라 성분에 대한 또 다른 블록의 중요 정보보다 먼저 코딩되는 것이 가능하다. 대조적으로, 순환 블록 코딩 방법에서 어떤 칼라 성분의 미세 정보는 슬라이스의 모든 블록들의 중요 정보가 코딩될 때까지 코딩되지 않는다. 따라서 어떤 범위까지는 그러한 블록 한정 코딩 패스를 갖는 FGS 엔트로피 코딩은 FGS 프레임 (또는 슬라이스)의 중요 정보 및 미세 정보에 대한 인터리브된 코딩을 제공할 수 있다.
FGS 코더에 대한 개괄
도 5 및 6은 본 발명의 FS 인코더 및 디코더에 대한 블록도로, 여기에서는 참조 블록들의 형성이 기본 계층에 종속된다. 이들 블록도에는 하나의 FGS 계층만이 도시되어 있다. 그러나 하나의 FGS 계층이 복수의 FGS 계층을 갖는 구조로 단순 확장되는 것은 존중되어야 한다.
블록도로부터 알 수 있는 바와 같이, FGS 코더는 추가적인 "참조 블록 형성 모듈"을 갖는 두 루프 비디오 코더이다.
도 7은 본 발명의 실시예에 따른 전형적인 이동 디바이스를 도시한 것이다. 도 7에 도시된 이동 디바이스(10)는 셀룰러 데이터와 음성 통신이 가능하다. 본 발명은 여러 다른 실시예들 중 하나를 나타내는 이 특정 실시예에 한정되지 않음을 주지해야 한다. 이동 단말기(10)는 (주요) 마이크로프로세서 또는 마이크로컨트롤러(100)를 포함하고, 이동 디바이스의 동작을 제어하는 마이크로프로세서와 관련된 콤포넌트들을 포함한다. 이 콤포넌트들은 디스플레이 모듈(135)에 연결되는 디스플 레이 컨트롤러(130), 비휘발성 메모리(140), 랜덤 액세스 메모리(RAM)과 같은 휘발성 메모리(150), 마이크로폰(161), 스피커(162) 및/또는 해드셋(163)에 연결되는 오디오 입력/출력(I/O) 인터페이스(160), 키패드(175) 또는 키보드에 연결되는 키패드 컨트롤러(170), 보조 입력/출력(I/O) 인터페이스(20) 그리고 근거리(short-range) 통신 인터페이스(180)를 포함한다. 그러한 디바이스는 또한 보통 190에도시된 다른 디바이스 서브시스템을 포함한다.
이동 디바이스(10)은 음성 네트워크를 통해 및/또는 공중 지상 이동 네트워크(public land mobile network)(PLMN), 예를 들어, 디지털 셀룰러 네트워크 형태, 특히 GSM(global system for mobile communicaiton) 또는 UMTS(Universal mobile telecommunications system)와 같은 데이터 네트워크를 통해서도 통신할 수 있다. 보통 음성 및/또는 데이터 통신은 공기(air) 인터페이스, 즉, 추가 컴포넌트(위 참조)와 협력하는 셀룰러 통신 인터페이스 서브시스템을 통해, 셀룰러 네트워크의 하부구조(infrastructure)의 무선 액세스 네트워크(RAN) 부분인 기지국(BS) 또는 노드 B(도시되지 않음)에 연결하여 동작한다. 도 7에 도시된 셀룰러 통신 인터페이스 서브시스템은 셀룰러 인터페이스(110), 디지털 신호 프로세서(DSP)(120), 수신기(RX)(121), 송신기(TX)(122) 그리고 하나 이상의 국부 발진기들(LOs)(123)을 포함하고 하나 이상의 공중 지상 이동 네트워크(PLMNs)와 통신을 가능하게 한다. 디지털 신호 프로세서(DSP)(120)는 통신 신호(124)를 송신기(TX)(122)로 보내고 수신기(RX)(121)로부터 통신신호를 수신한다. 통신신호를 처리하는 것 외에, 디지털 신호 프로세서(120)는 또한 수신기 제어 신호(126) 및 송신기 제어 신호(127)를 제공 한다. 예를 들어, 각각 송신 및 수신될 신호의 변조 및 복조 이외에, 수신기(RX)(121) 및 송신기(TX)(122)에서 통신신호에 적용되는 이득 레벨은 디지털 신호 프로세서(DSP)(120)에 구현된 자동 이득 조절 알고리듬을 통해 적응적으로 제어될 수 있다. 트랜시버(122)에 대한 더 미세한 제어를 제공하기 위해 다른 트랜시버(transciver) 제어 알고리듬도 디지털 신호 프로세서(DSP)(120)에 구현될 수 있다. PLMN을 통한 이동 디바이스(10) 통신이 하나의 주파수 또는 아주 가깝게 위치한(closly-spaced) 주파수 세트에서 일어나는 경우, 단일 국부 발진기(LO)(123)이송신기(TX)(122) 및 수신기(RX)(121)와 결합하여 사용될 수 있다. 또는 다른 주파수들이 음성/데이터 통신 또는 송신 대 수신에 사용된다면, 복수의 해당 주파수들을 생성하기 위해 복수의 국부 발진기들이 사용될 수 있다. 도 7에 도시된 이동 디바이스(10)가 안테나(129) 또는 다이버시티 안테나 시스템(diversity antenna system)(도시되지 않음)과 함께 사용되지만, 이동 디바이스(10)는 신호 송신 및 수신시 단일 안테나 구조로 사용될 수 있다. 음성 및 데이터 정보를 모두 포함하는 정보는 디지털 신호 프로세서(DSP)(120) 사이의 데이터 링크를 통해 셀룰러 인터페이스(110)와 통신한다. 주파수 대역, 콤포넌트 선택, 파워 레벨 등과 같은 셀룰러 인터페이스(110)의 상세 설계는 이동 디바이스(100)가 동작할 무선 네트워크에 종속할 것이다.
셀룰러 네트워크에 등록하는데 필요한 가입자 식별 모듈(subscriber identification module, SIM)(210)을 포함할 수 있는 필요한 네트워크 등록 및 활성화 과정이 완료된 후, 이동 디바이스(10)는 무선 네트워크를 통해 음성 및 데이 터 신호를 포함한 통신 신호를 송신 및 수신할 수 있다. 무선 네트워크로부터 안테나(129)에 의해 수신된 신호는 수신기(121)로 라우트(route)되며, 수신기는 신호 증폭, 주파수 다운 컨버젼, 필터링, 채널 선택 및 아날로그-디지털 변환과 같은 동작을 수행한다. 수신신호에 대한 아날로그-디지털 변환은 디지털 복조 및 디코딩과 같은 더 복잡한 통신 기능이 디지털 신호 프로세서(DSP)(120)를 사용하여 수행될 것을 허용한다. 유사한 방식으로, 네트워크로 송신될 신호들은 변조 및 인코딩을 포함하여, 예를 들어, 디지털 신호 프로세서(DSP)(120)에 의해 처리된 다음 디지털-아날로그 변환, 필터링, 증폭 및 안테나(129)를 통한 무선 네트워크로의 송신을 위해 송신기(122)로 공급된다.
디바이스 플랫폼 마이크로프로세서로도 지정될 수 있는 마이크로프로세서/마이크로컨트롤러(μC)(110)는 이동 디바이스(10)의 기능들을 관리한다. 프로세서(110)에 의해 사용되는 동작 시스템 소프트웨어(149)는 바람직하게는, 예를 들어 플래시(Flash) 메모리, 배터리에 의해 지원되는 RAM, 어떤 다른 비휘발성 스토리지 기술 또는 이들의 임의 결합으로 구현될 수 있는 비휘발성 메모리(140)와 같은 지속적인 저장 장치에 저장된다. 이동 디바이스(10)의 (그래픽의) 기본 사용자 인터페이스 기능뿐만 아니라 저 레벨 기능을 제어하는 운영 시스템(149)에 더하여, 비휘발성 메모리(140)는 음성 통신 소프트웨어 애플리케이션(142), 데이터 통신 소프트웨어 애플리케이션(141), 조직자 모듈(도시되지 않음) 또는 어떤 다른 형태의 소프트웨어 모듈과 같은 복수의 상위 소프트웨어 애플리케이션 프로그램들 또는 모듈들을 포함한다. 이들 모듈은 프로세서(100)에 의해 실행되고, 이동 디바이스(10)의 사용자와 이동 디바이스(10) 간의 하이 레벨(high-level) 인터페이스를 제공한다. 이 인터페이스는 보통 디스플레이 컨트롤러(130)에 의해 제어되는 디스플레이(135)를 통해 제공되는 그래픽 콤포넌트를 포함하고, 키패드 제어기(130)를 통해 프로세서(100)에 연결되는 키패드(174)를 통해 제공되는 입/출력 콤포넌트들, 보조 입력/출력(I/O) 인터페이스(200) 및/또는 근거리(SR) 통신 인터페이스(180)를 포함한다. 보조 I/O 인터페이스(200)는 특히 USB(Univeral serial bus) 인터페이스, 시리얼 인터페이스, MMC(multimedia card) 인터페이스 및 관련 인터페이스 기술/표준 및 어떤 다른 표준화되거나 독점적인 데이터 통신 버스 기술을 포함하는 반면, 근거리 통신 인터페이스 무선 주파수(RF) 저파워(low-power) 인터페이스는 특히 WLAN(wireless local area network) 및 블루투스(Bluetooth) 통신 기술 또는 IRDA(infrared data access) 인터페이스를 포함한다. RF 저파워 인터페이스 기술은 여기에서는 임의의 IEEE 801.xx 표준 기술을 포함하는 것으로 이해되어야 하고, 그 설명은 전기전자기술자협회(Institute of Electrical and Electronics Engineers)로부터 얻을 수 있다. 더욱이 근거리 통신 인터페이스(180)뿐만 아니라 보조 I/O 인터페이스(200)는 각각 하나 이상의 입력/출력 인터페이스 기술 및 통신 인터페이스 기술을 지원하는 하나 이상의 인터페이스를 나타낼 수 있다. 운영 시스템, 특히 디바이스 소프트웨어 애플리케이션 또는 모듈 또는 그 일부분은 (보다 빠른 동작을 위해 보통 DRAM(direct random access memory) 기술을 기반으로 구현된) 랜덤 액세스 메모리와 같은 휘발성 저장부(150)에 일시적으로 로드(load)될 수 있다. 더욱이 수신된 통신 신호들 또한 비휘발성 메모리(140)에 위치한 파일 시스템 또는 바람직 하게는 데이터를 저장하는 보조 I/O 인터페이스를 통해 착탈가능하게 연결되는 임의의 대량 스토리지에 영구적으로 라이트(write) 하기 전에 일시적으로 휘발성 메모리(150)에 저장될 수 있다. 상술한 콤포넌트들은 여기에서는 셀룰러 폰 형태로 구현된 전통적인 이동 디바이스(10)의 일반적인 콤포넌트들임을 이해해야 한다. 본 발명은 설명과 완벽함을 위해 단순하게 묘사된 구현 및 이들 특정 콤포넌트들에 한정되지 않는다.
이동 디바이스(10)의 예시적인 소프트웨어 애플리케이션 모듈은 보통이 콘택(contact) 관리자, 캘린더, 작업 관리자 등을 포함한 PDA 기능을 제공하는 개인적인 정보 관리자 애플리케이션이다. 그러한 개인 정보 관리자는 프로세서(100)에 의해 실행되고, 이동 디바이스(10)의 콤포넌트들에 액세스할 수 있으며, 다른 소프트웨어 애플리케이션 모듈과 연동할 수 있다. 예를 들어, 음성 통신 소프트웨어 애플리케이션과의 연동은 전화 호, 음성 메일 등의 관리를 허용하고, 데이터 통신 소프트웨어 애플리케이션과의 연동은 SMS(soft message service), MMS(multimedia service), 이메일 통신 및 다른 데이터 통신의 관리를 가능하게 한다. 비휘발성 메모리(140)는 바람직하게는 특별히 캘린터 입력, 콘택트 등을 포함한 디바이스상의 데이터 아이템들에 대한 영구적인 저장을 실행하는 파일 시스템을 제공한다. 예를 들어 셀룰러 인터페이스, 단거리 통신 인터페이스 또는 보조 I/O 인터페이스를 통한 네트워크와의 데이터 통신 능력은 업로드, 다운로드 및 그러한 네트워크들을 통한 동기화를 가능하게 한다.
애플리케이션 모듈(141 내지 149)은 프로세서(100)에 의해 실행되도록 구성 된 디바이스 기능들 또는 소프트웨어 애플리케이션을 나타낸다. 가장 알려진 이동 디바이스에서, 단일 프로세서는 모든 디바이스 기능 및 소프트웨어 애플리케이션들뿐만 아니라 그 이동 디바이스의 전체 동작을 관리 및 제어한다. 그러한 개념은 오늘날의 이동 다비이스들에 적용될 수 있다. 향상된 멀티미디어 기능들의 구현은, 예를 들어, 비디오 스트리밍 애플리케이션의 재생, 일체형 또는 착탈식으로 연결된 디지털 카메라 기능에 의해 캡쳐(capture)된 비디오 시퀀스 및 디지털 이미지의 조작을 포함한다. 이 구현은 또한 계산 능력을 요구하는 섬세한 그래픽을 이용한 게임 애플리케이션을 포함할 수 있다. 과거에도 추진되어 온, 계산능력에 대한 요구를 처리하는 한가지 방법은 강력한 범용 프로세서 코어(core)를 구현함으로써 계산능력을 증가시키는 문제를 해결하는 것이다. 계산 능력을 제공하는 다른 접근은, 이 기술분야에서 잘 알려진 방법인, 둘 이상의 독립적인 프로세서 코어를 구현하는 것이다. 몇몇의 독립 프로세서 코어들을 갖는 장점은 즉시 당업자들에 의해 인정될 수 있다. 하나의 범용 프로세서는 별개의 작업들을 미리 선택하는 특화없이 복수의 다른 작업들을 수행하도록 설계되는 반면, 다중 프로세서의 배열은 하나 이상의 범용 프로세서와 미리 정의된 작업 세트를 처리하도록 조정되는 하나 이상의 특화된 프로세서를 포함할 수 있다. 그럼에도 불구하고, 몇개의 프로세서들을 하나의 디바이스, 특히 이동 디바이스(10)와 같은 하나의 이동 디바이스에 구현하는 것은 전통적으로 콤포넌트에 대해 완전하고 숙련된 재설계가 요구된다.
다음에서, 본 발명은 추가 프로세서 코어들을 기존의 프로세싱 디바이스 구현에 간단하게 통합하여 고비용의 완벽하고 숙련된 재설계의 생략을 가능하게 하는 개념을 제공한다. 발명의 개념은 시스템온칩(system-on-a-chip)(SoC) 설계를 참조하여 설명될 것이다. 시스템온칩(SoC)은 적어도 프로세싱 디바이스의 많은 (또는 모든) 콤포넌트들을 하나의 고집적 칩에 통합하는 개념이다. 그러한 시스템온칩은 디지털, 아날로그, 혼합 신호 및 종종 무선 주파수 기능 - 모두를 하나의 칩에 포함할 수 있다. 전형적인 프로세싱 디바이스는 다른 작업들을 수행하는 수많은 집적 회로들을 포함한다. 이 집적 회로들은 특히 마이크로프로세서, 메모리, 범용 비동기 수신기-수신기(universal asynchronous receiver-transmitter)(UARTs), 직렬/병렬 포트들, 직접 메모리 액세스(DMA) 콘트롤러들 등을 포함한다. 범용 비동기 수신기-송신기(UART)는 병렬 qxm들과 직렬 비트들 간을 통역한다. 초대규모집적회로(VLSI)로 복잡도의 급성장을 가능하게 한 최근의 반도체 기술 향상은 시스템의 다양한 콤포넌트들을 하나의 칩에 집적할 수 있게 한다. 도 7을 참조하면, 그 칩의 하나 이상의 콤포넌트들, 예를 들어, 컨트롤러(130, 160), 메모리 콤포넌트(150, 140) 및 하나 이상의 인터페이스들(200, 180 및 110)은 프로세서(100)와 최종적으로 시스템온칩을 이루는 단일 칩에서 통합될 수 있다.
또한, 상기 디바이스(10)는 본 발명의 발명 동작에 따라 비디오 데이터에 대한 스케일러블 인코딩(105) 및 스케일러블 디코딩(106)을 위한 모듈을 구비한다. CPU(100)에 의해, 상기 모듈들(105, 106)은 개별적으로 사용될 수 있다. 그러나 상기 디바이스(10)는 비디오 데이터 인코딩 또는 디코딩을 각각 수행하도록 적용된다. 상기 비디오 데이터는 디바이스의 통신 모듈에 의해 수신되거나 디바이스(10) 내에 어떤 가능한 스토리지 수단 내에 저장될 수 있다.
요컨대, 본 발명은 FGS 계층의 미세 계수가 기본 계층과 다른 예측을 갖는 경우에 적합한 FGS 엔트로피 코딩 방법을 제공한다. FGS 계층 코딩에 시간적 예측이 사용되고 FGS 계층의 미세 계수가 기본 계층의 예측과 다를 때, FGS 계층이 부분적으로 디코딩되면 드리프트 문제가 일어날 수 있다. 그러한 드리프트 문제는 코딩 성능에 심각한 영향을 미친다. 본 발명은 그러한 드리프트 효과를 해결하거나 상당히 경감시겨서 코딩 성능을 개선할 수 있는 새로운 FGS 엔트로피 코딩 방법을 제공한다.
세가지 다른 FGS 방법이 사용될 수 있다: 공간 주파수 위치를 기반으로 하는 FGS 엔트로피 코딩; 두 루프 구조를 지향하는 디코더를 위한 FGS 엔트로피 코딩; 및 블록 한정 코딩 패스를 갖는 FGS 엔트로피 코딩. 첫번째 방법에서, 드리프트 문제는 순환 블록 코딩 방법에서 별도의 "패스" 코딩 순서에 의해 필수적으로 일어난다. 어떤 패스가 먼저 코딩되더라도, 드리프트 문제는 FGS 계층을 부분 디코딩하는 경우 피할 수 없다. 따라서 상술한 문제를 해결하기 위해서 중요 정보 및 미세 정보는 더 이상 별도의 "패스"에서 코딩될 수 없다. 대신 이들은 인터리브된 순서 또는 혼합된 순서로 코딩된다. 두번째 방법에서 기본 계층에서 중요하게된 계수들은 향상 계층에서 동일한 예측을 갖는 것이 보장된다. 따라서 향상 계층에서 이들 계수에 대한 추가 미세화는 예측자 차이에 대한 어떠한 보상도 포함하지 않는다. 따라서 이들 계수들에 대한 미세 정보는 어떤 드리프트 효과를 일으키지 않고 화질 개선에만 도움을 줄 수 있다. 세번째 방법에서, 중요 코딩 패스는 블록에 한정된다. 주어진 블록에 대해, 그 블록에서 모든 중요 정보가 코딩되면 중요 패스는 그 블록에 대해서는 완료된 것으로 간주되고 그 블록의 미세 정보에 대한 코딩이 시작될 수 있다.
따라서 본 발명은 이미지 데이터에 포함된 디지털 비디오 시퀀스의 인코딩에 사용되는 엔트로피 코딩 방법을 제공하고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임을 복수의 블록들로 분할되는 픽셀 어레이를 포함한다. 그 방법은:
상기 이미지 데이터로부터 상기 향상 계층 정보를 표현하는 복수의 변환 계수 블록들을 형성하는 단계;
소정 순서로 복수의 코딩 사이클동안 상기 복수의 변환 계수 블록들을 스캔하는 단계;
각 사이클에서 상기 각 블록으로부터 변환 계수 서브세트를 선택하는 단계; 및
상기 순서를 기반으로 상기 선택된 변환 계수 서브세트를 엔트로피 인코딩하는 단계를 포함한다.
본 발명은 또한 이미지 데이터에 포함된 디지털 비디오 시퀀스를 디코딩하는데 사용되는 엔트로피 코딩 방법을 제공하고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 포함한다. 상기 방법은:
상기 이미지 데이터로부터 상기 향상 계층 정보를 나타내는 변환 계수들을 저장하는 복수의 블록을 형성하는 단계;
소정 순서로 복수의 코딩 사이클 동안 변환 계수들을 저장하는 상기 복수의 블록들을 스캔하는 단계;
각 사이클에서 상기 복수의 블록들에 대해 디코딩될 변환 계수의 서브세트를 선택하는 단계; 및
상기 순서를 기반으로 상기 복수의 블록들에서 상기 선택된 변환 계수 서브세트를 엔트로피 디코딩하는 단계를 포함한다.
본 발명에 따르면, 인코딩 또는 디코딩에서의 선택은 적어도 블록에서 각 계수의 공간 주파수 위치를 기반으로 하거나 그 블록에서 중요 계수들이 그 블록에서 미세 계수들에 앞서 선택되는 방식으로 수행된다. 변환 계수들은 이산 기본 계층에서 중요한 미세 계수들 및 잔여 계수들을 포함하고, 각 블록에서의 선택은 이산 기본 계층에서 중요한 미세 계수들이 먼저 선택되고 잔여 계수들은 공간 주파수 위치를 기반으로 하는 순서에 따라 선택되는 방식으로 수행된다.
본 발명은 이미지 데이터에 포함된 디지털 비디오 시퀀스를 인코딩하는데 사용되는 엔트로피 인코더를 제공하고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 포함한다. 상기 인코더는:
상기 이미지 데이터로부터 상기 향상 계층 정보를 표현하는 복수의 변환 계수 블록들을 형성하는 모듈;
소정 순서로 복수의 코딩 사이클동안 상기 복수의 변환 계수 블록들을 스캔하는 모듈;
각 사이클에서 상기 각 블록으로부터 변환 계수 서브세트를 선택하는 모듈; 및
상기 순서를 기반으로 상기 선택된 변환 계수 서브세트를 엔트로피 인코딩하는 모듈을 포함하고, 상기 선택하는 모듈은 한 블록에서 적어도 각 계수의 공간 주파수 위치를 기반으로 하여 상기 변환 계수 서브세트를 선택하거나, 상기 블록에서 중요 계수들이 상기 블록에서 미세 계수에 앞서 선택되는 방식으로 각 블록으로부터 상기 변환 계수 서브세트를 선택하거나, 상기 이산 기본 계층에 중요한 미세 계수가 먼저 선택되고 잔여 계수들이 중간 주파수 위치를 기반으로 하는 순서에 따라 선택되는 방식으로 각 블록으로부터 상기 변환 계수들을 선택한다.
본 발명은 이미지 데이터에 포함된 디지털 비디오 시퀀스를 디코딩하는데 사용되는 엔트로피 디코더를 더 제공하고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 포함한다. 상기 디코더는:
상기 이미지 데이터로부터 상기 향상 계층 정보를 나타내는 변환 계수들을 저장하는 복수의 블록을 형성하는 모듈;
소정 순서로 복수의 코딩 사이클 동안 변환 계수들을 저장하는 상기 복수의 블록들을 스캔하는 모듈;
각 사이클에서 상기 복수의 블록들에 대해 디코딩될 변환 계수의 서브세트를 선택하는 모듈; 및
상기 순서를 기반으로 상기 복수의 블록들에서 상기 선택된 변환 계수 서브 세트를 엔트로피 디코딩하는 모듈을 포함한다.
상술한 인코딩 및 디코딩 방법은 스케일러블 비디오 코딩에서 엔트로피 인코딩에 사용하기 위한 소프트웨어 애플리케이션을 갖는 컴퓨터로 읽을 수 있는 스토리지 매체를 포함하는 소프트웨어 애플리케이션 제품으로 구현될 수 있고, 상기 소프트웨어 애플리케이션은 상술한 인코딩 방법을 수행하는 프로그램 코드를 갖는다.
상술한 인코더 및 디코더는 이동 단말기와 같은 전자 디바이스에 구현될 수 있다.
따라서 본 발명은 하나 이상의 실시예에 대해 설명되었지만, 형태와 세부 기술에서 다양한 다른 변화, 생략 및 변이가 본 발명의 범위를 벗어남이 없이 이루어질 수 있음이 본 기술이 속하는 기술분야의 당업자에 의해 이해될 것이다.

Claims (20)

  1. 이미지 데이터에 포함된 디지털 비디오 시퀀스를 인코딩하는데 사용되는 엔트로피 코딩 방법에 있어서, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하고, 상기 시퀀스의 각 프레임은 복수의 블록들로 분할된 픽셀 어레이를 포함할 때, 상기 방법은,
    상기 이미지 데이터로부터 상기 향상 계층 정보를 표현하는 복수의 변환 계수 블록들을 형성하는 단계;
    소정 순서로 복수의 코딩 사이클동안 상기 복수의 변환 계수 블록들을 스캔하는 단계;
    각 사이클에서 상기 각 블록으로부터 변환 계수 서브세트를 선택하는 단계; 및
    상기 순서를 기반으로 상기 선택된 변환 계수 서브세트를 엔트로피 인코딩하는 단계를 포함함을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 선택하는 단계는, 적어도, 한 블록 내 각 계수의 공간 주파수 위치를 기반으로 함을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 각 블록으로부터 선택하는 단계는, 그 블록 내 중요 계수들이 그 블록 내 미세 (refinement) 계수들에 앞서 선택되도록 수행됨을 특징 으로 하는 방법.
  4. 제1항에 있어서, 상기 변환 계수들은 이산 기본 계층에서 중요한 미세 계수들 및 잔여 계수들(remaining coefficients) 을 포함하고,
    상기 각 블록으로부터 선택하는 단계는 이산 기본 계층에서 중요한 미세 계수들이 먼저 선택되고 상기 잔여 계수들은 공간 주파수 위치를 기반으로 하는 순서에 따라 선택되는 방식으로 수행됨을 특징으로 하는 방법.
  5. 이미지 데이터에 포함된 디지털 비디오 시퀀스를 디코딩하는데 사용되는 엔트로피 코딩 방법에 있어서, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하고, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 포함할 때, 상기 방법은,
    상기 이미지 데이터로부터 상기 향상 계층 정보를 나타내는 변환 계수들을 저장하는 복수의 블록들을 형성하는 단계;
    소정 순서로 복수의 코딩 사이클 동안 변환 계수들을 저장하는 상기 복수의 블록들을 스캔하는 단계;
    각 사이클에서 상기 복수의 블록들 각각에 대해 디코딩될 변환 계수들의 서브세트를 선택하는 단계; 및
    상기 순서를 기반으로 상기 복수의 블록들 각각에서 상기 선택된 변환 계수 서브세트를 엔트로피 디코딩하는 단계를 포함함을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 선택하는 단계는, 적어도 한 블록에 있는 각 계수의 공간 주파수 위치에 기반함을 특징으로 하는 방법.
  7. 제5항에 있어서, 상기 각 블록으로부터 선택하는 단계는, 그 블록 내 중요 계수가 그 블록 내 미세 계수들에 앞서 선택되도록 수행됨을 특징으로 하는 방법.
  8. 제5항에 있어서, 상기 변환 계수들은, 이산 기본 계층에서 중요한 미세 계수들 및 잔여 계수들을 포함하고, 상기 각 블록으로부터 선택하는 단계는, 이산 기본 계층에서 중요한 미세 계수들이 먼저 선택되고 잔여 계수들은 그들의 공간 주파수 위치를 기반으로하는 순서에 따라 선택되는 방식으로 수행됨을 특징으로 하는 방법.
  9. 이미지 데이터에 포함된 디지털 비디오 시퀀스를 인코딩하는데 사용되는 엔트로피 인코더에 있어서, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하고,상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 포함할 때, 상기 인코더는,
    상기 이미지 데이터로부터 상기 향상 계층 정보를 표현하는 복수의 변환 계수 블록들을 형성하는 모듈;
    소정 순서로 복수의 코딩 사이클동안 상기 복수의 변환 계수 블록들을 스캔 하는 모듈;
    각 사이클에서 상기 각 블록으로부터 변환 계수 서브세트를 선택하는 모듈; 및
    상기 순서를 기반으로 상기 선택된 변환 계수 서브세트를 엔트로피 인코딩하는 모듈을 포함함을 특징으로 하는 인코더.
  10. 제9항에 있어서, 상기 선택 모듈은, 적어도, 한 블록에서 각 계수의 공간 주파수 위치를 기반으로 하여 상기 변환 계수 서브세트를 선택함을 특징으로 하는 인코더.
  11. 제9항에 있어서, 상기 선택 모듈은, 각 블록 내 주요 계수들이 그 블록 내 미세 (refinement) 계수들에 앞서 선택되는 방식으로 상기 각 블록으로부터 상기 변환 계수 서브세트를 선택함을 특징으로 하는 인코더.
  12. 제9항에 있어서, 상기 변환 계수들은 이산 기본 계층에서 중요한 미세 계수들 및 잔여 계수들을 포함하고, 상기 선택 모듈은, 이산 기본 계층에서 중요한 미세 계수들이 먼저 선택되고 상기 잔여 계수들은 공간 주파수 위치에 기반하는 순서에 따라 선택되는 방식으로 각 블록으로부터 상기 변환 계수들을 선택함을 특징으로 하는 인코더.
  13. 이미지 데이터에 포함된 디지털 비디오 시퀀스를 디코딩하는데 사용되는 엔트로피 디코더에 있어서, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하고, 상기 시퀀스의 각 프레임은 복수의 블록으로 분할되는 픽셀 어레이를 포함할 때, 상기 디코더는,
    상기 이미지 데이터로부터 상기 향상 계층 정보를 나타내는 변환 계수들을 저장하는 복수의 블록을 형성하는 모듈;
    소정 순서로 복수의 코딩 사이클 동안 변환 계수들을 저장하는 상기 복수의 블록들을 스캔하는 모듈;
    각 사이클에서 상기 복수의 블록들 각각에 대해 디코딩될 변환 계수의 서브세트를 선택하는 모듈; 및
    상기 순서를 기반으로 상기 복수의 블록들에서 상기 선택된 변환 계수 서브세트를 엔트로피 디코딩하는 모듈을 포함함을 특징으로 하는 디코더.
  14. 제13항에 있어서, 상기 선택 모듈은, 적어도, 한 블록에 있는 각 계수의 공간 주파수 위치에 기반하여 상기 변환 계수들을 선택함을 특징으로 하는 디코더.
  15. 제13항에 있어서, 상기 선택 모듈은, 각 블록 내 중요 계수들이 그 블록 내 미세 계수들에 앞서 선택되는 방식으로, 각 블록으로부터 상기 변환 계수들을 선택함을 특징으로 하는 디코더.
  16. 제13항에 있어서, 상기 변환 계수들은, 이산 기본 계층에서 중요한 미세 계수들 및 잔여 계수들을 포함하고, 상기 선택 모듈은, 이산 기본 계층에서 중요한 미세 계수들이 먼저 선택되고 잔여 계수들은 공간 주파수 위치를 기반으로 하는 순서에 따라 선택되는 방식으로, 각 블록으로부터 상기 변환 계수들을 선택함을 특징으로 하는 디코더.
  17. 스케일러블 (scalable) 비디오 코딩에서 엔트로피 인코딩에 사용하는 소프트웨어 애플리케이션을 갖는, 컴퓨터로 읽을 수 있는 스토리지 매체를 포함하고, 상기 소프트웨어 애플리케이션은 제1항의 방법을 수행하는 프로그램 코드를 포함하는 것을 특징으로 하는 소프트웨어 애플리케이션 제품.
  18. 스케일러블 비디오 코딩에서 엔트로피 디코딩에 사용하는 소프트웨어 애플리케이션을 갖는, 컴퓨터로 읽을 수 있는 스토리지 매체를 포함하고, 상기 소프트웨어 애플리케이션은 제5항의 방법을 수행하는 프로그램 코드를 포함하는 것을 특징으로 하는 소프트웨어 애플리케이션 제품.
  19. 전자 기기에 있어서,
    이미지 데이터에 포함된 디지털 비디오 시퀀스를 인코딩 및 디코딩하는데 사용하고, 상기 디지털 비디오 시퀀스는 복수의 프레임을 포함하며, 상기 시퀀스의 각 프레임은 복수의 블록들로 분할되는 픽셀 어레이를 포함하는 인코더 및 디코더 를 포함하고,
    상기 인코더는
    상기 이미지 데이터로부터 상기 향상 계층 정보를 표현하는 복수의 변환 계수 블록들을 형성하는 모듈;
    소정 순서로 복수의 코딩 사이클동안 상기 복수의 변환 계수 블록들을 스캔하는 모듈;
    각 사이클에서 상기 각 블록으로부터 변환 계수 서브세트를 선택하는 모듈; 및
    상기 순서를 기반으로 상기 선택된 변환 계수 서브세트를 엔트로피 인코딩하는 모듈을 포함하고,
    상기 디코더는,
    상기 이미지 데이터로부터 상기 향상 계층 정보를 나타내는 변환 계수들을 저장하는 복수의 블록을 형성하는 모듈;
    소정 순서로 복수의 코딩 사이클 동안 변환 계수들을 저장하는 상기 복수의 블록들을 스캔하는 모듈;
    각 사이클에서 상기 복수의 블록들 각각에 대해 디코딩될 변환 계수의 서브세트를 선택하는 모듈; 및
    상기 순서를 기반으로 상기 복수의 블록들에서 상기 선택된 변환 계수 서브세트를 엔트로피 디코딩하는 모듈을 포함함을 특징으로 하는 전자 기기.
  20. 제19항에 있어서,
    이동 단말기를 포함함을 특징으로 하는 전자 기기.
KR1020087019342A 2006-01-09 2007-01-09 미세 입자 스케일러빌러티 비디오 코딩에서 엔트로피 코딩방법 및 장치 KR20080089632A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US75774506P 2006-01-09 2006-01-09
US60/757,745 2006-01-09
US76316406P 2006-01-26 2006-01-26
US60/763,164 2006-01-26

Publications (1)

Publication Number Publication Date
KR20080089632A true KR20080089632A (ko) 2008-10-07

Family

ID=38256680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019342A KR20080089632A (ko) 2006-01-09 2007-01-09 미세 입자 스케일러빌러티 비디오 코딩에서 엔트로피 코딩방법 및 장치

Country Status (6)

Country Link
US (1) US20070201550A1 (ko)
EP (1) EP1977603A2 (ko)
JP (1) JP2009522973A (ko)
KR (1) KR20080089632A (ko)
TW (1) TW200731806A (ko)
WO (1) WO2007080486A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007107855A2 (en) * 2006-03-21 2007-09-27 Nokia Corporation Fine grained scalability ordering for scalable video coding
DE602007008730D1 (de) * 2006-07-13 2010-10-07 Qualcomm Inc Videokodierung mit feinkörniger skalierbarkeit anhand von zyklisch ausgerichteten fragmenten
US20080013624A1 (en) * 2006-07-14 2008-01-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding video signal of fgs layer by reordering transform coefficients
KR100809301B1 (ko) * 2006-07-20 2008-03-04 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
US9445093B2 (en) * 2011-06-29 2016-09-13 Qualcomm Incorporated Multiple zone scanning order for video coding
WO2014053512A1 (en) 2012-10-01 2014-04-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Scalable video coding using inter-layer prediction contribution to enhancement layer prediction

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269192B1 (en) * 1997-07-11 2001-07-31 Sarnoff Corporation Apparatus and method for multiscale zerotree entropy encoding
US6778709B1 (en) * 1999-03-12 2004-08-17 Hewlett-Packard Development Company, L.P. Embedded block coding with optimized truncation
US6567081B1 (en) * 2000-01-21 2003-05-20 Microsoft Corporation Methods and arrangements for compressing image-based rendering (IBR) data using alignment and 3D wavelet transform techniques
DE10022262A1 (de) * 2000-05-08 2001-12-06 Siemens Ag Verfahren und eine Anordnung zur Codierung bzw. Decodierung einer Folge von Bildern
US7023922B1 (en) * 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
EP1320831A2 (en) * 2000-09-12 2003-06-25 Koninklijke Philips Electronics N.V. Video coding method
US7042944B2 (en) * 2000-09-22 2006-05-09 Koninklijke Philips Electronics N.V. Single-loop motion-compensation fine granular scalability
US20020037046A1 (en) * 2000-09-22 2002-03-28 Philips Electronics North America Corporation Totally embedded FGS video coding with motion compensation
JP4039609B2 (ja) * 2002-03-18 2008-01-30 株式会社Kddi研究所 画像符号化装置およびこれを利用した動画像符号化装置
US7283589B2 (en) * 2003-03-10 2007-10-16 Microsoft Corporation Packetization of FGS/PFGS video bitstreams
JP3892835B2 (ja) * 2003-09-01 2007-03-14 日本電信電話株式会社 階層画像符号化方法,階層画像符号化装置,階層画像符号化プログラムおよびそのプログラムを記録した記録媒体
KR100586882B1 (ko) * 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치

Also Published As

Publication number Publication date
JP2009522973A (ja) 2009-06-11
EP1977603A2 (en) 2008-10-08
WO2007080486A3 (en) 2007-10-18
WO2007080486A2 (en) 2007-07-19
US20070201550A1 (en) 2007-08-30
TW200731806A (en) 2007-08-16

Similar Documents

Publication Publication Date Title
KR20090133126A (ko) 모션 벡터 예측을 위한 방법 및 시스템
KR20080006607A (ko) 편차 제어를 통한 움직임 보상된 미세 입도 규모 가변성비디오 부호화를 위한 방법 및 시스템
KR100931870B1 (ko) 비디오 데이터를 효과적으로 코딩 및 디코딩하는 방법,장치 및 시스템
CN101416513A (zh) 具有运动补偿的用于低复杂性精细粒度可伸缩视频编码的系统和装置
CN101755458B (zh) 可缩放视频编码方法和装置以及可缩放视频解码方法和装置
US20070110159A1 (en) Method and apparatus for sub-pixel interpolation for updating operation in video coding
US20070053441A1 (en) Method and apparatus for update step in video coding using motion compensated temporal filtering
US20070160137A1 (en) Error resilient mode decision in scalable video coding
US20070009050A1 (en) Method and apparatus for update step in video coding based on motion compensated temporal filtering
US20060256863A1 (en) Method, device and system for enhanced and effective fine granularity scalability (FGS) coding and decoding of video data
KR100931871B1 (ko) 비디오 데이터의 효과적인 fgs 부호화 및 복호화를 위한방법, 장치, 시스템
KR20080089632A (ko) 미세 입자 스케일러빌러티 비디오 코딩에서 엔트로피 코딩방법 및 장치
CN104584553A (zh) 层间残差预测
CN101390398A (zh) 用于精细粒度可伸缩视频编码中的熵编码的方法和装置
CN113767636A (zh) 帧内模式编解码的方法和系统
CN104717501A (zh) 层间像素样本预测

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application