KR100621581B1 - 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치 - Google Patents

기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치 Download PDF

Info

Publication number
KR100621581B1
KR100621581B1 KR20040055253A KR20040055253A KR100621581B1 KR 100621581 B1 KR100621581 B1 KR 100621581B1 KR 20040055253 A KR20040055253 A KR 20040055253A KR 20040055253 A KR20040055253 A KR 20040055253A KR 100621581 B1 KR100621581 B1 KR 100621581B1
Authority
KR
South Korea
Prior art keywords
frame
bitstream
base layer
frames
module
Prior art date
Application number
KR20040055253A
Other languages
English (en)
Other versions
KR20060006313A (ko
Inventor
한우진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR20040055253A priority Critical patent/KR100621581B1/ko
Priority to PCT/KR2005/002109 priority patent/WO2006006777A1/en
Priority to JP2007521390A priority patent/JP5026965B2/ja
Priority to EP05765870.0A priority patent/EP1782631A4/en
Priority to CNB2005100831909A priority patent/CN100435585C/zh
Priority to US11/180,634 priority patent/US8031776B2/en
Publication of KR20060006313A publication Critical patent/KR20060006313A/ko
Application granted granted Critical
Publication of KR100621581B1 publication Critical patent/KR100621581B1/ko
Priority to US13/219,026 priority patent/US20110310959A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 비디오 압축에 관한 것으로서, 보다 상세하게는 프리디코더에서 특정 프레임을 기초 계층 프레임으로 대치함으로써 주어진 비트율에 대하여 보다 우수한 화질을 갖는 비디오 스트림을 추출하는 방법에 관한 것이다.
본 발명에 따른 프리디코딩 방법은, 소정의 기준에 따라서 기초 계층이 존재하는 위치에 해당하는 프레임 중에서 생략될 프레임을 결정하는 단계와, 상기 결정된 모드 및 추출 조건에 따라서 상기 비트스트림의 일부를 추출하는 단계로 이루어진다.
스케일러블 비디오 코딩, 시간적 필터링, 공간적 변환, 프리디코더, 목적 비트율, 기초 계층

Description

기초 계층을 포함하는 비트스트림을 프리디코딩, 디코딩하는 방법, 및 장치{Method for pre-decoding, decoding bit-stream including base-layer, and apparatus thereof}
도 1은 종래의 스케일러블 비디오 코딩 시스템의 전체적 구성을 나타내는 도면.
도 2는 본 발명의 일 실시예에 따른 스케일러블 비디오 인코더의 구성을 나타내는 도면.
도 3은 인코더 단에서 본 발명의 일 실시예에 따른 시간적 필터링 과정을 설명하는 도면.
도 4는 최상위 시간적 레벨에 존재하는 고주파 프레임이 상기 비용 함수에 따라서 각 블록별로 다른 방식으로 부호화되는 예를 나타낸 도면.
도 5는 입력 이미지를 웨이블릿 변환에 의하여 서브밴드로 분해하는 과정의 예를 나타낸 도면.
도 6은 발명의 일 실시예에 따른 프리디코더의 구성을 나타낸 도면.
도 7은 인코더 측으로부터 수신되는 비트스트림 구조의 일 예를 도시한 도면.
도 8은 스케일러블 비트스트림의 개략적 구성을 나타내는 도면.
도 9는 GOP 필드의 세부 구조를 나타내는 도면.
도 10은 목적 비트율에 따라서 모드를 분류하는 기준을 설명하는 도면.
도 11은 비트스트림 추출 모듈에서 수행되는 동작을 일 예를 들어서 설명하는 도면.
도 12는 비트스트림 추출 모듈에서 수행되는 동작을 다른 예를 들어서 설명하는 도면.
도 13은 비트스트림 추출 모듈에서의 추출 과정에 따라서 변화되기 이전의 GOP 필드의 구조를 나타낸 도면.
도 14는 제3 모드의 경우에, 비트스트림 추출 모듈에서의 추출 과정에 따라서 변화된 이후의 GOP 필드의 구조를 나타낸 도면.
도 15는 제2 모드의 경우에, 비트스트림 추출 모듈에서의 추출 과정에 따라서 변화된 이후의 GOP 필드의 구조를 나타낸 도면.
도 16은 본 발명의 일 실시예에 따른 스케일러블 비디오 디코더의 구성을 나타낸 도면.
도 17은 도 14와 같이 프리디코더에서 제3 모드에 따라서 일부 프레임이 생략된 GOP의 모션 정보 및 텍스쳐 정보를 프레임 번호 별로 나타낸 도면.
도 18은 도 17과 같은 상황에서 생략된 프레임을 기초 계층을 이용하여 복원하는 과정을 설명하는 도면.
도 19는 Mibile 시퀀스에서 비트율에 대한 PSNR을 나타내는 그래프.
(도면의 주요부분에 대한 부호 설명)
100 : 스케일러블 비디오 인코더 200 : 프리디코더
210 : 비트스트림 수신 모듈 220 : 모드 결정 모듈
230 : 비트스트림 추출 모듈 240 : 비트스트림 전송 모듈
300 : 스케일러블 비디오 디코더 400 : 비트스트림
450 : 기초계층의 비트스트림 500 : 스케일러블 비트스트림
본 발명은 비디오 압축에 관한 것으로서, 보다 상세하게는 프리디코더에서 특정 프레임을 기초 계층 프레임으로 대치함으로써 주어진 비트율에 대하여 보다 우수한 화질을 갖는 비디오 스트림을 추출하는 방법에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 예를 들면 640*480의 해상도를 갖는 24 bit 트루 컬러의 이미지는 한 프레임당 640*480*24 bit의 용량 다시 말해서 약 7.37Mbit의 데이터가 필요하다. 이를 초당 30 프레임으로 전송하는 경우에는 221Mbit/sec의 대역폭을 필요로 하며, 90분 동안 상영되는 영화를 저장하려면 약 1200G bit의 저장공간을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy)을 없애는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 없앰으로서 데이터를 압축할 수 있다. 데이터 압축의 종류는 소스 데이터의 손실 여부와, 각각의 프레임에 대해 독립적으로 압축하는 지 여부와, 압축과 복원에 필요한 시간이 동일한 지 여부에 따라 각각 손실/무손실 압축, 프레임 내/프레임간 압축, 대칭/비대칭 압축으로 나눌 수 있다. 이 밖에도 압축 복원 지연 시간이 50ms를 넘지 않는 경우에는 실시간 압축으로 분류하고, 프레임들의 해상도가 다양한 경우는 스케일러블 압축으로 분류한다. 문자 데이터나 의학용 데이터 등의 경우에는 무손실 압축이 이용되며, 멀티미디어 데이터의 경우에는 주로 손실 압축이 이용된다. 한편 공간적 중복을 제거하기 위해서는 프레임 내 압축이 이용되며 시간적 중복을 제거하기 위해서는 프레임간 압축이 이용된다.
멀티미디어를 전송하기 위한 전송매체는 매체 별로 그 성능이 다르다. 현재 사용되는 전송매체는 초당 수십 Mbit의 데이터를 전송할 수 있는 초고속통신망부터 초당 384 kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. MPEG-1, MPEG-2, MPEG-4, H.263, 또는 H.264(Advanced Video Coding)와 같은 종전의 비디오 코딩은 모션 보상 예측에 기초하여 시간적 중복은 모션 보상 및 시간적 필터링에 의해 제거하고 공간적 중복은 공간적 변환에 의해 제거한다. 이러한 방법 들은 좋은 압축률을 갖고 있지만 주 알고리즘에서 재귀적 접근법을 사용하고 있어 진정한 스케일러블 비트스트림(true scalable bit-stream)을 위한 유연성을 갖지 못한다.
이에 따라 최근에는 웨이블릿 기반(wavelet-based)의 스케일러블 비디오 코딩에 대한 연구가 활발하다. 스케일러블 비디오 코딩은 공간적 영역, 즉 해상도면에서 스케일러빌리티를 갖는 비디오 코딩을 의미한다. 여기서 스케일러빌리티란 압축된 하나의 비트스트림으로부터 부분 디코딩, 즉, 다양한 해상도의 비디오를 재생할 수 있는 특성을 의미한다.
이러한 스케일러빌리티에는 비디오의 해상도를 조절할 수 있는 성질을 의미하는 공간적 스케일러빌리티와 비디오의 화질을 조절할 수 있는 성질을 의미하는 SNR(Signal-to-Noise Ratio) 스케일러빌리티와, 프레임율을 조절할 수 있는 시간적 스케일러빌리티와, 이들 각각을 조합한 것을 포함하는 개념이다.
상기와 같이 공간적 스케일러빌리티는 웨이블릿 변환에 의하여 구현될 수 있으며, SNR 스케일러빌리티는 양자화(quantization)에 의하여 구현될 수 있다. 한편, 시간적 스케일러빌리티를 구현하는 방법으로는 최근, MCTF(Motion Compensated Temporal Filtering), UMCTF(Unconstrained MCTF) 등의 방법이 사용되고 있다.
이와 같은 스케일러빌리티를 지원하는 비디오 코딩 시스템의 전체적 구성은 도 1에 도시하는 바와 같다. 먼저, 인코더(encoder; 40)는 시간적 필터링, 공간적 변환, 및 양자화 과정을 통해 입력 비디오(10)를 부호화하여 비트스트림(20)을 생성한다. 그리고, 프리디코더(pre-decoder; 50)는 디코더(decoder; 60)와의 통신 환경 또는 디코더(60) 단에서의 기기 성능 등을 고려한 조건, 예를 들어, 화질, 해상도 또는 프레임율을 추출 조건으로 하여, 인코더(40)로부터 수신한 비트스트림(20) 일부를 잘라내거나 추출함으로써 간단히 텍스쳐 데이터에 대한 스케일러빌리티를 구현할 수 있다.
디코더(60)는 상기 추출한 비트스트림(25)으로부터 인코더(40)에서 수행된 과정을 역으로 수행하여 출력 비디오(30)를 복원한다. 물론, 상기 추출 조건에 의한 비트스트림의 추출은 반드시 프리디코더(50)에서 수행되어야 하는 것은 아니고 디코더(60)의 프로세싱 능력(processing power)이 부족하여 인코더(40)에서 생성된 비트스트림(20)의 전체 영상을 실시간으로 처리하기 어려운 경우에는 디코더(60)단에서 상기 비트스트림의 추출 과정이 수행될 수도 있다. 물론, 이 과정은 프리디코더(50) 및 디코더(60) 모두에서 수행될 수도 있다.
이러한 스케일러블 비디오 코딩을 이용하면, 비트율(bit-rate), 해상도(resolution), 프레임율(frame-rate)을 모두 프리디코더(50)에서 변형할 수 있는 장점이 있으며, 높은 비트율에서는 압축률 또한 상당히 우수하다. 그러나, 비트율이 충분하지 않은 경우 MPEG-4, H.264 등 기존 코딩 방법에 비교하여 그 성능이 크게 저하되는 문제를 갖고 있다.
이는 복합적인 원인을 안고 있는데, 먼저 낮은 해상도에서는 웨이블릿 변환이 DCT(Discrete Cosine Transform)에 비해서 그 성능이 떨어지는데 일차적인 원인이 있다. 그리고, 다양한 비트율을 지원해야 하는 스케일러블 비디오 코딩의 특성상, 그 중 한 가지 비트율에 최적화되도록 인코딩 과정이 수행되기 때문에 다른 비트율 에서는 그 성능이 떨어지는 것을 또 다른 원인으로 볼 수 있다.
따라서, 프리디코딩(pre-decoding) 과정에서 생기는 화질, 해상도, 또는 프레임율의 열화를 줄이기 위하여 프리디코딩 과정을 보다 효율적으로 수행할 수 있는 방법을 강구할 필요가 있다.
본 발명은 상기한 필요성을 고려하여 창안된 것으로, 낮은 비트율과 높은 비트율에서 고른 성능을 보이는 스케일러블 비디오 코딩 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 프리디코딩 과정을 보다 효율적으로 수행함으로써 절약되는 비트를 다른 프레임에 부여하는 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 프리디코딩 방법은, (a) 소정의 기준에 따라서 상기 기초 계층이 존재하는 위치에 해당하는 프레임 중에서 생략될 프레임을 결정하는 단계; 및 (b) 상기 결정된 모드 및 추출 조건에 따라서 상기 비트스트림의 일부를 추출하는 단계를 포함한다.
상기 기준은, 디코더 단으로 연결된 네트워크의 전송 상태에 따른 전송 가능한 비트율을 의미하는 것이 바람직하다.
상기 (a)단계는, 상기 비트율이 제1 임계치보다 낮은 경우에는, 상기 기초 계층이 존재하는 위치에 해당하는 프레임 전체를 생략하기로 결정하는 단계를 포함한다.
상기 (a)단계는, 상기 비트율이 제1 임계치 보다 높고, 낮은 경우에는, 상기 기초 계층이 존재하는 위치에 해당하는 프레임 중 고주파 프레임을 생략하기로 결정하는 단계를 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른, 비트스트림을 디코딩하는 방법은, (a) 상기 비트스트림 중 기초 계층에 관한 정보에 소정의 코덱을 적용하여 기초 계층을 복원하는 단계; (b) 상기 비트스트림 중 기초 계층 이외의 정보로부터, 일부 프레임이 생략된 차분 프레임을 생성하는 단계; (c) 상기 생략된 프레임의 위치에 대응하는 기초 계층을 삽입하는 단계; 및 (d) 상기 삽입된 기초 계층과 상기 차분 프레임에 대하여 역 시간적 필터링을 수행하여 비디오 시퀀스를 복원하는 단계를 포함한다.
상기 (b) 단계는, 상기 비트스트림 중 기초 계층 이외의 텍스쳐 정보를 역 양자화하여 변환 계수를 출력하는 단계; 및 상기 변환계수를 공간적 영역에서의 변환계수로 역 변환하는 단계를 포함한다.
제5항에 있어서, 상기 기초 계층은, 상기 기초 계층의 해상도를 상기 차분 프레임의 해상도로 업샘플링한 후에 삽입된다.
상기 역 시간적 필터링은, 상기 차분 프레임이 차이 코딩에 의하여 생성된 프레임인 경우는 대응하는 기초 계층과의 합을 구함으로써, 시간적 예측 코딩에 의하여 생성된 프레임인 경우는 해당 참조 프레임 번호 및 모션 벡터를 이용하여 구성되는 예측 프레임과의 합을 구함으로써 수행된다.
상기 코덱으로는, H.264(Advanced Video Coding)을 이용할 수 있다. 그리고, 상기 업샘플링은, 역 웨이블릿 변환에 의하여 수행될 수 있다.
상기한 목적을 달성하기 위하여, 본 발명에 따른, 기초 계층을 포함하는 비트스트림에서 일부 비트스트림을 추출하는 프리디코더는, 소정의 기준에 따라서 상기 기초 계층이 존재하는 위치에 해당하는 프레임 중에서 생략될 프레임을 결정하는 모드 선택 모듈; 및 상기 결정된 모드 및 추출 조건에 따라서 상기 비트스트림의 일부를 추출하는 비트스트림 추출 모듈을 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 비디오 디코더는, 상기 비트스트림 중 기초 계층에 관한 정보에 소정의 코덱을 적용하여 기초 계층을 복원하는 기초 계층 디코더; 상기 비트스트림 중 기초 계층 이외의 정보로부터, 일부 프레임이 생략된 차분 프레임을 생성하는 역 공간적 변환 모듈; 및 상기 생략된 프레임의 위치에 대응하는 기초 계층을 삽입하고, 상기 삽입된 기초 계층과 상기 차분 프레임에 대하여 역 시간적 필터링을 수행하여 비디오 시퀀스를 복원하는 역 시간적 필터링 모듈을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 명세서에서, 기초 계층이라 함은 스케일러블 비디오 인코더에서 실제로 생성되는 비트스트림이 갖는 최고 프레임율보다 낮은 프레임율을, 상기 비트스트림이 갖는 최고 해상도보다 낮은 해상도를 갖는 비디오 시퀀스를 의미한다. 이와 같이, 기초 계층은 상기 최고 프레임율 및 상기 최고 해상도보다 낮은 어떤 프레임율 및 해상도를 가지면 되고, 반드시 상기 비트스트림이 갖는 최저 프레임율 및 최저 해상도를 가질 필요는 없지만, 본 발명의 바람직한 실시예로서 기초 계층은 최저 프레임율 및 최저 해상도를 갖는 것으로 하여 설명할 것이다.
이하, 본 명세서에서, 이러한 최저 프레임율 및 최저 해상도, 또는 후술하는 최고 해상도는 모두 실제로 생성되는 비트스트림을 기준으로 결정하는 것으로, 스케일러블 비디오 인코더 자체가 지원할 수 있는 최저 프레임율이나 최저 해상도, 또는 최고 해상도와는 구별된다.
본 발명의 일 실시예에 따른 스케일러블 비디오 인코더(100)는 도 2에 도시하는 바와 같다. 스케일러블 비디오 인코더(100)는 기초 계층 생성 모듈(110), 시간적 필터링 모듈(120), 모션 추정 모듈(130), 공간적 변환 모듈(150), 양자화 모듈(160), 및 비트스트림 생성 모듈(170), 및 업샘플링 모듈(180)을 포함하여 구성될 수 있다.
입력된 비디오 시퀀스(video sequence)는 기초 계층 생성 모듈(110)과 시간적 필터링 모듈(120)로 입력된다. 기초 계층 생성 모듈(110)은 입력된 비디오 시퀀스를 최저 프레임율 및 최저 해상도를 갖는 비디오 시퀀스로 다운 샘플링함으로써 기초 계층을 생성한 후, 이를 소정의 코덱으로 인코딩하여 비트스트림 생성 모듈(170)에 제공한다. 그리고, 생성된 기초 계층을 업샘플링 모듈(180)에 제공한다. 여기서, 상기 다운 샘플링 방법으로는 다양한 방법이 사용될 수 있겠지만, 이 중 해상도 측면에서의 다운 샘플링은 웨이블릿 변환을 이용한 다운 샘플링 방법을 이용하는 것이 바람직하다.
이와 같이, 시간적, 공간적으로 다운 샘플링된 비디오 시퀀스, 즉 기초 계층을 직접 업샘플링 모듈(180)에 제공할 수도 있지만, 최종 디코더 단에서 기초 계층을 복원하는 경우와 균형을 고려하여, 상기 코덱으로 인코딩된 기초 계층을 다시 같은 코덱으로 디코딩한 결과를 업샘플링 모듈(180)에 제공할 수 있다. 아무튼, 업샘플링 모듈(180)에 제공되는 모듈은 시간적, 공간적으로 다운 샘플링된 비디오 시퀀스이거나, 이를 인코딩 후 디코딩한 결과 중 하나일 수 있는데, 양자를 통칭하여 기초 계층이라고 명하기로 한다.
여기서, 상기 코덱으로는 낮은 비트율에서 상대적으로 우수한 화질을 보이는 코덱을 사용하는 것이 바람직한데, 이러한 코덱으로서는 비웨이블릿 계열인 H.264, MPEG-4 등을 사용할 수 있을 것이다. 여기서 '우수한 화질'이란 동일한 비트율로 압축한 후 복원하였을 때 원래의 영상과의 왜곡이 작은 것을 의미한다. 이러한 화질의 판단 기준으로는 주로 PSNR(Peek Signal-to-Noise Ratio)이 사용된다.
업샘플링 모듈(180)은 기초 계층 생성 모듈(110)을 통하여 생성된 기초 계층을 시간적 필터링을 수행할 프레임의 해상도와 같은 해상도로 업샘플링한다. 여기서도, 역 웨이블릿 변환을 이용하여 업샘플링하는 것이 바람직하다.
한편, 시간적 필터링 모듈(120)은 시간축 방향으로 프레임을 시간축 방향으로 프레 임들을 저주파 프레임(low-pass frame)과 고주파 프레임(high-pass frame)으로 분해함으로써 시간적 중복성을 감소시킨다. 본 발명에서 시간적 필터링 모듈(120)은 시간적 방향으로 필터링을 수행할 뿐만 아니라, 업샘플링된 기초 계층과 해당 프레임의 차이를 이용한 필터링도 함께 수행할 수 있다. 시간적 방향으로 수행하는 필터링을 시간적 차분 코딩(temporal residual coding)이라고 하고, 업샘플링된 기초 계층과의 차이를 이용한 필터링을 차이 코딩(difference coding)이라고 정의한다. 이와 같이, 본 발명에서의 시간적 필터링이란 시간적 방향의 차분 코딩뿐만 아니라 기초 계층을 이용한 차이 코딩도 포함하는 개념으로 이해된다.
참조 프레임을 기준으로 하여 모션 추정을 수행하는 과정은 모션 추정 모듈(130)에 의하여 수행되는데, 시간적 필터링 모듈(120)은 필요할 때마다 모션 추정 모듈(130)로 하여금 모션 추정을 수행하게 하고 그 결과를 리턴 받을 수 있다.
이러한 시간적 필터링 방법으로는, 예컨대 MCTF(motion compensated temporal filtering), UMCTF(unconstrained MCTF) 등을 사용할 수 있다. 도 3은 MCTF(5/3 필터)를 이용한 본 발명의 동작을 설명하는 도면이다. 여기서, 하나의 GOP는 8개의 프레임으로 구성되는 것으로 하고, GOP 경계를 넘어서도 참조를 할 수 있는 것으로 한다. 먼저, 8개의 프레임은 시간적 레벨 1에서, 4개의 저주파 프레임(L)과 4개의 고주파 프레임(H)으로 분해된다. 여기서, 고주파 프레임은 자신의 좌우 프레임을 모두를 참조 프레임으로 하거나, 좌우 프레임 중 하나의 프레임을 참조 프레임으로 할 수 있다. 그 후, 저주파 프레임은 다시 좌우의 고주파 프레임을 이용하여 자신을 업데이트(update)할 수 있다. 이러한 업데이트 과정은 저주파 프레임을 원 프레 임 그대로 사용하지 않고 고주파 프레임을 반영하여 업데이트함으로써, 고주파 프레임에 편중되는 에러를 분산시키는 역할을 한다. 그러나, 이러한 업데이트 과정은 본 발명을 동작하기 위하여 필수적인 내용은 아니므로 이하에서는 업데이트 과정은 생략하고 원 프레임이 그대로 저주파 프레임이 되는 것을 예로 하여 설명한다.
다음, 시간적 레벨 2에서, 시간적 레벨 1의 4개의 저주파 프레임은 다시 2개의 저주파 프레임과 2개의 고주파 프레임으로 분해된다. 그리고, 마지막으로 시간적 레벨 3에서, 시간적 레벨 2의 2개의 저주파 프레임은 1개의 저주파 프레임과 1개의 고주파 프레임으로 분해된다. 이후 최상위 시간적 레벨의 저주파 프레임 1개와 나머지 고주파 프레임 7개를 부호화하여 전송하게 된다.
그런데, 최상위 시간적 레벨, 최저 프레임율을 갖는 프레임에 대응하는 구간에 대해서는 단순한 시간적 차분 코딩 방법과는 다른 방법으로 필터링을 수행한다. 따라서, 현재 GOP 내의 시간적 레벨 3에서, 저주파 프레임(60) 및 고주파 프레임(70)은 차이 코딩에 의하여 필터링 되도록 할 수 있다. 이 중에서도 고주파 프레임(70)은 단순히 차이 코딩에 의하여 필터링 될 수 있지만, 시간적으로 관련이 있는 다른 프레임을 참조할 수 있으므로, 시간적 차분 코딩에 의하여 필터링될 수도 있다. 따라서, 소정의 픽셀 크기의 블록(block) 별로 시간적 차분 코딩과 차이 코딩 중 유리한 방법을 선택하여 상기 블록별로 필터링하는 방법을 사용한다.
이와 같이 유리한 방법을 선택하는 기준으로는 R-D 최적화(Rate-Distortion optimization) 방법을 사용할 수 있다. 시간적 차분 코딩의 방법도 순방향, 역방향, 양방향의 세가지가 존재하므로, 이 세가지 경우와 차이 코딩에 들어가는 비용 함수가 최소가 되는 방법을 블록별로 선택하면 될 것이다.
역방향(backward) 코딩 방법을 선택할 경우의 에러(mean absolute difference; MAD)를 Eb로, 순방향(forward) 코딩 방법을 선택할 경우의 에러를 Ef로, 양방향(bi-directional) 코딩 방법을 사용할 경우의 에러를 Ebi로, 그리고, 기초 계층을 참조 프레임으로 사용하는 경우의 에러를 Ei라고 한다. 그리고, 각각에 소모되는 추가 비트량을 Bb, Bf, Bbi, Bi라고 하면 각각의 비용 함수(cost function)는 다음의 표 1과 같이 정의된다. 여기서, Bb, Bf, Bbi는 각 방향에 대하여 모션 벡터, 참조 프레임 등을 포함하는 모션 정보를 압축하는데 소요되는 비트량을 의미한다. 그런데, 차이 코딩시에는 모션 벡터를 사용하지 않으므로 Bi는 매우 작으므로 Bi는 생략하여도 무방하다.
역방향 코딩의 비용 : Cb = Eb + λ×Bb 순방향 코딩의 비용 : Cf = Ef + λ×Bf 양방향 코딩의 비용 : Cbi = Ebi + λ×Bbi = Ebi + λ×(Bb+Bf) 차이 코딩의 비용 : Ci = α(Ei + λ×Bi) ≒ α×Ei
여기서, λ는 라그랑지안(lagrangian) 계수로서, 압축률에 따라서 결정되는 상수값이다. 모드 선택 모듈(140)은 위의 4가지 비용 중 최저의 모드를 선택함으로써 최상위 시간적 레벨의 고주파 프레임에 대하여 가장 적합한 모드를 선택할 수 있게 된다. 상기 α는 차이 코딩이 반영 되도록 하는 정도를 나타내는 상수로서, α가 1이면 다른 비용 함수와 동등하게 비교하여 선택되도록 하는 경우이며, α가 커질 수록 차이 코딩 방법이 잘 선택되지 않게 된다. 그리고, α가 작아질 수록 B-인트라 모드가 더 많이 선택되게 된다.
도 4는 최상위 시간적 레벨에 존재하는 고주파 프레임이 상기 비용 함수에 따라서 각 블록별로 다른 방식으로 부호화되는 예를 나타낸 것이다. 여기서 하나의 프레임은 16개의 블록으로 이루어져 있으며 MB는 각 블록을 나타내는 것으로 한다. 그리고, F, B, Bi, 그리고 Bintra는 각각 순방향 추정 모드, 역방향 추정 모드, 양방향 추정 모드, 그리고 인트라 추정 모드로 필터링됨을 나타낸다.
도 4에서, 블록 MB0는 Cb, Cf, Cbi, 및 Ci를 비교한 결과 Cf가 최소값이어서 순방향 추정 모드로 필터링되고, 블록 MB15는 Ci가 최소값이어서 B-인트라 모드로 필터링되는 경우를 나타내고 있다.
다시 도 2를 참조한다. 모션 추정 모듈(130)은 시간적 필터링 모듈(120)의 호출을 받아, 시간적 필터링 모듈(120)에서 결정되는 참조 프레임을 기준으로 현재 프레임의 모션 추정을 수행하고 모션 벡터를 구한다. 이러한 움직임 추정을 위해 널리 사용되는 알고리즘은 블록 매칭(block matching) 알고리즘이다. 즉, 주어진 블록을 참조 프레임의 특정 탐색영역 내에서 픽셀단위로 움직이면서 그 에러가 최저가 되는 경우의 변위를 움직임 벡터로 추정하는 것이다. 모션 추정을 위하여 도 4의 예에서와 같이 고정된 블록을 이용할 수도 있지만, 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)에 의한 계층적인 방법을 사용할 수도 있다. 모션 추정 모듈(130)은 모션 추정 결과 구해지는 블록의 크기, 모션 벡터, 참조 프레임 번호 등의 모션 정보를 비트스트림 생성 모듈(170)에 제공한다.
공간적 변환 모듈(150)은 시간적 필터링 모듈(120)에 의하여 시간적 중복성이 제거된 프레임에 대하여, 공간적 스케일러빌리티를 지원하는 공간적 변환법을 사용하여 공간적 중복성를 제거한다. 이러한 공간적 변환법으로는 웨이블릿 변환(wavelet transform)이 주로 사용되고 있다. 공간적 변환 결과 구해지는 계수들을 변환 계수라고 한다.
웨이블릿 변환을 사용하는 예를 보다 자세히 보면, 공간적 변환 모듈(150)은 시간적 중복성이 제거된 프레임에 대하여, 웨이블릿 변환(wavelet transform)을 사용하여 하나의 프레임을 분해하여 저주파 서브밴드(sub-band)와 고주파 서브밴드로 구분하고, 각각에 대한 웨이블릿 계수(wavelet coefficient)를 구한다.
도 5는 입력 이미지 또는 프레임을 웨이블릿 변환에 의하여 서브밴드로 분해하는 과정의 예를 나타낸 것으로, 2단계 레벨로 분할한 것이다. 여기에는 세가지의 고주파 서브밴드, 즉 수평, 수직, 및 대각 위치의 서브밴드가 있다. 저주파 서브밴드, 즉 수평 및 수직 방향 모두에 대하여 저주파인 서브밴드는 'LL'이라고 표기한다. 상기 고주파 서브밴드는 'LH', 'HL', 'HH'로 표기하는데, 이는 각각 수평방향 고주파, 수직방향 고주파, 그리고 수평 및 수직방향 고주파 서브밴드를 의미한다. 그리고, 저주파 서브밴드는 반복적으로 더 분해될 수 있다. 괄호 안의 숫자는 웨이블릿 변환 레벨을 나타낸 것이다.
양자화 모듈(160)은 공간적 변환 모듈(150)에서 구한 변환 계수를 양자화한다. 양자화(quantization)란 임의의 실수값으로 표현되는 상기 변환 계수를 일정 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 소정의 인덱스로 매 칭(matching)시키는 작업을 의미한다. 특히, 공간적 변환 방법으로 웨이블릿 변환을 이용하는 경우에는 양자화 방법으로서 엠베디드 양자화(embedded quantization) 방법을 이용하는 경우가 많다. 이러한 엠베디드 양자화 방법으로는 EZW(Embedded Zerotrees Wavelet Algorithm), SPIHT(Set Partitioning in Hierarchical Trees), EZBC(Embedded ZeroBlock Coding) 등이 있다.
비트스트림 생성 모듈(170)은 기초 계층 생성 모듈(110)로부터 제공되는 인코딩된 기초 계층 데이터와, 양자화 모듈(150)에 의하여 양자화된 변환 계수와, 모션 추정 모듈(130)에 의하여 제공되는 모션 정보를 무손실 부호화하고 출력 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding) 등의 다양한 엔트로피 부호화(entropy coding)를 사용할 수 있다.
도 6은 본 발명의 일 실시예에 따른 프리디코더(pre-decoder; 200)의 구성을 나타낸 도면이다. 이러한 프리디코더(200)는 달리 트랜스코더(transcoder)나 익스트랙터(extractor)라고 불리기도 한다. 마찬가지로, 화질, 해상도 또는 프레임율 등의 추출 조건에 따라서 인코더(100)로부터 수신된 비트스트림의 일부를 추출함으로써 화질, 해상도, 또는 프레임율을 변화시키는, 즉 스케일러빌리티(scalability)를 구현하는 것을 프리디코딩(pre-decoding), 트랜스코딩(transcoding), 또는 익스트랙팅(extracting)이라고 한다.
프리디코더(200)는 비트스트림 수신 모듈(210), 모드 결정 모듈(220), 비트스트림 추출 모듈(230), 및 비트스트림 전송 모듈(240)을 포함하여 구성될 수 있다.
비트스트림 수신 모듈(210)은 인코더(100) 단에서 생성된 비트스트림을 수신한다. 이와 같이 비트스트림을 수신하는 것은 유/무선 네트워크를 불문하고, 구체적 네트워크 망의 종류를 불문하고 수행될 수 있다.
도 7은 인코더(100) 측으로부터 수신되는 비트스트림(300) 구조의 일 예를 도시한 도면이다. 비트스트림(40)은 인코딩된 기초 계층에 대하여 무손실 부호화한 비트스트림인 기초 계층 비트스트림(450)과, 시간적, 공간적으로 스케일러빌리티가 지원되며 양자화 모듈(160)으로부터 전달된 변환 계수를 무손실 부호화한 비트스트림, 즉 스케일러블 비트스트림(500)으로 구성될 수 있다.
도 8에서 도시하는 바와 같이, 이외 계층 비트스트림(500)은 시퀀스 헤더(sequence header) 필드(510) 와 데이터 필드(520)로 구성될 수 있고, 데이터 필드(520)는 하나 이상의 GOP 필드(530, 540, 550)로 구성될 수 있다. 시퀀스 헤더 필드(510)에는 프레임의 가로 크기(2바이트), 세로 크기(2바이트), GOP의 크기(1바이트), 프레임율(1바이트) 등 영상의 특징을 기록한다. 그리고, 데이터 필드(520)는 영상을 나타내는 데이터와, 기타 영상 복원을 위하여 필요한 정보들(모션 정보 등)이 기록된다.
도 9는 각 GOP 필드(510, 520, 550)의 세부 구조를 나타낸 것이다. GOP 필드(510, 520, 550)는 GOP 헤더(551)와, 시간적으로 다른 프레임을 참조하지 않고 인코딩되는 프레임에 관한 정보를 기록하는 T(0) 필드(552)와, 모션 정보 및 모드 정보가 기록되는 MV 필드(553)와, 상기 다른 프레임을 참조하여 인코딩되는 프레임의 정보를 기록하는 'the other T'필드(554)로 구성될 수 있다. 모션 정보에는 블록의 크기와, 각 블록 별 모션 벡터와, 모션 벡터를 구하기 위하여 참조하는 참조 프레임의 번호 등이 포함된다. 이러한 참조 프레임 번호로는 시간적으로 관련성 있는 프레임들 중 하나의 번호 기록될 수도 있고, 차이 코딩이 있는 경우에는 기초 계층 프레임을 지칭하는 번호(다른 프레임이 사용하지 않는 번호를 특정하여 사용할 수 있다)가 기록될 것이다. 이와 같이 차이 코딩에 의해 생성되는 블록은 참조 프레임은 존재하지만 모션 벡터를 존재하지 않는다.
MV 필드(553)에는 각각의 프레임 별로 세부적인, MV(1) 내지 MV(n-1) 필드가 포함된다. 한편, the other T 필드(554)는 각 프레임의 영상을 나타내는 데이터가 기록되는 세부적인, T(1) 내지 T(n-1) 필드가 포함된다. 여기서, n은 GOP의 크기를 의미한다. 도 9에 나타낸 바와 같이, 하나의 GOP(Group of Pictures)에서 저주파 프레임이 GOP의 시작 부분에 위치하고, 그 개수가 하나인 것으로 나타낸 것은 단지 일 예에 불과하고, 인코더(100)에 단에서의 시간적 추정 방법에 따라서 저주파 프레임은 둘 이상이 존재할 수도 있으며, GOP의 첫번째 위치가 아닌 다른 위치에 존재할 수도 있다.
다시 도 6을 참조하면, 모드 결정 모듈(220)에서는 인코더(100) 단에서 전송된 비트스트림(400) 내의 스케일러블 비트스트림(500) 중에서 일부의 비트스트림을 추출할 때 생략할 프레임을 결정한다. 이와 같은 생략 방법을 '향상 생략 모드(enhanced skip mode)'라고 정의할 수 있다. 향상 생략 모드의 기본 발상을 보면, 인코더는 비디오 신호를 시간적 예측 또는 기초 계층을 이용한 예측 방법을 이용하 여 인코딩한다.
프리디코더(200) 단에서는, 목적 비트율이 낮은 경우에는, 기초 계층 프레임에 대응되는 프레임의 텍스쳐(texture) 정보와 모션 정보는 전체적으로 생략된다. 상기 텍스쳐 정보는 시간적 차분 코딩 또는 차이 코딩에 의하여 생성되는 프레임을 의미하며, 모션 정보는 모션 벡터, 참조 프레임 번호, 블록의 크기 등을 포함하는 의미이다.
이를 경우의 수로 나누어 보면, 제1 모드는 목적 비트율이 충분한 경우로서, 생략되는 프레임 없이 모든 프레임이 전송되는 모드이다. 그리고, 제3 모드는 목적 비트율이 일정 이상 낮은 경우로서, 대응되는 기초 계층이 존재하는 프레임은 생략되는 모드이다. 그리고, 제2 모드는, 중간 비트율에 해당하는 경우로서, 대응하는 기초 계층이 존재하는 프레임 중 고주파 프레임만이 생략되고, 상대적으로 중요한 정보를 포함하는 저주파 프레임은 생략되지 않는 모드이다.
이와 같이 세가지 모드로 나누는 기준은, 여러 가지가 있을 수 있겠지만, 디코더 단으로 연결된 네트워크의 전송 상태에 관한 정보에 따라서 전송 가능한 비트율, 즉 목적 비트율을 기준으로 모드를 결정할 수 있다. 도 10은 이와 같이 목적 비트율에 따라서 모드를 분류하는 기준을 설명하는 도면으로서, 목적 비트율에 대하여 제1 임계치(θ 1)와 제2 임계치(θ 2)를 설정한 후, 현재 디코더 단으로 전송 상태를 고려할 때 목적 비트율이 제1 임계치를 넘는 것으로 판단되면 제1 모드를 적용하고, 목적 비트율이 제2 임계치 보다 작은 것으로 판단되면 제3 모드를 적용한다. 그리고, 목적 비트율이 제1 임계치와 제2 임계치 사이에 존재하는 것으로 판단되면 제2 모드를 적용하게 된다.
비트스트림 추출 모듈(230)은 모드 결정 모듈(220)에서 결정된 향상 생략 모드와 추출 조건을 고려하여 비트스트림(400) 내의 스케일러블 비트스트림(500) 중 일부를 추출함으로써 디코더(300) 단으로 전송할 비트스트림을 생성한다. 여기서, 추출 조건은 화질, 해상도, 또는 프레임율 조건을 의미하며, 이러한 추출 조건은 사용자로부터 직접 입력을 받아서, 또는 비트스트림 전송 모듈(240)로부터 얻을 수 있는 전송 가능한 비트율 정보를 이용하여, 결정할 수 있다. 본 발명에서는 단순히 추출 조건만을 고려하여 비트스트림을 추출하는 것이 아니라 향상 생략 모드 및 추출 조건을 함께 고려하여 비트스트림을 추출한다. 왜냐하면, 향상 생략 모드에 따라서 일부 프레임은 생략될 수 있기 때문에 생략된 프레임을 제외한 나머지 프레임에 대하여 추출 조건을 적용하는 경우가 존재하기 때문이다. 이와 같이 생략된 프레임에 의하여 절약되는 비트는 다른 프레임에 주어질 수 있기 때문에, 이것은 자연히 성능 향상으로 연결될 수 있는 것이다.
도 11은 비트스트림 추출 모듈(230)에서 수행되는 동작을 일 예를 들어서 설명하는 도면이다. 여기서, F0, F1, ... F8은 각각의 프레임을 의미하고 각 숫자는 프레임 번호를 의미하며, 'B'는 기초 계층을 의미한다. 여기서, F0 및 F8은 저주파 프레임으로서 기초 계층을 이용하여 차이 코딩된 프레임이다.
만약, 모드 결정 모듈(220)에서 결정된 모드가 제1 모드인 경우에는 비트스트림 추출 모듈(230)에서는 기초 계층을 고려하지 않고 원래의 텍스쳐 정보, 또는 텍스쳐 정보와 모션 정보를 그대로 비트스트림 전송 모듈로 전달한다. 만약, 제3 모드인 경우에는, 기초 계층이 존재하는 프레임 즉, F0, F4, F8에 대한 텍스쳐 정보, 또는 텍스쳐 정보와 모션 정보는 모두 생략되고 비트스트림 전송 모듈(240)로 전달되지 않는다. 이와 같이 기초 계층이 존재하는 프레임인지 여부는 비트스트림 수신 모듈(210)로부터 제공되는, 기초 계층의 프레임 번호 정보 또는 프레임율 정보(이 정보들은 기초 계층 비트스트림(450)의 일부 위치에 기록될 수 있음)를 통하여 알 수 있다.
한편, 모드 결정 모듈(220)에서 결정된 모드가 제2 모드인 경우에는, 비트스트림 추출 모듈(230)은 기초 계층이 존재하는 프레임 중에서 고주파 프레임인 F4에 대한 텍스쳐 정보 및 모션 정보는 생략하고 저주파 프레임인 F0, 및 F8에 대한 텍스쳐 정보는 생략하지 않고 비트스트림 전송 모듈(240)로 전달한다. 여기서, 기초 계층이 존재하는 저주파 프레임과 고주파 프레임은 한 GOP 내에서 각각 하나씩만 존재하는 예를 든 것이지만 인코더(100) 단에서 기초 계층을 생성하는 방법에 따라서 다른 개수 및 다른 위치의 저주파 프레임, 고주파 프레임이 존재할 수 있음은 당업자에게는 자명한 사항이다.
도 12은 비트스트림 추출 모듈(230)에서 수행되는 동작을 다른 예를 들어서 설명하는 도면이다. 여기서 원래의 스케일러블 비트스트림(500)에서 향상 생략 모드 및 추출 조건을 고려하여 판단한 결과 시간적 레벨 2에 존재하는 프레임만 추출하게 되는 경우를 나타낸 것이다. 상기 판단 결과 이와 같이 시간적 차원에서 일부 프레임만을 추출하는 것도 가능하고, 모든 프레임을 추출 대상으로 하되 프레임의 해상 도를 낮추거나, 프레임의 화질을 낮추는 것도 얼마든지 가능하다.
아무튼, 제2 모드 또는 제3 모드인 경우에는 일부 프레임이 생략되므로 그 생략된 비트수만큼 다른 프레임에 할당함으로써 프레임율, 해상도 또는 화질을 높이는데 사용될 수 있다.
도 13 및 도 14는 도 11에서 비트스트림 추출 모듈(230)의 추출 과정에 따라서 스케일러블 비트스트림(500)에서 하나의 GOP 필드(550)가 변화되는 모습을 나타내는 도면이다. 도 13은 변화 이전의 GOP 필드(550)의 구조를 나타낸 도면이다. 제1 모드인 경우에는 본 발명에 따라서 생략되는 프레임이 존재하지 않겠지만(물론 이 경우도 추출 조건 중 프레임율 조건에 따라서 생략되는 프레임은 존재할 수 있다), 제3 모드인 경우에는 F0에 관한 텍스쳐 정보인 T(0)와, F4에 대한 모션정보인 MV(4)와, F4에 대한 텍스쳐 정보인 T(4)는 생략된다. 여기서는 하나의 GOP 내의 프레임만을 표시한 것이므로 도 13에서의 F8은 나타나지 않는다. 제2 모드에 따라서 빗금친 부분이 생략된 GOP 필드(550)의 구조는 도 14에 나타내는 바와 같다.
한편, 제2 모드인 경우에는 기초 계층이 존재하는 프레임 중에서 고주파 프레임에 관한 정보만 생략되어야 하므로, 도 13에서 MV(4)와 T(4)만이 생략된다. 제2 모드에 따라서 고주파 프레임 정보가 생략된 GOP 필드(550)의 구조는 도 15에 나타내는 바와 같다.
이상에서와 같이, 비트스트림 추출 모듈(230)은 모드 정보에 따라서 각 GOP 별로 일부 프레임을 생략하여 스케일러블 비트스트림(500)을 재구성함으로써 새로이 비트스트림을 추출하고 이를 비트스트림 전송 모듈(240)에 전달한다.
비트스트림 전송 모듈(240)은 비트스트림 추출 모듈(230)을 통하여 추출된 비트스트림을 유/무선 네트워크를 통하여 디코더(300) 단으로 전송한다.
도 16은 본 발명의 일 실시예에 따른 스케일러블 비디오 디코더(300)의 구성을 나타낸 도면이다. 스케일러블 비디오 디코더(300)는 비트스트림 해석 모듈(310), 역 양자화 모듈(320), 역 공간적 변환 모듈(330), 역 시간적 필터링 모듈(340), 업샘플링 모듈(350), 및 기초 계층 디코더(360)를 포함하여 구성될 수 있다.
먼저, 비트스트림 해석 모듈(310)은 엔트로피 부호화 방식의 역으로서, 입력된 비트스트림을 해석하여 기초 계층의 정보와, 이외 계층의 정보를 분리하여 추출한다. 여기서, 기초 계층의 정보는 기초 계층 디코더(360)에 제공된다. 그리고, 그 이외 계층의 정보 중 텍스쳐 정보는 역 양자화 모듈(320)에 제공하고, 모션 정보 및 향상 생략 모드 정보는 역 시간적 필터링 모듈(340)에 제공한다.
기초 계층 디코더(360)는 비트스트림 해석 모듈(310)로부터 제공된 기초 계층의 정보를 소정의 코덱으로 디코딩한다. 상기 소정의 코덱으로는 인코딩시 사용된 코덱에 대응하는 코덱이 사용되는데, 이러한 코덱으로는 낮은 비트율에서 우수한 성능을 나타내는 H.264, MPEG-4 등을 이용하는 것이 바람직하다.
업샘플링 모듈(350)은 기초 계층 디코더(360)에서 디코딩된 기초 계층의 프레임을 역 시간적 필터링을 수행할 프레임의 해상도와 동일한 해상도로 업샘플링(upsampling)한다. 이러한 업샘플링 방법으로는 다양한 방법이 있을 수 있겠지만, 최초 인코더(100)에서 해상도 다운샘플링을 수행할 때 사용한 방법을 역으로 사용하는 것이 바람직할 것이다. 만약, 인코더(100)에서 웨이블릿 변환에 의하여 다운 샘플링을 수행하였다면 여기서도 역 웨이블릿 변환에 의하여 업샘플링을 수행할 것이다. 업샘플링 모듈(350)은 필수적 구성요소는 아니며, 만약 기초 계층의 해상도와 상기 필터링을 수행할 프레임의 해상도가 동일한 경우에는 본 모듈(350)은 동작하지 않아도 된다.
한편, 역 양자화 모듈(320)은 비트스트림 해석 모듈(310)로부터 전달된 텍스쳐 정보를 역 양자화하여 변환 계수를 출력한다. 역 양자화 과정은 인코더(100) 단에서 소정의 인덱스로 표현하여 전달한 값으로부터 이와 매칭되는 양자화된 계수를 찾는 과정이다. 인덱스와 양자화 계수 간의 매칭(matching) 관계를 나타내는 테이블은 인코더(100) 단으로부터 전달될 수도 있고, 미리 인코더와 디코더 간의 약속에 의한 것일 수도 있다.
역 공간적 변환 모듈(330)은 공간적 변환을 역으로 수행하여, 상기 변환계수들을 공간적 영역에서의 변환계수로 역 변환한다. 예를 들어, 웨이블릿 방식으로 공간적 변환된 경우에는 웨이블릿 영역에서의 변환 계수를 공간적 영역에서의 변환 계수로 역 변환하는 것이다.
역 시간적 필터링 모듈(340)은 상기 공간적 영역에서의 변환 계수, 즉 차분 프레임을 역 시간적 필터링하여 비디오 시퀀스를 구성하는 프레임들을 복원한다. 역 시간적 필터링을 위하여 역 시간적 필터링 모듈(340)는 비트스트림 해석 모듈(310)로부터 제공되는 모션 정보와 향상 생략 모드 정보, 그리고 기초 계층 디코더(250)로부터 제공되는 기초 계층을 이용한다.
역 시간적 필터링 모듈(340)은 상기 향상 생략 모드에 따라서 생략된 프레임에 대 해서는 그 생략된 프레임에 대응하는 기초 계층으로 교체한 후 역 시간적 필터링 과정을 수행한다. 도 17은 도 14와 같이 프리디코더(200)에서 제3 모드에 따라서 일부 프레임이 생략된 GOP의 모션 정보 및 텍스쳐 정보를 프레임 번호 별로 나타낸 것이다. 여기서 보면, F0 프레임 및 F4 프레임이 생략되어 존재하지 않는다. 이에 따라서 역 시간적 필터링을 수행하기 이전에 생략된 프레임들을 복원하여야 하는데, 이와 관련하여 도 18은 도 17과 같은 상황에서 생략된 프레임을 기초 계층을 이용하여 복원하는 과정을 설명하는 도면이다.
기초 계층 디코더(250)에서 복원된 기초 계층은 그 자체로 최저 프레임율과 최저 해상도를 갖는 비디오 시퀀스로서 직접 출력될 수 있다. 그리고, 상기 복원된 기초 계층은 기초 계층 이외의 프레임을 복원하기 위하여 역 시간적 필터링 모듈(240)에 제공된다.
도 18에서 생략된 프레임인 F0, F4, F8은 기초 계층 디코더(250)에서 복원된 기초 계층을 이용하여 복원될 수 있다. 상기 기초 계층의 위치(0, 4, 8)는 기초 계층 비트스트림(450)에 포함되는 기초 계층의 프레임 번호 또는 기초 계층의 프레임율을 참조하여 알 수 있다. 만약, 복원된 기초 계층과 역 시간적 필터링을 수행할 프레임의 해상도가 다르다면, 업샘플링 모듈(260)에 의하여 기초 계층을 업샘플링한 후 해당 프레임의 위치에 삽입한다. 이와 같이 기초 계층에 의하여 복원되는 프레임 F0, F4, F8은 차분 프레임이 아니라 그 자체로 완성된 저주파 프레임이다. 따라서, 나머지 고주파 프레임인 F1, F2, F3, F5, F6, F7은 인코더(100) 단에서 시간적 필터링된 방식에 따라서, 상기 기초 계층에 의하여 복원된 저주파 프레임 또는 다른 고주파 프레임 중 먼저 복원된 프레임을 참조하여 역 시간적 필터링을 수행할 수 있다. 이와 같이 각 프레임별로 복원되면 그 전체가 하나의 비디오 시퀀스를 이루게 된다.
여기서, 역 시간적 필터링은 인코더(100) 단에서 시간적 필터링을 수행한 방법의 역으로 수행되므로, 인코더(100) 단에서 차이 코딩에 의하여 필터링된 경우는 대응하는 기초 계층과의 합을 구함으로써, 시간적 예측 코딩에 의하여 필터링된 경우는 해당 참조 프레임 번호 및 모션 벡터를 이용하여 구성되는 예측 프레임과의 합을 구함으로써 수행된다.
도 17 및 도 18의 예에서는 제3 모드의 경우를 예로 들었지만, 제2 모드인 경우도 생략된 고주파 프레임만을 기초 계층을 이용하여 복원하는 것으로서 별도의 설명은 생략한다. 그리고, 제1 모드인 경우에는 생략된 프레임이 없으므로 역 시간적 필터링 모듈(240)에서 기초 계층을 이용할 필요는 없게 된다.
지금까지의 설명에서, "모듈(module)"이라는 용어는 소프트웨어 구성요소(software component) 또는 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)과 같은 하드웨어 구성요소(hardware component)를 의미하며, 모듈은 어떤 역할들을 수행한다.  그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다.  모듈은 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다.  따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스(class) 구성요소들 및 태스크(task) 구성요소들과 같은 구성요소들과, 프로세스들(processes), 함수들(functions), 속성들(properties), 프로시저들(procedures), 서브루틴들(sub-routines), 프로그램 코드(program code)의 세그먼트들(segments), 드라이버들(drivers), 펌웨어(firmwares), 마이크로코드(micro-codes), 회로(circuits), 데이터(data), 데이터베이스(databases), 데이터 구조들(data structures), 테이블들(tables), 어레이들(arrays), 및 변수들(variables)을 포함한다.  구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.  뿐만 아니라, 구성요소들 및 모듈들은 통신 시스템 내의 하나 또는 그 이상의 컴퓨터들을 실행시키도록 구현될 수도 있다.
도 19는 Mibile 시퀀스에서 비트율에 대한 PSNR을 비교한 그래프이다. 본 발명에 따른 방법을 사용한 결과는 높은 비트율에서는 기존의 스케일러블 비디오 코딩(SVC) 방법을 사용한 결과와 유사하고, 낮은 비트율에서는 상당히 우수한 결과를 나타낸다. 이 중에서도 α=1인 경우(시간적 차분 코딩과 차이 코딩을 비교 선택하는 경우)는 α=0인 경우(차이 코딩만 하는 경우)에 비하여, 높은 비트율에서는 다소 높은 성능을 보이고 낮은 비트율에서는 다소 낮은 성능을 보인다. 그러나, 양자는 최저 비트율(48kbps)에서는 서로 동일한 성능을 나타내고 있다.
그리고, α=0이고 본 발명에서 제안한 모드 중 하나인 제3 향상 생략 모드를 사용하는 경우는, 낮은 비트율에서는 α=0만을 사용하는 경우와 유사하고, 높은 비트율에서는 α=1만을 사용하는 경우와 유사하다. 결과적으로, 향상 생략 모드를 추가하여 낮은 비트율과 높은 비트율에서 고르게 우수한 성능을 나타냄을 알 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
본 발명에 따르면, 스케일러블 비디오 코딩에 있어서, 낮은 비트율과 높은 비트율에서 고르게 높은 성능을 갖도록 하는 효과가 있다.
또한, 본 발명에 따르면, 프리디코더에서 일부 프레임의 비트를 생략하여 다른 프레임에 제공함으로써 프리디코딩 후 디코딩되는 비디오 시퀀스의 화질을 향상시킬 수 있다.

Claims (18)

  1. 복수의 계층으로 구성된 비디오 프레임을 인코딩하여 생성되는 비트스트림을 프리디코딩(predecoding)하는 방법에 있어서,
    (a) 대응되는 기초 계층의 프레임을 갖는 소정 계층의 프레임들 중에서 생략될 프레임을 결정하는 단계; 및
    (b) 상기 비트스트림 중 상기 생략될 프레임에 해당되는 부분을 잘라내는 단계를 포함하는, 프리디코딩 방법.
  2. 제1항에 있어서, 상기 (a) 단계는
    디코더 단으로 연결된 네트워크의 전송 상태에 따른 전송 가능한 비트율을 기준으로 수행되는, 프리디코딩 방법.
  3. 제2항에 있어서, 상기 (a) 단계는
    상기 비트율이 제1 임계치보다 낮은 경우에는, 상기 소정 계층의 프레임들 전체를 생략하기로 결정하는 단계를 포함하는 프리디코딩 방법.
  4. 제2항에 있어서, 상기 (a) 단계는
    상기 비트율이 제1 임계치보다 높고, 제2 임계치보다 낮은 경우에는, 상기 소정 계층의 프레임들 중 고주파 프레임을 생략하기로 결정하는 단계를 포함하는 프리디코딩 방법.
  5. 복수의 계층으로 구성된 비디오 프레임을 인코딩하여 생성되는 비트스트림을 디코딩하는 방법에 있어서,
    (a) 상기 비트스트림으로부터 기초 계층의 프레임을 복원하는 단계;
    (b) 상기 비트스트림으로부터, 소정 계층의 프레임들을 복원하는 단계;
    (c) 상기 소정 계층에서 생략된 프레임을 상기 생략된 프레임에 대응되는 기초 계층의 프레임으로 대치하는 단계를 포함하는, 비트스트림을 디코딩하는 방법.
  6. 제5항에 있어서, 상기 (a) 단계는
    상기 비트스트림 중 기초 계층에 관한 텍스쳐 정보를 역 양자화하여 변환 계수를 출력하는 단계;
    상기 변환계수를 공간적 영역에서의 변환계수로 역 변환하는 단계; 및
    상기 역 변환된 결과에 대하여 역 시간적 필터링을 수행하는 단계를 포함하는, 비트스트림을 디코딩하는 방법.
  7. 제5항에 있어서, 상기 대치되는 기초 계층의 프레임은
    상기 대치되기 이전에 상기 소정 계층의 해상도로 업샘플링되는, 비트스트림을 디코딩하는 방법.
  8. 삭제
  9. 제5항에 있어서, 상기 (a) 단계는
    H.264(Advanced Video Coding) 코덱을 이용하여 수행되는, 비트스트림을 디코딩하는 방법.
  10. 제7항에 있어서, 상기 업샘플링은
    역 웨이블릿 변환에 의하여 수행되는, 비트스트림을 디코딩하는 방법.
  11. 복수의 계층으로 구성된 비디오 프레임을 인코딩하여 생성되는 비트스트림을 프리디코딩(predecoding)하는 프리디코더에 있어서,
    대응되는 기초 계층의 프레임을 갖는 소정 계층의 프레임들 중에서 생략될 프레임을 결정하는 선택 모듈; 및
    상기 비트스트림 중 상기 생략될 프레임에 해당되는 부분을 잘라내는 비트스트림 추출 모듈을 포함하는 프리디코더.
  12. 제11항에 있어서, 상기 결정에 대한 기준은
    디코더 단으로 연결된 네트워크의 전송 상태에 따른 전송 가능한 비트율인, 프리디코더.
  13. 제12항에 있어서, 상기 선택 모듈은
    상기 비트율이 제1 임계치보다 낮은 경우에는, 상기 기초 계층이 존재하는 위치에 해당하는 프레임 전체를 생략하기로 결정하는 프리디코더.
  14. 제12항에 있어서, 상기 선택 모듈은
    상기 비트율이 제1 임계치보다 높고, 제2 임계치보다 낮은 경우에는, 상기 기초 계층이 존재하는 위치에 해당하는 프레임 중 고주파 프레임을 생략하기로 결정하는 단계를 포함하는 프리디코더.
  15. 복수의 계층으로 구성된 비디오 프레임을 인코딩하여 생성되는 비트스트림을 디코딩하는 비디오 디코더에 있어서,
    상기 비트스트림으로부터 기초 계층의 프레임을 복원하는 제1 계층 디코더;
    상기 비트스트림으로부터, 소정 계층의 프레임들을 복원하는 제2 계층 디코더; 및
    상기 소정 계층에서 생략된 프레임을 상기 생략된 프레임에 대응되는 기초 계층의 프레임으로 대치하는 역 시간적 필터링 모듈을 포함하는 비디오 디코더.
  16. 제15항에 있어서, 상기 대치되는 기초 계층의 프레임은
    상기 대치되기 이전에 상기 소정 계층의 해상도로 업샘플링되는, 비디오 디코더.
  17. 삭제
  18. 제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터로 판독 가능한 프로그램으로 기록한 기록매체.
KR20040055253A 2004-07-15 2004-07-15 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치 KR100621581B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR20040055253A KR100621581B1 (ko) 2004-07-15 2004-07-15 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
PCT/KR2005/002109 WO2006006777A1 (en) 2004-07-15 2005-07-04 Method and apparatus for predecoding and decoding bitstream including base layer
JP2007521390A JP5026965B2 (ja) 2004-07-15 2005-07-04 ベースレイヤを含むビットストリームをプリデコーディング、デコーディングする方法及び装置
EP05765870.0A EP1782631A4 (en) 2004-07-15 2005-07-04 METHOD AND DEVICE FOR PRE-CODING AND DECODING A BITSTROM WITH A BASIC LAYER
CNB2005100831909A CN100435585C (zh) 2004-07-15 2005-07-13 对包括基本层的比特流预解码和解码的方法和设备
US11/180,634 US8031776B2 (en) 2004-07-15 2005-07-14 Method and apparatus for predecoding and decoding bitstream including base layer
US13/219,026 US20110310959A1 (en) 2004-07-15 2011-08-26 Method and apparatus for predecoding and decoding bitstream including base layer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20040055253A KR100621581B1 (ko) 2004-07-15 2004-07-15 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치

Publications (2)

Publication Number Publication Date
KR20060006313A KR20060006313A (ko) 2006-01-19
KR100621581B1 true KR100621581B1 (ko) 2006-09-13

Family

ID=35599374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20040055253A KR100621581B1 (ko) 2004-07-15 2004-07-15 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치

Country Status (6)

Country Link
US (2) US8031776B2 (ko)
EP (1) EP1782631A4 (ko)
JP (1) JP5026965B2 (ko)
KR (1) KR100621581B1 (ko)
CN (1) CN100435585C (ko)
WO (1) WO2006006777A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340177B2 (en) 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
WO2006005182A1 (en) * 2004-07-14 2006-01-19 Slipstream Data Inc. Method, system and computer program product for optimization of data compression
US7570827B2 (en) 2004-07-14 2009-08-04 Slipstream Data Inc. Method, system and computer program product for optimization of data compression with cost function
US9071847B2 (en) 2004-10-06 2015-06-30 Microsoft Technology Licensing, Llc Variable coding resolution in video codec
US8243820B2 (en) 2004-10-06 2012-08-14 Microsoft Corporation Decoding variable coded resolution video with native range/resolution post-processing operation
KR100679022B1 (ko) 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
WO2006080655A1 (en) * 2004-10-18 2006-08-03 Samsung Electronics Co., Ltd. Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
HUE044060T2 (hu) * 2006-01-09 2019-09-30 Musmann Hans Georg A predikciós hiba adaptív kódolása hibrid videó kódolásban
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
AU2012201234B2 (en) * 2006-03-29 2014-08-21 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
KR100781524B1 (ko) 2006-04-04 2007-12-03 삼성전자주식회사 확장 매크로블록 스킵 모드를 이용한 인코딩/디코딩 방법및 장치
KR101322392B1 (ko) * 2006-06-16 2013-10-29 삼성전자주식회사 스케일러블 코덱의 부호화 및 복호화 방법 및 장치
KR20080004340A (ko) 2006-07-04 2008-01-09 한국전자통신연구원 영상 데이터의 스케일러블 코딩 방법 및 그 장치
KR101352979B1 (ko) 2006-07-04 2014-01-23 경희대학교 산학협력단 스케일러블 비디오 인코딩/디코딩 방법 및 그 장치
WO2008004816A1 (en) * 2006-07-04 2008-01-10 Electronics And Telecommunications Research Institute Scalable video encoding/decoding method and apparatus thereof
US8107571B2 (en) 2007-03-20 2012-01-31 Microsoft Corporation Parameterized filters and signaling techniques
RU2454021C2 (ru) * 2007-05-17 2012-06-20 Сони Корпорейшн Устройство и способ обработки информации
KR101385884B1 (ko) * 2008-01-30 2014-04-16 고려대학교 산학협력단 다시점 동영상의 부호화 및 복호화 방법 및 장치
US8953673B2 (en) 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US20100027663A1 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intellegent frame skipping in video coding based on similarity metric in compressed domain
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US20100091841A1 (en) * 2008-10-07 2010-04-15 Motorola, Inc. System and method of optimized bit extraction for scalable video coding
KR101146138B1 (ko) * 2008-12-10 2012-05-16 한국전자통신연구원 시간적 스케일러블 비디오 인코더
KR101557504B1 (ko) * 2009-04-13 2015-10-07 삼성전자주식회사 채널 적응형 비디오 전송 방법, 이를 이용한 장치 및 이를 제공하는 시스템
US8428364B2 (en) 2010-01-15 2013-04-23 Dolby Laboratories Licensing Corporation Edge enhancement for temporal scaling with metadata
US8602722B2 (en) 2010-02-26 2013-12-10 General Electric Company System and method for inspection of stator vanes
US8374113B2 (en) * 2010-06-03 2013-02-12 Cisco Technology, Inc. Distributed gateway for reliable multicast wireless video
US8587660B2 (en) 2010-07-30 2013-11-19 General Electric Company Image recording assemblies and coupling mechanisms for stator vane inspection
KR102030718B1 (ko) * 2011-10-18 2019-10-10 주식회사 케이티 영상 부호화 방법, 영상 복호화 방법, 영상 부호화기 및 영상 복호화기
KR20130049525A (ko) * 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
US20140003494A1 (en) * 2012-01-05 2014-01-02 Yaniv Frishman Device, system and method of video encoding
CN103220550B (zh) * 2012-01-19 2016-12-07 华为技术有限公司 视频转换的方法及装置
EP3588958A1 (en) * 2012-08-29 2020-01-01 Vid Scale, Inc. Method and apparatus of motion vector prediction for scalable video coding
CN109982081B (zh) * 2012-09-28 2022-03-11 Vid拓展公司 用于多层视频编码的自适应上采样
US20150245066A1 (en) * 2012-09-28 2015-08-27 Sony Corporation Image processing apparatus and image processing method
EP3078023B1 (en) 2013-12-02 2019-12-25 Dolby International AB Method for bitrate signaling and bitstream format enabling such method
CN103905843B (zh) * 2014-04-23 2017-05-03 无锡天脉聚源传媒科技有限公司 一种规避连续i帧的分布式音视频处理装置和处理方法
KR20170007665A (ko) * 2015-07-10 2017-01-19 삼성전자주식회사 스킵 모드 정보를 이용한 레이트 조절 인코딩 방법 및 그에 따른 인코딩 장치
CN108076301A (zh) * 2016-11-11 2018-05-25 联芯科技有限公司 VoLTE视频多方电话的视频处理方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0630396A (ja) * 1992-07-10 1994-02-04 Victor Co Of Japan Ltd 動画像符号化復号化装置
KR0185646B1 (ko) * 1996-01-06 1999-05-01 김광호 영상압축장치의 영상압축데이터량 조정회로 및 그 방법
US20030195977A1 (en) 2002-04-11 2003-10-16 Tianming Liu Streaming methods and systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594660A (en) * 1994-09-30 1997-01-14 Cirrus Logic, Inc. Programmable audio-video synchronization method and apparatus for multimedia systems
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
JP2000078573A (ja) * 1998-09-03 2000-03-14 Hitachi Ltd 階層符号化データ配信装置
US6493387B1 (en) * 2000-04-10 2002-12-10 Samsung Electronics Co., Ltd. Moving picture coding/decoding method and apparatus having spatially scalable architecture and signal-to-noise ratio scalable architecture together
JP3766259B2 (ja) * 2000-06-01 2006-04-12 株式会社日立製作所 パケット転送装置
JP2004509581A (ja) * 2000-09-22 2004-03-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ダブル・ループ動き補償ファイン・グラニューラ・スケーラビリティ
ATE330427T1 (de) * 2000-11-23 2006-07-15 Koninkl Philips Electronics Nv Videodekodierungsverfahren und entsprechender dekodierer
US6873655B2 (en) 2001-01-09 2005-03-29 Thomson Licensing A.A. Codec system and method for spatially scalable video data
KR100783396B1 (ko) 2001-04-19 2007-12-10 엘지전자 주식회사 부호기의 서브밴드 분할을 이용한 시공간 스케일러빌러티방법
KR100823244B1 (ko) * 2001-07-21 2008-04-21 삼성전자주식회사 텔레비전에서의 저장 매체를 이용한 방송신호 검색 장치및 방법
CN1253008C (zh) 2001-10-26 2006-04-19 皇家飞利浦电子股份有限公司 空间可分级压缩的方法和设备
US7317759B1 (en) * 2002-02-28 2008-01-08 Carnegie Mellon University System and methods for video compression mode decisions
AU2003239255A1 (en) * 2002-06-28 2004-01-19 Koninklijke Philips Electronics N.V. Spatial scalable compression
AU2004302413B2 (en) * 2003-08-26 2008-09-04 Samsung Electronics Co., Ltd Scalable video coding method and apparatus using pre-decoder
EP1680922A1 (en) * 2003-10-20 2006-07-19 Samsung Electronics Co., Ltd. Bit-rate control method and apparatus for normalizing visual quality

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0630396A (ja) * 1992-07-10 1994-02-04 Victor Co Of Japan Ltd 動画像符号化復号化装置
KR0185646B1 (ko) * 1996-01-06 1999-05-01 김광호 영상압축장치의 영상압축데이터량 조정회로 및 그 방법
US20030195977A1 (en) 2002-04-11 2003-10-16 Tianming Liu Streaming methods and systems

Also Published As

Publication number Publication date
KR20060006313A (ko) 2006-01-19
CN1722831A (zh) 2006-01-18
EP1782631A4 (en) 2013-05-01
US20060013300A1 (en) 2006-01-19
US8031776B2 (en) 2011-10-04
EP1782631A1 (en) 2007-05-09
JP2008506327A (ja) 2008-02-28
WO2006006777A1 (en) 2006-01-19
JP5026965B2 (ja) 2012-09-19
CN100435585C (zh) 2008-11-19
US20110310959A1 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
KR100621581B1 (ko) 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
KR100679011B1 (ko) 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치
KR100703724B1 (ko) 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법
US8116578B2 (en) Method and apparatus for effectively compressing motion vectors in video coder based on multi-layer
KR100631777B1 (ko) 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치
JP4891234B2 (ja) グリッド動き推定/補償を用いたスケーラブルビデオ符号化
US20050226334A1 (en) Method and apparatus for implementing motion scalability
US20050226335A1 (en) Method and apparatus for supporting motion scalability
US20060114999A1 (en) Multi-layer video coding and decoding methods and multi-layer video encoder and decoder
US20050157794A1 (en) Scalable video encoding method and apparatus supporting closed-loop optimization
US20060013311A1 (en) Video decoding method using smoothing filter and video decoder therefor
EP1659797A2 (en) Method and apparatus for compressing motion vectors in video coder based on multi-layer
WO2006004305A1 (en) Method and apparatus for implementing motion scalability
WO2006080655A1 (en) Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer
JP2008512035A (ja) 多階層ビデオコーディングおよびデコーディング方法、ビデオエンコーダおよびデコーダ

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee