KR20080066709A - 다중 계층 비디오 인코딩 - Google Patents

다중 계층 비디오 인코딩 Download PDF

Info

Publication number
KR20080066709A
KR20080066709A KR1020087010016A KR20087010016A KR20080066709A KR 20080066709 A KR20080066709 A KR 20080066709A KR 1020087010016 A KR1020087010016 A KR 1020087010016A KR 20087010016 A KR20087010016 A KR 20087010016A KR 20080066709 A KR20080066709 A KR 20080066709A
Authority
KR
South Korea
Prior art keywords
quantized coefficients
video frame
data
representing
vlc
Prior art date
Application number
KR1020087010016A
Other languages
English (en)
Other versions
KR100964778B1 (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 콸콤 인코포레이티드
Publication of KR20080066709A publication Critical patent/KR20080066709A/ko
Application granted granted Critical
Publication of KR100964778B1 publication Critical patent/KR100964778B1/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/124Quantisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

여기에 개시되는 어떠한 실시예들은 멀티미디어 데이터를 처리하기 위한 시스템들과 방법들을 제시한다. 상기 시스템들과 방법들은 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트를 수신하고, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 수신하고, 그리고 상기 양자화된 계수들의 제 1 세트 및 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키는 것을 포함한다. 어떠한 실시예들에서, 상기 제 1 및 제 2 세트들과 관련되는 양자화 파라미터들이 상기 양자화된 계수들의 제 3 세트를 생성하는데 이용된다.

Description

다중 계층 비디오 인코딩{MULTIPLE LAYER VIDEO ENCODING}
본 명세서는 다중 계층(multiple layer) 비디오 데이터를 처리하는 방법 및 장치에 관한 것이다.
인터넷과 무선 통신의 폭발적 성장과 엄청난 성공 때문에, 멀티미디어 서비스들에 대한 증가하는 수요와 더불어, 인터넷과 모바일/무선 채널들을 통해 미디어를 스트리밍하는 것이 대단한 주의를 끌어왔다. 이종 인터넷 프로토콜(IP) 네트워크들에서, 비디오는 서버에 의해 제공되며 하나 이상의 클라이언트들에 의해 스트리밍(stream)될 수 있다. 무선 접속들은 다이얼-업, ISDN, 케이블, xDSL, 섬유(fiber), LAN(local area network), WAN(wide area network)와 다른 것들을 포함한다. 전송 모드는 유니-캐스트(uni-cast) 또는 멀티-캐스트(multi-cast) 일 수 있다. PDA(personal digital assistant), 랩톱, 데스크톱, 셋-탑 박스, TV, HDTV(high-definition television), 모바일 폰과 다른 것들을 포함하는, 다양한 개별 클라이언트 장치들은 동일한 컨텐트에 대해 동시에 상이한 대역폭들의 비트스트림(bitstream)들을 요구한다. 접속 대역폭은 시간에 따라 신속히 변화할 수 있으며(9.6kbps로부터 100Mbps 및 그 이상), 서버의 반응보다 더 빠를 수 있다.
이종 IP 네트워크와 유사한 것이 모바일/무선 통신이다. 모바일/무선 채널 들을 통한 멀티미디어 컨텐트의 전송은 매우 어려운데 이는 이러한 채널들이 다중-경로 페이딩, 쉐도잉(shadowing), 심볼-간(inter-symbol) 간섭, 및 잡음 교란들 때문에 종종 심각하게 손상되기 때문이다. 이동성(mobility)과 경합하는 트래픽과 같은 어떠한 다른 이유들도 대역폭 편차(variation)들과 손실을 야기한다. 상기 채널 잡음 및 서빙되는 사용자들의 수는 채널 환경들의 시-변(time-varying) 특성(property)을 결정한다. 환경 조건들에 추가로, 목적지(destination) 네트워크는 모바일 로밍(roaming)과 더불어 지리적 위치 때문에 제 2 로부터 제 3 세대 셀룰러 네트워크들에서 광대역 데이터-전용(data-only) 네트워크들로 변할 수 있다. 모든 이러한 변수들이, 비행 중에조차도, 멀티미디어 컨텐트에 대한 적응적 레이트(rate) 조정을 요구한다. 따라서, 이종 유선/무선 네트워크들을 통한 비디오의 성공적인 전송은, 손실들에 대해 복원력도 있으면서, 변화하는 네트워크 조건(condition)들, 장치 특성들, 및 사용자 선호(preference)들에 대한 적응성과 더불어, 효율적인 코딩을 필요로 한다.
상이한 사용자 요구사항들을 충족시키고 채널 편차에 적응하기 위해, 비트스트림(bitstream)들의 다수의 독립적 버전들을 발생시킬 수 있지만, (각각은 전송 대역폭, 사용자 디스플레이 및/또는 계산 능력에 기초하여 제약사항(constraint)들의 하나의 클래스를 충족함), 이는 서버 스토리지 및 멀티캐스트 애플리케이션에 효율적이지 않다. 스케일러블(scalable) 코딩에 있어서(하이-엔드 사용자들을 수용하는 단일 매크로-비트스트림(macro-bitstream)이 상기 서버에서 구축(build)된다), 로-엔드 애플리케이션들의 비트스트림들은 매크로-비트스트림의 서브셋들로서 내장(embed)된다. 그리하여, 단일 비트스트림이 서브-비트스트림들을 선택적으로 전송함으로써 다양한 애플리케이션 환경들에 적응될 수 있다. 스케일러블 코딩에 의해 제공되는 다른 이점은 오류(error)가 있기 쉬운 채널들 상에서의 강건한(robust) 비디오 전송들에 관한 것이다. 오류 보호(protection) 및 오류 은폐(concealment)가 용이하게 다뤄질 수 있다. 더 신뢰성 있는 전송 채널 또는 더 나은 오류 보호가 가장 중요한 정보를 포함하는 기저 계층(base layer) 비트들에 적용될 수 있다.
MPEG-1, MPEG-2, MPEG-4(집합적으로 MPEG-x로서 지칭됨), H.261, H.262, H.263, 및 H.264(집합적으로 H.26x로서 지칭됨)와 같은 하이브리드 코더들에는 공간, 시간 및 신호 대 잡음비(SNR) 확장성(scalability)들이 있다. 하이브리드 코딩에서, 시간 리던던시(redundancy)가 모션-보상 예측(motion-compensated prediction, MCP)에 의해 제거된다. 비디오는 일반적으로 일련의 화상들의 그룹들(groups of pictures, GOP)들로 분할되며, 여기서 각각의 GOP는 순방향(및/또는 역방향) 예측 프레임(predicted frame)들(P)과 양-방향(bi-directional) 예측 프레임들(B)의 배열(arrangement)이 이어지는 인트라-코딩(intra-code)되는 프레임(I)으로써 시작된다. P 프레임들과 B 프레임들 모두가 MCP를 채택하는 인터-예측(inter-predict) 프레임들이다. 기저 계층은 낮은 품질 수준에서 I 프레임들, P 프레임들 또는 B 프레임들의 가장 중요한 정보를 포함할 수 있으며, 확장 계층(enhancement layer)은 동일한 프레임들이나 상기 기저 계층에 포함되지 않은 추가적인 시간 스케일링(scaling) 프레임들의 고 품질 정보를 포함할 수 있다. SNR 확장성(scalability)은 디코더에서 상기 기저 계층 데이터를 디코딩하면서 상기 확장 계층 내의 고 품질 데이터의 디코딩을 선택적으로 생략함으로써 이뤄질 수 있다. 상기 데이터가 상기 기저 계층과 상기 확장 계층 간에 어떻게 파싱(parse)되느냐에 따라, 상기 기저 계층 더하기 확장 계층의 디코딩은 증가된 복잡도와 메모리 요구사항들을 야기할 수 있다. 증가된 계산상의 복잡도와 증가된 메모리 요구사항들은 PDA들(personal digital assistants), 모바일 폰들 등과 같은 전력 제한적이고 계산상으로 제한되는 장치들의 성능에 불리할 수 있다. 기저 계층과 확장 계층들의 디코딩이 그러한 장치의 상기 계산상의 복잡도와 메모리 요구사항들을 현저히 증가시키지 않을 것이 요망된다.
따라서, 계산상의 복잡도와 요구되는 메모리를 현저하게 증가시키지 않고 기저 계층과 더불어 확장 계층들을 디코딩하는 시스템과 방법을 개발하는 것이 유리할 것이다.
일 실시예는 멀티미디어 데이터를 처리하는 방법을 포함한다. 본 방법은 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수(coefficient)들의 제 1 세트를 수신하는 단계, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 수신하는 단계, 및 상기 양자화된 계수들의 제 1 세트와 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키는 단계를 포함한다.
어떠한 실시예들에서, 본 방법은 상기 적어도 하나의 비디오 프레임을 나타내는 가변 길이 계수(variable length coefficient, VLC) 데이터를 수신하는 단계, 및 상기 양자화된 계수들의 제 1 세트와 상기 양자화된 계수들의 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하는 단계를 더 포함하며, 여기서 상기 양자화된 계수들의 제 1 세트와 제 2 세트의 발생을 가져오는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행된다. 어떠한 실시예들에서, 상기 양자화된 계수들의 제 2 세트는 상기 양자화된 계수들의 제 1 세트에 대한 적어도 하나의 정제(refinement)를 지시한다. 어떠한 실시예들에서, 상기 양자화된 계수들의 제 3 세트는 상기 양자화된 계수들의 제 1 세트를 상기 양자화된 계수들의 제 2 세트에 더함(add)으로써 발생된다. 어떠한 실시예들에서, 상기 양자화된 계수들의 제 1 세트는 상기 양자화된 계수들의 제 2 세트와 결합되어 상기 양자화된 계수들의 제 1 세트와 관련되는 제 1 양자화 파라미터와 상기 양자화된 계수들의 제 2 세트에 관련되는 제 2 양자화 파라미터에 일부 기초하여 상기 양자화된 계수들의 제 3 세트를 생성한다. 어떠한 실시예들로, 상기 제 1 양자화 파라미터와 제 2 양자화 파라미터는 1이 아닌 공통 분모(denominator)를 갖는다.
다른 실시예는 멀티미디어 데이터를 처리하는 장치를 포함한다. 상기 장치는 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트를 수신하는 수단, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 수신하는 수단, 및 상기 양자화된 계수들의 제 1 세트와 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키는 수단을 포함한다.
어떠한 실시예들로, 상기 장치는 상기 적어도 하나의 비디오 프레임을 나타내는 VLC 데이터를 수신하는 수단, 및 상기 양자화된 계수들의 제 1 세트와 상기 양자화된 계수들의 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하는 수단을 더 포함하며, 상기 양자화된 계수들의 제 1 세트와 제 2 세트의 발생을 가져오는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행된다. 어떠한 실시예들에서, 상기 양자화된 계수들의 제 1 세트와 상기 양자화된 계수들의 제 2 세트에 관련되는 양자화 파라미터들은 1 외의 공통 분모를 갖는다. 어떠한 실시예들에서, 상기 공통 분모는 6이다. 어떠한 실시예들에서, 상기 양자화된 계수들의 제 3 세트를 발생시키는 수단은 상기 양자화된 계수들의 제 2 세트에 가산되는 상기 양자화된 계수들의 제 1 세트를 이용한다. 어떠한 실시예들에서, 상기 양자화된 계수들의 제 3 세트를 발생시키기 위해 상기 양자화된 계수들의 제 1 세트를 상기 양자화된 계수들의 제 2 세트에 가산(add)하는 것은 상기 양자화된 계수들의 제 1 세트에 관련되는 제 1 양자화 파라미터와 상기 양자화된 계수들의 제 2 세트에 관련되는 제 2 양자화 파라미터에 일부 기초한다. 어떠한 실시예들로, 상기 양자화된 계수들의 제 2 세트는 상기 양자화된 계수들의 제 1 세트에 대한 적어도 하나의 정제(refinement)를 지시한다.
추가적인 실시예는 멀티미디어 데이터를 처리하는 장치를 포함한다. 상기 장치는 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트와 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 수신하도록 구성되는 수신 모듈, 및 상기 양자화된 계수들의 제 1 세트와 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키도록 구성되는 처리 모듈을 포함한다.
또 다른 실시예는 멀티미디어 데이터를 처리하는 명령들을 포함하는 기계 판독가능 매체(machine readable medium)를 포함하며, 여기서 상기 명령들은 실행시 기계로 하여금 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트를 결정하고, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 결정하고, 그리고 상기 양자화된 계수들의 제 1 세트와 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 인코딩하게 한다.
다른 실시예는 멀티미디어를 처리하는 처리기를 포함한다. 상기 처리기는 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트를 결정하고, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 결정하고, 그리고 상기 양자화된 계수들의 제 1 세트와 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키도록 구성된다.
본 상세한 설명이나 이하의 실시예 중 어느 것도 본 발명을 한정하고자 하는 것은 아니다. 본 발명은 청구항들에 의해 한정된다.
도 1A는 스트리밍 비디오의 전달(delivery)을 위한 인코딩 시스템의 예의 도시이다;
도 1B는 도 1A의 인코딩 시스템의 예시적인 제 1 처리기와 제 2 처리기의 도시이다;
도 2는 비디오를 인코딩하는 일례의 순서도이다;
도 3은 도 1A의 제 1 처리기에 의해 수행되는 일례의 프로세스의 순서도이다; 그리고
도 4는 양자화된 계수들의 제 1 및 제 2 세트에 의해 본래의 표현되는 비디오를 나타내는 양자화된 계수들의 제 3 세트를 발생시키는 일례의 프로세스의 순서도이다.
기저 계층(base layer)과 하나 이상의 확장 계층(enhancement layer)들을 포함하는, 비디오의 다중(multiple) 계층들을, 감소된 디코더 오버헤드(overhead)로써 제공하는 방법들과 장치들이 기재된다. 기저 계층과 확장 계층 계수(coefficient)들은 양 계층들이 디코딩에 이용가능할 때 역양자화(dequantization) 전에 여기 기재된 어떠한 실시예들에 따라 디코더 장치에 의해 결합되어, 디코딩의 효율성을 개선할 수 있다.
이하의 실시예에서, 특정한 세부사항들이 실시예들의 총괄적 이해를 제공하기 위해 주어진다. 그러나, 당해 기술분야에서 통상의 지식을 가진 자는 상기 실시예들이 이러한 특정 세부사항들 없이도 실시될 수 있음을 알 것이다. 예를 들어, 전기적 컴포넌트들은 불필요하게 상세히 상기 실시예들을 모호하게 하지 않게 하기 위해 블록도들로 도시될 수 있다. 다른 보기들에서, 그러한 컴포넌트들, 다 른 구조들과 기술들이 상기 실시예들을 추가로 설명하기 위해 도시될 수 있다.
또한 상기 실시예들은 프로세스로서 기재될 수 있으며, 이는 순서도, 순서 다이어그램, 구조도, 또는 블록도로서 그려진다. 순서도가 동작들을 순차적인 프로세스로서 기재할 수 있을지라도, 상기 동작들 다수가 병렬로 또는 동시에 수행될 수 있으며 상기 프로세스는 반복될 수 있다. 추가로, 상기 동작들의 순서는 재-배열될 수 있다. 프로세스는 그 동작들이 완료될 때 종료된다. 프로세스는 방법, 함수(function), 절차, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응할 때, 그 종료는 호출 함수(calling function) 또는 주(main) 함수로의 상기 함수의 복귀(return)에 대응한다.
종래의 단일 계층 디코더에서, I 프레임들, P 프레임들과 B 프레임들의 디코딩 모두는 유사한 경로를 따른다. 인트라-코딩된 비디오를 나타내건 아니면 잔여(residual) 오류들을 나타내건, 상기 계수들이 역양자화(dequantize)되고, 역 변환(inverse transform)되고 그리고 나서 각각 공간 예측(spatial prediction) 계수들 또는 최적 매칭(best maching) 매크로블록(macroblock) 계수들과 결합된다.
이하에 기재되는 인코딩 및 디코딩 프로세스들은 효율성을 증가시키는 방식으로 비디오 데이터를 디코딩하는 것을 담당하는 컴포넌트들에 대해 투명한 상기 기저 계층 및/또는 확장 계층(들)의 스케일러블(scalable) 디코딩을 수행한다. 그 자신의 패스(pass)에서 각각을, 각각의 계층을 별도로 디코딩하고, 그리고 나서 상기 디코딩된 계층들을 결합하는 대신(이는 이중(dual)-계층 디코딩을 투명하게 하기 위한 비효율적인 2-패스(two-pass) 방식이다), 상기 디코더에 대한 효율적인 투 명성(transparency)이, 결합된 데이터가 단일 패스 내의 하드웨어 비디오 코어에서 디코딩되기 전에, 디지털 신호 처리기(DSP)와 같은 전처리기(preprocessor)를 이용함으로써와 같이, 상기 기저 계층 데이터와 확장 계층 수정사항(modification)들을 상기 기저 계층 데이터로 결합함으로써 이뤄질 수 있으며, 더 높은 효율성을 제공한다.
도 1A는 비디오의 다중 계층들을 디코딩하는 디코더 장치(100)의 예시의 도시이다. 상기 디코더 장치(110)는, 역양자화 컴포넌트(120)와 역 변환 컴포넌트(115)를 포함하는, 비디오 코어(110), 제 1 처리기(180) 및 제 2 처리기(135)를 포함한다. 상기 디코더 장치(100)는 (a) 스토리지 컴포넌트(145)(이는 상기 디코더 장치(100)에 대해 내장 또는 외장형일 수 있음), 및 디스플레이 컴포넌트(190)에 맞물려진다. 도 1에 관련되는 논의와 도시 목적을 위해, 상기 스토리지 컴포넌트(145)는 상기 디코더 장치(100)에 외장형이라고 가정한다.
상기 디코더 장치(100)는 인코딩된 데이터를 외장 스토리지 장치(145) 또는 네트워크(150)로부터 수신되는 전송으로부터 수신한다. 인코딩된 데이터는 변환된 데이터, 양자화된 데이터, 가변 길이 코딩된(variable length coded, VLC) 데이터 또는 이들의 임의의 조합을 포함할 수 있다. 나아가, 상기 인코딩된 데이터는, 기저 계층 데이터와 확장 계층 데이터와 같은, 비디오의 별도의 계층들에 대한 데이터를 포함할 수 있다. 예를 들어, 통신 컴포넌트(140)는 기저 계층, 확장 계층, 및 상기 두 개의 계층들에 대한 VLC 데이터를 양자화된 계수들로 변환하기 위한 룩 업 테이블(look up table)을 나타내는 VLC 데이터를 수신할 수 있다. 상기 통신 컴포넌트(140)는 외장 스토리지(145)로부터 인코딩된 데이터를 수신하기 위한 로직과 더불어, 네트워크(150)와 협력하여 인코딩된 데이터를 수신(Rx)하는데 이용되는 로직을 포함한다. 외장 스토리지(145)는, 예를 들어, 외장형 RAM 또는 ROM, 또는 원격 서버일 수 있다.
상기 제 1 처리기(180)는 VLC 데이터를 처리하기 위한 로직을 포함한다. 상기 제 1 처리기(180)는, VLC 테이블 룩 업(look up)들의 수행으로서도 알려진, VLC 심볼 발생(generation), VLC 런 렝스 확장(run length expansion), 및 역 지그재그 스캐닝(inverse zigzag scanning)을 위한 로직을 포함한다. 따라서 제 1 처리기는 언팩된(unpacked) 양자화된(또는 잔여(residual)) 계수들을 주어진 VLC 데이터가 동일한 것을 나타낼 때 생성할 수 있다. 어떠한 환경들에서, 상기 제 1 처리기는 축소 명령 집합 컴퓨터(RISC) 처리기이다.
제 2 처리기(135)는 양자화된 계수들과 같은, 기저 계층 및 확장 계층을 나타내는 데이터를 결합하는데 이용되는 로직을 포함하여, 도 3을 참조로 이하에서 더 상세히 논의되는 바와 같이, 향후에 상기 결합된 데이터가 단일 계층에서 디코딩될 수 있다. 어떠한 실시예들에서, 상기 제 2 처리기(135)는, 예를 들어, 상기 확장 계층이 수신되지 않거나, 손상된 상태(corrupted state)로 수신된다면, 또는 배터리 전력, 또는 처리 전력을 보전하기 위해, 기저 계층 디코딩가능한(decodable) 데이터를 발생시키기 위한 로직을 포함할 수 있다. 어떠한 실시예들에서, 상기 제 2 처리기(135)는 DSP이다.
인트라-코딩된 데이터가 수신될 때, 상기 제 2 처리기(135)는 먼저 상기 데 이터를 처리하여 상기 처리된 데이터를, 비디오 코어(110)의 역 변환 컴포넌트(115)에 의한 역 변환이 이어지는, 역양자화를 위해 비디오 코어(110)의 역양자화 컴포넌트(120)에 전송하여, 디스플레이 컴포넌트(190) 상에 디스플레이될 수 있는 디코딩된 화상(picture)을 도출한다. 다른 한편으로, 인터-코딩된(inter-coded) 데이터는, 그것이 예측되었던, 기준 프레임(reference frame)(들)이 디코딩된 후에 디코딩된다. 잔여(residual) 오류 계수들은 상기 제 2 처리기(135), 역양자화 컴포넌트(120), 및 역 변환 컴포넌트(115)에 의해 처리되어, 디코딩된 잔여 오류를 도출한다. 그리고 나서 상기 잔여 오류가 상기 기준 프레임(들)로부터의 최적 매칭(matching) 매크로블록(들)과 결합된다. 상기 디코딩된 프레임들은 상기 디스플레이 컴포넌트(190)로써 디스플레이되고, 외장 스토리지(145)에 저장되거나 내장 메모리(130)에 저장될 수 있다.
디스플레이 컴포넌트(190)는 디스플레이 스크린을 포함하는, 비디오 디스플레이 하드웨어 및 로직과 같은 부분들을 포함하는 디코딩 장치의 집적 부분일 수 있거나, 외장 주변 장치일 수 있다. 또한 통신 컴포넌트(175)는 상기 디코딩된 프레임들을 외장 스토리지 컴포넌트(185) 또는 디스플레이 컴포넌트(190)에 전달하는데 이용되는 로직을 포함한다. 디코더 장치(100)의 하나 이상의 구성요소들이 재배열 및/또는 결합될 수 있다.
비디오 코어(110)는 두 개의 컴포넌트들, 역양자화 컴포넌트(120)와 역 변환 컴포넌트(115)를 포함한다. 어떠한 실시예들에서, 상기 비디오 코어(110)는 주문형 반도체(ASIC)로서 구현될 수 있다. 상기 역양자화 컴포넌트(120) 및 상기 역 변환 컴포넌트(115)는, 각각 역양자화 및 역 변환을 수행한다. 이러한 역 동작(operation)들이 수행되어 본래의 비디오 데이터를 나타내는 계수들과 비디오 프레임들의 재구성을 허용하여, 상기 잔여 오류 계산들과 확장 계층 계수 계산들이 가능한 정확하게 된다.
역 양자화를 수행할 때, 상기 역양자화 컴포넌트(120)는 상기 변환된 계수들 각각을 양자화된 계수들로서 나타내는데 할당되는 비트들의 수를 이용하여 상기 변환된 계수들을 재생성(recreate)한다. 상기 변환된 계수들의 양자화/역양자화가 모든 블록, 또는 모든 매크로블록에 대해 상이할 수 있다. 매크로블록은 16x16 픽셀들의 블록(16x16 Luma 블록들, 및 두 개의 8x8 Chroma 블록들로 구성됨)일 수 있다. 양자화 파라미터(quantization parameter, QP)는 변환 계수가 양자화된 계수들로 양자화될 때 수행되는 양자화의 레벨을 결정한다. 더 많은 디지털 압축이 QP를 증가시킴으로써 실현되어, 상기 계수들의 저 품질(lower quality) 디지털 상(representation)을 제공한다. 일례로, 상기 저 품질 계수들은 SNR 스케일러블(scalable) 비디오 스트림의 기저 계층에서 인코딩될 수 있다. QP를 감소시키는 것은 상기 계수들의 고 품질(higher quality) 디지털 상을 허용한다. 이러한 고 품질 계수들은 SNR 스케일러블 비디오 스트림의 상기 확장(enhancement) 계층에서 인코딩될 수 있다.
역 변환을 수행시, 상기 역 변환 컴포넌트(115)는 상기 변환된 계수들을, 디코딩된 비디오 프레임들과 같은, 공간 영역(spatial domain)으로부터의 비디오 데이터로 변환한다. 상기 변환된 계수들은, DCT(discrete cosine transform)가 이용 되었다면, 주파수 영역을 나타낼 수 있다. 상기 변환된 계수들은 실제 비디오 데이터가 변환되는 인트라-코딩된 데이터일 수 있거나, 또는 공간 예측 잔여(spatial prediction residual)가 변환되는 인트라-코딩된 데이터일 수 있거나, 또는 잔여 오류들이 변환되는 인터-코딩된 데이터일 수 있다. 다른 디지털 변환들은 Hadamard 변환, DWT(discrete wavelet transform), 및 H.264에서 이용되는 바와 같은 정수 변환(integer transform)들을 포함한다.
비디오 디코딩시, 비디오 코어의 하드웨어 실시예는, 예를 들어, 계산상으로 집중적인(intensive) 디코딩 프로세스, 특히 역양자화 및 역 변환을 가속하는데 이용될 수 있다. 하드웨어 비디오 코어는 수 개의 함수(function)들의 동시 실행(파이프라이닝(pipelining))이 가능한 특화된 회로 및/또는 처리기(들)를 포함할 수 있다. 파이프라이닝은 디코딩 시간의 감소를 가능하게 한다. 초과(extra) 역 변환, 초과 역양자화 연산 또는 초과 가산(addition)들과 같은, 표준 파이프라이닝된 플로우(flow)에서의 임의의 중단(interruption)은 전체 프로세스를 늦출 수 있다. 당해 기술 분야에서 통상의 지식을 가진 자에게 상기 비디오 코어의 하나 이상의 실시예들이 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드 또는 이들의 임의의 조합으로써 구현될 수 있음이 명백할 것이다.
통신 컴포넌트(140)는, 네트워크(150)와 같은, 외부 소스로부터 인코딩된 데이터를 수신하는데 이용되는 로직을 포함한다. 또한 상기 외부 소스는, 예를 들어, 외장 스토리지(145), 라이브 비디오 및/또는 오디오 피드(feed)일 수 있으며, 상기 데이터를 수신하는 것은 유선 및/또는 무선 통신을 포함할 수 있다. 상기 인 코딩된 데이터는, 전술한 바와 같이, 변환된 데이터, 양자화된 데이터, 가변 길이 코딩된 데이터 또는 이들의 임의의 조합을 포함할 수 있다. 네트워크(150)는 전화 시스템, 케이블 시스템, 또는 광 섬유 시스템과 같은 유선 시스템의 일부일 수 있거나, 또는 상기 네트워크(150)는 무선 시스템일 수 있다. 무선 통신 시스템들의 경우에, 네트워크(150)는, 예를 들어, 코드 분할 다중 접속(CDMA 또는 CDMA2000) 통신 시스템의 일부를 포함할 수 있거나, 또는 대안적으로, 상기 시스템은 주파수 분할 다중 접속(FDMA) 시스템, 서비스 산업계를 위한 GSM/GPRS(General Packet Radio Service)/EDGE(enhanced data GSM environment) 또는 TETRA(Terrestrial Trunked Radio) 모바일 전화 기술과 같은 시 분할 다중 접속(TDMA) 시스템, 광대역 코드 분할 다중 접속(WCDMA), 고 데이터 레이트(high data rate)(1xEV-DO 또는 1xEV-DO Gold Multicast) 시스템, 또는 일반적으로 기술들의 조합을 채택하는 임의의 무선 통신 시스템일 수 있다. 디코더 장치(100)의 하나 이상의 구성요소들은 재배열 및/또는 결합될 수 있다. 예를 들어, 상기 통신 컴포넌트(140)는 디코더 장치(100)에 대해 외장형일 수 있다.
도 1B는 도 1A의 인코딩 시스템의 예시적인 제 1 처리기(180)와 제 2 처리기(135)의 도시이다. 제 1 처리기(180)는 VLC 데이터를 수신하는 모듈(181) 및 VLC 데이터를 처리하는 모듈(182)을 포함한다. 상기 제 2 처리기(135)는 양자화된 계수들의 제 1 세트를 수신하는 모듈(136), 양자화된 계수들의 제 2 세트를 수신하는 모듈(137), 및 양자화된 계수들의 제 3 세트를 발생시키는 모듈(138)을 포함한다.
어떠한 실시예들에서, 제 1 처리기(180)는 VLC 데이터를 수신하는 모듈(181)을 통해 VLC 데이터를 수신한다. 어떠한 실시예들에서, 상기 VLC 데이터는 단일 또는 다중-계층 비디오 데이터를 나타낼 수 있다. VLC 데이터는, 예를 들어, 도 1에 도시된 바와 같은, 디코더 장치(100)의 통신 컴포넌트(140)로부터 수신될 수 있다. 어떠한 실시예들에서, 적어도 하나의 비디오 프레임을 나타내는 VLC 데이터를 수신하는 수단은 VLC 데이터를 수신하는 모듈(181)을 포함한다. 상기 VLC 데이터를 수신하는 모듈(181)은 상기 VLC 데이터를 VLC 데이터를 처리하는 모듈(182)로 전송하도록 추가로 구성된다. 어떠한 실시예들에서, 양자화된 계수들의 상기 제 1 세트와 양자화된 계수들의 상기 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하는 수단은(여기서 상기 양자화된 계수들의 제 1 세트 및 제 2 세트의 발생을 가져오는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행됨) 상기 VLC 데이터를 처리하는 모듈(182)을 포함한다. VLC 데이터를 처리하는 모듈(182)은 VLC 데이터에 포함되는 정보를 이용하여 VLC 데이터를 확장(expand)하도록 구성된다. 예를 들어, VLC 데이터를 처리하는 모듈(182)은, VLC 데이터에 포함되는 VLC 테이블 정보를 이용하여, VLC 테이블 룩 업(look up)들을 수행하는 것으로도 알려진, VLC 심볼 발생(generation)을 위한 로직을 포함할 수 있다. 상기 VLC 데이터를 처리하는 모듈(182)은 VLC 런 렝스 확장(run length expansion), 및 역 지그재그 스캐닝(inverse zigzag scanning)을 더 포함할 수 있다. VLC 처리기는 상기 확장된 VLC 데이터, 양자화된 계수들을 상기 제 2 처리기(135)에 전송하도록 추가로 구성될 수 있다. 어떠한 실시예들에서, 상기 확장된 VLC 데이터는 비디오 데이터의 다 중 계층들을 나타내는 양자화된 계수들의 다수의 세트들을 포함할 수 있다.
어떠한 실시예들에서, 상기 제 2 처리기(135)는, 양자화된 계수들의 제 1 세트를 수신하는 모듈(136) 및 양자화된 계수들의 제 2 세트를 수신하는 모듈(137)을 통해, 양자화된 계수들의 세트들과 같은, 양자화된 계수 데이터를 수신한다. 어떠한 실시예들에서, 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트를 수신하는 수단은 양자화된 계수들의 제 1 세트를 수신하는 모듈(136)을 포함한다. 어떠한 실시예들에서, 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 수신하는 수단은 양자화된 계수들의 제 2 세트를 수신하는 모듈(137)을 포함한다. 상기 양자화된 계수들의 제 1 및 제 2 세트들은, 예를 들어, 각각, 기저 계층 및 확장 계층 비디오 데이터를 나타낸다. 상기 수신 모듈들(136 및 137)은 수신된 양자화된 계수 데이터를 양자화된 계수들의 제 3 세트를 발생시키는 모듈(138)로 전송하도록 추가로 구성된다. 어떠한 실시예들에서, 상기 양자화된 계수들의 제 1 세트 및 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키는 수단은 양자화된 계수들의 제 3 세트를 발생시키는 모듈(138)을 포함한다. 어떠한 실시예들에서, 양자화된 계수들의 제 3 세트를 발생시키는 모듈(138)은, 도 4를 참조로 개시되는 프로세스와 같이, 여기 논의되는 다중 계층 비디오 코딩 기술들을 이용하여 상기 양자화된 계수들의 제 1 세트 및 양자화된 계수들의 제 2 세트를 결합하도록 구성된다. 따라서 양자화된 계수들의 제 3 세트를 발생시키는 모듈은 상기 양자화된 계수들의 제 1 및 제 2 세트들을 나타내는 양자화된 계수들의 제 3 세트를 발생시킬 수 있다. 어떠한 다른 실시예들에서, 양자화된 계수들의 제 3 세트를 발생시키는 모듈(138)은 계수들의 세트가 상기 두 개의 수신 모듈들(136 및 137)로부터 수신되지 않을 경우에조차 양자화된 계수들의 제 3 세트를 발생시키도록 구성된다.
당해 기술 분야에서 통상의 지식을 가진 자는 정보와 신호들이 다양한 상이한 기술들과 기법들 중 임의의 것을 이용하여 표현될 수 있음을 알 것이다. 예를 들어, 상기 실시예를 통틀어 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩(chip)들은 전압들, 전류들, 전자기 파들, 자기장들 또는 입자들, 광장들 또는 입자들, 또는 이들의 임의의 조합에 의해 표현될 수 있다.
도 2는 본 발명의 일 실시예에 따른 SNR 스케일러블 비디오를 디코딩하는 프로세스의 순서도이다. 도 2가 여기 개시되는 다중 계층 비디오 인코딩의 일 실시예를 이용하여 SNR 스케일러블 비디오를 디코딩하는 하나의 프로세스를 도시할지라도, 다른 프로세스들이, "Scalable Video coding with Two Layer Encoding and Single Layer Decoding"으로서 명명된 미국 특허 출원 번호. 60/660,877에 기재되고 완전하게 여기에 참조로서 삽입되는 바와 같은, 다중 계층 비디오 인코딩의 어떠한 실시예들과 함께 이용될 수도 있다.
프로세스(200)는 다중 계층 비디오 인코딩을 이용하여 기저 계층과 확장 계층으로 구성되는 비디오 스트림을 디코딩하는 플로우(flow)를 도시한다. 단계(201)에서, 디코더 장치의 통신 모듈은 SNR 스케일러블 비디오 스트림에 대한 VLC 데이터를 네트워크로부터 수신한다. 상기 SNR 스케일러블 비디오 스트림은 두 개의 계층들, 기저 계층과 확장 게층을 갖는다. 그리고 나서 통신 모듈은 VLC 데이터를 제 1 처리기(180)로 단계(202)에서 전송한다. 단계(203)에서 상기 제 1 처리기(180)는 VLC 테이블 룩업으로도 알려진, VLC 심볼 발생의 프로세스들을 이용하고, VLC 런 렝스 확장이 이어지며, 그리고 역 지그재그 스캔으로써 완료하여 언팩된(unpacked), 양자화된 계수들을 생성하여, VLC 데이터를 확장한다. 따라서 상기 제 1 처리기(180)는 기저 계층과 확장 계층 모두에 대한 별도의 양자화된 계수 세트들을 산출(yield)한다. 그리고 나서 양자화된 계수들의 두 개의 세트들이 제 2 처리기(135)로 전송된다. 단계(204)에서, 제 2 처리기(135)는 도 3을 참조로 이하에 논의될 바와 같은 어떠한 진보적 특징들을 이용하여 상기 기저 계층을 나타내는 양자화된 계수들의 제 1 세트와 상기 확장 계층을 나타내는 양자화된 계수들의 제 2 세트를 양자화된 계수들의 제 3 세트로 결합한다. 다른 실시예들에서, VLC 데이터를 확장하는 전체 프로세스를 수행하는 제 1 처리기(180) 대신에, 상기 기저 및 확장 계층들을 나타내는 양자화된 계수들의 상기 두 개의 세트들을 산출하기 위해 제 1 처리기(180)가 VLC 심볼 발생을 수행할 수 있으며 그리고 나서 제 2 처리기(135)가 VLC 런 렝스 확장 및 역 지그재그 스캔을 수행할 수 있다.
상기 양자화된 계수들의 제 3 세트는 상기 비디오 코어의 역양자화 컴포넌트로 전송되며, 여기서 단계(205)에서 상기 컴포넌트는 상기 세트 상에 역양자화를 수행하여, 상기 양자화된 계수들의 제 3 세트를 나타내는 변환된 계수들의 세트를 생성한다. 그리고 나서 상기 변환된 계수들이 상기 역 변환 컴포넌트로 전송되며, 여기서 단계(206)에서 상기 변환된 계수들을 생성하기 위해 상기 비디오 스트림에 적용되었던 본래의 변환 함수의 역(inverse)이 이제 상기 변환된 계수들에 적용되어 상기 프로세스를 반대로 하고(reverse) 상기 비디오 스트림을 재생성(recreate)한다. 그리고 나서 비디오 스트림이 내장 메모리에 배치되며 통신 컴포넌트를 이용하여 디스플레이에 전달되고, 그리고 본 프로세스(200)는 완료된다.
도 3은 비디오 데이터의 두 개의 별도의 계층들을 나타내는 양자화된 계수들의 두 개의 세트들을 수신 및 결합하는 하나의 예시 프로세스의 순서도이다. 예시되는 본 프로세스는 도 2의 단계(203)에 대한 훨씬 상세한 사항을 제공한다. 도 1에 도시된 시스템 및 도 2에 도시된 순서도와 같은, 어떠한 실시예들에서, 본 프로세스는 RISC 처리기에 의해 수행될 수 있다. 다른 실시예들로, 다른 종류의 처리기가 이용될 수 있다. 또 다른 실시예들로, 복수의 처리기들을 이용하여 양자화된 계수 데이터를 수신 및 결합할 수 있다. 본 프로세스는 단계(301)에서 먼저 양자화된 계수들의 제 1 세트를 수신함으로써 시작된다. 상기 양자화된 계수들의 제 1 세트는 어떠한 실시예들에서 비디오 데이터의 계층을 나타낼 수 있다. 예를 들어, 상기 계수들의 제 1 세트는 기저 계층을 나타낼 수 있다. 다음으로, 단계(302)에서, 양자화된 계수들의 제 2 세트가 수신된다. 또한 상기 양자화된 계수들의 제 2 세트는 어떠한 실시예들에서 비디오 데이터의 계층을 나타낼 수도 있다. 예를 들어, 상기 계수들의 제 2 세트는 확장 계층을 나타낼 수 있다. 다른 실시예들에서, 상기 계수들의 제 1 세트는 상기 계수들의 제 2 세트 후에 수신될 수 있다. 다른 추가적인 실시예들로, 상기 계수들의 두 개의 세트들은 동시에 수신될 수 있다.
단계(303)에서, 계수들의 제 3 세트가 상기 계수들의 제 1 세트 및 상기 제 2 계수들을 이용하여 발생된다. 어떠한 실시예들에서, 상기 계수들의 제 3 세트는 상기 계수들의 제 1 세트와 계수들의 제 2 세트를 결합함으로써 발생될 수 있다. 어떠한 실시예들에서, 상기 계수들의 제 3 세트는, 도 4를 참조로 이하에서 추가로 논의되는 바와 같이, 상기 계수들의 제 1 세트 및/또는 계수들의 제 2 세트에 관련되는 양자화 파라미터들을 이용하여 발생될 수 있다. 상기 계수들의 제 3 세트가 발생된 후, 본 프로세스는 완료된다.
도 4는 양자화된 계수들의 제 1 및 제 2 세트에 의해 본래적으로 표시되는 비디오에 대한 양자화된 계수들의 제 3 세트를 발생시키는 하나의 예시 프로세스의 순서도이다. 도시된 프로세스는 상기 계수 세트들에 관련되는 양자화 파라미터들이 6인 공통인 분모(denominator)를 갖는 실시예들에 대한 것이다. 다른 실시예들로, 상기 양자화 파라미터들은 공통 분모를 갖지 않을 수 있다. 일 실시예로, 상기 디코더 장치(100)는 기저 및 확장 계층들 모두를 나타내는 상기 양자화된 계수들의 결합 시에 동적으로 QP들을 결정할 수 있다.
본 프로세스는 단계(401)에서 기저 계층 계수 세트 내의 제 1 계수로써 시작된다. 그리고 나서 단계(402)에서 본 프로세스는 반복(iterative) 루프로 이동하며, 여기서 상기 기저 및 확장 계층 계수 세트들 내의 각각의 계수가 결합된다. 특히, 상기 기저 계층 계수 세트 내의 제 1 계수, B1으로써 시작하여, 결합된 계수 세트 내의 대응하는 계수의 값 C1은 B1, 확장 계층 계수 세트 내의 대응하는 계수, E1, 그리고 기저 계층 계수 세트와 확장 계층 계수 세트에 관계되는 양자화 파라미터들 QPB와 QPE를 수반한다. 특히, 단계(403)에서, 상기 등식은 Ci=((QPB-QPE)/3)*Bi+Ei이고, 여기서 i=1...n이며, 그리고 여기서 n은 기저 계층 계수 세트와 확장 계층 계수 세트 간의 가장 긴 계수 세트 내의 계수들의 수이다. 도시된 본 프로세스는 기저 게층 및 확장 계층 양자화를 활용하며 여기서 QPB>QPE이고, QP들 모두가 6인 공통 분모를 갖는다. 따라서 상기 등식은 상기 계수들을 좌측으로 1 비트 시프트(shift)(스케일링(scaling)의 형태)함으로써 상기 기저 계층 계수들을 상기 확장 계층 스케일(scale)로 변환한다.
상기 등식을 이용하여 결합된 계층에 대한 계수들을 발생시키기 위해 기저 및 확장 계층들로부터 계수들을 가산(add)하는 본 프로세스는 단계(404)의 기저 계층 계수 세트 내의 각 계수(이는 상기 도시된 실시예에서 확장 계층 계수 세트에 대해 길이에 있어서 같다)에 대해 반복된다. 그리고 나서 본 프로세스는 기저 계층 계수 세트에서 처리될 계수들이 남아 있지 않을 때 종료된다. 다른 실시예들에서, 다른 등식들을 이용하여 결합된 계수 세트 값들을 계산할 수 있으며, 이는 상이한 또는 공통되지 않은 분모들을 갖는 양자화 파라미터들을 수반할 수 있다.
또한 당업자는 여기 개시된 상기 실시예들에 관련된 다양한 도식적인 논리 블록, 모듈, 회로, 및 알고리듬 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합으로서 구현될 수 있음을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 교환성을 명확하게 나타내기 위해, 다양한 도식적인 컴포넌트, 블록, 모듈, 회로, 및 단계들이 기능성의 관점에서 일반적으로 앞서 기술되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현될 것인지 여부는 특정한 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 달려 있다. 당업자는 각각의 특정한 애플리케이션에 대해서 다양한 방법으로 상기 기술된 기능성을 구현할 수 있지만, 그러한 구현 결정들이 본 발명의 범위를 벗어나도록 하는 것으로 해석되어서는 안 된다.
여기 개시된 실시예들과 관련하여 기재된 상기 다양한 도식적인 논리 블록, 모듈, 그리고 회로는 범용 처리기, 디지털 신호 처리기(DSP), 주문형 반도체(ASIC), 필드 프로그래머블 게이트 어레이(FGPA) 또는 다른 프로그래머블 논리 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 상기 기술된 기능들을 수행하도록 설계된 이들의 임의의 조합으로써 구현되거나 수행될 수 있다. 범용 처리기는 마이크로프로세서일 수 있지만, 대안으로, 상기 처리기는 임의의 종래의 처리기, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 또한 처리기는 컴퓨팅 장치들의 조합, 예컨대, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 함께 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다.
여기 개시된 상기 실시예들과 관련하여 기술된 방법 또는 알고리듬의 단계들은 하드웨어, 처리기에 의해 실행되는 소프트웨어 모듈, 또는 상기 양자의 조합으로 직접 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 소거가능 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체가 상기 처리기에 접속되어 상기 처리기가 상기 저장 매체로부터 정보를 읽고, 상기 저장 매체에 정보를 수록할 수 있다. 대안으로, 상기 저장 매체는 상기 처리기의 구성요소일 수 있다. 상기 처리기 및 저장 매체는 ASIC 내에 탑재될 수 있다. ASIC은 무선 모뎀에 탑재될 수 있다. 대안으로, 상기 처리기 및 저장 매체는 무선 모뎀에 이산 컴포넌트로서 탑재될 수 있다.
상기 개시된 실시예들에 대한 상술내용은 임의의 당업자로 하여금 본 발명을 생산 또는 이용하게 하기 위하여 제시된다. 이러한 실시예들에 대하여 다양한 변형들이 당업자에게 용이하게 명백할 것이며, 여기 정의된 일반 원리들은 본 발명의 사상과 범위를 벗어나지 않고도 다른 실시예들에 적용될 수 있다.
따라서, 기저 계층에서 허용가능(acceptable) 품질 비디오를 그리고 확장 계층에서 고 품질 비디오를 양 계층들 모두를 나타내는 양자화된 계수들의 단일 세트를 발생시킴으로써 최소의 디코더 오버헤드로써 제공하기 위한 방법 및 장치가 기재되었다.

Claims (18)

  1. 상기 적어도 하나의 비디오 프레임을 나타내는(represent) 가변 길이 계수(variable length coefficient, VLC) 데이터를 수신하는 단계;
    적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트 및 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하는 단계;
    상기 양자화된 계수들의 제 1 세트를 수신하는 단계;
    상기 양자화된 계수들의 제 2 세트를 수신하는 단계; 및
    상기 양자화된 계수들의 제 1 세트 및 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생(generate)시키는 단계를 포함하며, 상기 양자화된 계수들의 제 1 세트 및 제 2 세트의 발생을 일으키는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행되는, 멀티미디어 데이터 처리 방법.
  2. 제 1 항에 있어서,
    상기 양자화된 계수들의 제 2 세트는 상기 양자화된 계수들의 제 1 세트에 대한 적어도 하나의 정제(refinement)를 지시하는, 멀티미디어 데이터 처리 방법.
  3. 제 1 항에 있어서,
    상기 양자화된 계수들의 제 3 세트는 상기 양자화된 계수들의 제 1 세트를 상기 양자화된 계수들의 제 2 세트에 가산(add)함으로써 발생되는, 멀티미디어 데이터 처리 방법.
  4. 제 3 항에 있어서,
    상기 양자화된 계수들의 제 1 세트는 상기 양자화된 계수들의 제 1 세트에 관련되는 제 1 양자화 파라미터 및 상기 양자화된 계수들의 제 2 세트에 관련되는 제 2 양자화 파라미터에 일부 기초하여 상기 양자화된 계수들의 제 3 세트를 생성(produce)하기 위해 상기 양자화된 계수들의 제 2 세트와 결합되는, 멀티미디어 데이터 처리 방법.
  5. 제 4 항에 있어서,
    상기 제 1 양자화 파라미터는 상기 제 2 양자화 파라미터의 인수(factor)가 아닌, 멀티미디어 데이터 처리 방법.
  6. 제 4 항에 있어서,
    상기 제 1 양자화 파라미터 및 제 2 양자화 파라미터는 공통 분모(denominator)를 갖지 않는, 멀티미디어 데이터 처리 방법.
  7. 제 4 항에 있어서,
    상기 제 1 양자화 파라미터 및 제 2 양자화 파라미터는 1이 아닌 공통 분모를 갖는, 멀티미디어 데이터 처리 방법.
  8. 제 7 항에 있어서,
    상기 공통 분모는 6인, 멀티미디어 데이터 처리 방법.
  9. 상기 적어도 하나의 비디오 프레임을 나타내는 VLC 데이터를 수신하는 수단;
    적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트 및 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하는 수단;
    상기 양자화된 계수들의 제 1 세트를 수신하는 수단;
    상기 양자화된 계수들의 제 2 세트를 수신하는 수단; 및
    상기 양자화된 계수들의 제 1 세트와 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키는 수단을 포함하며, 상기 양자화된 계수들의 제 1 세트 및 제 2 세트의 발생을 일으키는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행되는, 멀티미디어 데이터 처리 장치.
  10. 제 9 항에 있어서,
    상기 제 1 양자화 파라미터 및 제 2 양자화 파라미터는 공통 분모를 갖지 않 는, 멀티미디어 데이터 처리 장치.
  11. 제 9 항에 있어서,
    상기 양자화된 계수들의 제 1 세트 및 상기 양자화된 계수들의 제 2 세트에 관련되는 양자화 파라미터들은 1이 아닌 공통 분모를 갖는, 멀티미디어 데이터 처리 장치.
  12. 제 11 항에 있어서,
    상기 공통 분모는 6인, 멀티미디어 데이터 처리 장치.
  13. 제 9 항에 있어서,
    상기 양자화된 계수들의 제 3 세트를 발생시키는 수단은 상기 양자화된 계수들의 제 2 세트에 가산(add)되는 상기 양자화된 계수들의 제 1 세트를 이용하는, 멀티미디어 데이터 처리 장치.
  14. 제 13 항에 있어서,
    상기 양자화된 계수들의 제 3 세트를 발생시키기 위해 상기 양자화된 계수들의 제 2 세트에 상기 양자화된 계수들의 제 1 세트를 가산하는 것은 상기 양자화된 계수들의 제 1 세트에 관련되는 제 1 양자화 파라미터 및 상기 양자화된 계수들의 제 2 세트에 관련되는 제 2 양자화 파라미터에 일부 기초하는, 멀티미디어 데이터 처리 장치.
  15. 제 9 항에 있어서,
    상기 양자화된 계수들의 제 2 세트는 상기 양자화된 계수들의 제 1 세트에 대한 적어도 하나의 정제(refinement)를 지시하는, 멀티미디어 데이터 처리 장치.
  16. 상기 적어도 하나의 비디오 프레임을 나타내는 가변 길이 계수(variable length coefficient, VLC) 데이터를 수신하도록 구성되는 VLC 수신 모듈;
    적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트 및 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하도록 구성되는 처리 모듈;
    상기 양자화된 계수들의 제 1 세트 및 상기 양자화된 계수들의 제 2 세트를 수신하도록 구성되는 양자화된 계수 수신 모듈; 및
    상기 양자화된 계수들의 제 1 세트와 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키도록 구성되는 발생(generation) 모듈을 포함하며, 상기 양자화된 계수들의 제 1 세트 및 제 2 세트의 발생을 일으키는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행되는, 멀티미디어 데이터 처리 장치.
  17. 멀티미디어 데이터를 처리하는 명령들을 포함하는 기계 판독가능 매 체(machine readable medium)로서, 상기 명령들은 실행시 기계(machine)로 하여금:
    상기 적어도 하나의 비디오 프레임을 나타내는 가변 길이 계수(variable length coefficient, VLC) 데이터를 수신하고;
    적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트 및 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하고;
    상기 양자화된 계수들의 제 1 세트를 수신하고;
    상기 양자화된 계수들의 제 2 세트를 수신하고; 그리고
    상기 양자화된 계수들의 제 1 세트 및 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키게 하며, 상기 양자화된 계수들의 제 1 세트 및 제 2 세트의 발생을 일으키는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행되는, 기계 판독가능 매체.
  18. 멀티미디어를 처리하는 처리기(processor)로서, 상기 처리기는:
    상기 적어도 하나의 비디오 프레임을 나타내는 가변 길이 계수(variable length coefficient, VLC) 데이터를 수신하고;
    적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 1 세트와 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 2 세트를 발생시키기 위해 상기 VLC 데이터를 처리하고;
    상기 양자화된 계수들의 제 1 세트를 수신하고;
    상기 양자화된 계수들의 제 2 세트를 수신하고; 그리고
    상기 양자화된 계수들의 제 1 세트 및 양자화된 계수들의 제 2 세트를 이용하여, 상기 적어도 하나의 비디오 프레임을 나타내는 양자화된 계수들의 제 3 세트를 발생시키도록 구성되며, 상기 양자화된 계수들의 제 1 세트 및 제 2 세트의 발생을 일으키는 상기 VLC 데이터 처리는 단일 처리기에 의해 수행되는, 멀티미디어를 처리하는 처리기.
KR1020087010016A 2005-09-27 2006-09-27 다중 계층 비디오 인코딩 KR100964778B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72143505P 2005-09-27 2005-09-27
US60/721,435 2005-09-27

Publications (2)

Publication Number Publication Date
KR20080066709A true KR20080066709A (ko) 2008-07-16
KR100964778B1 KR100964778B1 (ko) 2010-06-21

Family

ID=37763800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087010016A KR100964778B1 (ko) 2005-09-27 2006-09-27 다중 계층 비디오 인코딩

Country Status (8)

Country Link
US (1) US8705617B2 (ko)
EP (1) EP1929787A2 (ko)
JP (2) JP2009510940A (ko)
KR (1) KR100964778B1 (ko)
CN (1) CN101313583B (ko)
AR (1) AR055662A1 (ko)
TW (1) TWI325724B (ko)
WO (1) WO2007038730A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239766B2 (en) 2005-09-27 2012-08-07 Qualcomm Incorporated Multimedia coding techniques for transitional effects
US8767834B2 (en) * 2007-03-09 2014-07-01 Sharp Laboratories Of America, Inc. Methods and systems for scalable-to-non-scalable bit-stream rewriting
MY162861A (en) * 2007-09-24 2017-07-31 Koninl Philips Electronics Nv Method and system for encoding a video data signal, encoded video data signal, method and system for decoding a video data signal
JP5197238B2 (ja) * 2008-08-29 2013-05-15 キヤノン株式会社 映像送信装置、その制御方法、および制御方法を実行するプログラム
JP5174737B2 (ja) * 2009-05-05 2013-04-03 国立大学法人広島大学 画像配信システム、符号装置及び復号装置
GB2496862B (en) * 2011-11-22 2016-06-01 Canon Kk Communication of data blocks over a communication system
JP6210368B2 (ja) * 2012-09-18 2017-10-11 サン パテント トラスト 画像復号方法および画像復号装置
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
US9832481B2 (en) * 2014-01-03 2017-11-28 Qualcomm Incorporated Support of base layer of a different codec in multi-layer video coding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0654196A (ja) 1992-07-31 1994-02-25 Canon Inc 画像処理装置
JPH06244736A (ja) 1993-02-15 1994-09-02 Toshiba Corp 符号化装置
US5510842A (en) * 1994-05-04 1996-04-23 Matsushita Electric Corporation Of America Parallel architecture for a high definition television video decoder having multiple independent frame memories
US6757438B2 (en) 2000-02-28 2004-06-29 Next Software, Inc. Method and apparatus for video compression using microwavelets
JP3170193B2 (ja) * 1995-03-16 2001-05-28 松下電器産業株式会社 画像信号の符号化装置及び復号装置
US6795501B1 (en) * 1997-11-05 2004-09-21 Intel Corporation Multi-layer coder/decoder for producing quantization error signal samples
JPH11346366A (ja) 1998-06-01 1999-12-14 Sony Corp 符号化装置とその方法および復号化装置とその方法
US20020001412A1 (en) 1998-07-21 2002-01-03 Hewlett-Packard Company System for variable quantization in jpeg for compound documents
JP2001245301A (ja) 2000-02-28 2001-09-07 Sharp Corp 符号化装置および符号化方法
US6792044B2 (en) 2001-05-16 2004-09-14 Koninklijke Philips Electronics N.V. Method of and system for activity-based frequency weighting for FGS enhancement layers
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7158684B2 (en) 2002-04-25 2007-01-02 Texas Instruments Incoporated Entropy coding scheme for video coding
AU2003279015A1 (en) 2002-09-27 2004-04-19 Videosoft, Inc. Real-time video coding/decoding
JP2005057738A (ja) 2003-07-18 2005-03-03 Canon Inc 信号処理装置、信号処理方法及びプログラム
JP2005094054A (ja) * 2003-09-11 2005-04-07 Hiroshima Univ 画像符号化装置、その方法およびプログラム、並びにストリーム合成器、その方法およびプログラム
KR100834748B1 (ko) 2004-01-19 2008-06-05 삼성전자주식회사 스케일러블 비디오 스트림 재생 방법 및 장치
KR100703734B1 (ko) * 2004-12-03 2007-04-05 삼성전자주식회사 Dct 업샘플링을 이용한 다 계층 비디오 인코딩/디코딩방법 및 장치
US7778327B2 (en) * 2005-02-08 2010-08-17 Texas Instruments Incorporated H.264 quantization
US7995656B2 (en) 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding

Also Published As

Publication number Publication date
JP5675719B2 (ja) 2015-02-25
TWI325724B (en) 2010-06-01
AR055662A1 (es) 2007-08-29
JP2012239193A (ja) 2012-12-06
EP1929787A2 (en) 2008-06-11
CN101313583B (zh) 2013-04-24
US20070071093A1 (en) 2007-03-29
JP2009510940A (ja) 2009-03-12
WO2007038730A3 (en) 2007-05-24
KR100964778B1 (ko) 2010-06-21
WO2007038730A2 (en) 2007-04-05
US8705617B2 (en) 2014-04-22
TW200737986A (en) 2007-10-01
CN101313583A (zh) 2008-11-26

Similar Documents

Publication Publication Date Title
US7995656B2 (en) Scalable video coding with two layer encoding and single layer decoding
US7974341B2 (en) Rate control for multi-layer video design
JP5069099B2 (ja) 時間スケーラビリティを可能にするハイブリッド映像圧縮におけるフレーム予測のための方法および装置
US8320464B2 (en) Method and apparatus to construct bi-directional predicted frames for temporal scalability
KR100964778B1 (ko) 다중 계층 비디오 인코딩
RU2452128C2 (ru) Адаптивное кодирование информации заголовка видеоблока
JP4981927B2 (ja) Svccgs拡張層コーディングに関するcavlc拡張

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee