KR100703724B1 - 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법 - Google Patents

다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법 Download PDF

Info

Publication number
KR100703724B1
KR100703724B1 KR1020040107960A KR20040107960A KR100703724B1 KR 100703724 B1 KR100703724 B1 KR 100703724B1 KR 1020040107960 A KR1020040107960 A KR 1020040107960A KR 20040107960 A KR20040107960 A KR 20040107960A KR 100703724 B1 KR100703724 B1 KR 100703724B1
Authority
KR
South Korea
Prior art keywords
frame
bitstream
bit rate
current
layer data
Prior art date
Application number
KR1020040107960A
Other languages
English (en)
Other versions
KR20060034195A (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 EP05856385A priority Critical patent/EP1803302A4/en
Priority to CN2005800321957A priority patent/CN101027908B/zh
Priority to PCT/KR2005/003208 priority patent/WO2006080655A1/en
Priority to US11/251,976 priority patent/US7881387B2/en
Publication of KR20060034195A publication Critical patent/KR20060034195A/ko
Application granted granted Critical
Publication of KR100703724B1 publication Critical patent/KR100703724B1/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/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/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/115Selection of the code volume for a coding unit prior to coding
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/127Prioritisation of hardware or computational resources
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods 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 group of pictures [GOP]
    • 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/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/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 가변 네트워크 환경에서 비디오 스트림을 전송하는 비디오 스트림 서버에서 SNR 스케일러빌리티(SNR scalibility)를 구현하는 방법 및 장치에 관한 것이다.
본 발명에 따른 스케일러블 비트스트림의 비트율을 조절하는 장치는, 입력된 비트스트림을 판독하는 비트스트림 판독부와, 상기 가변적 네트워크 상황에 따라서 목적 전송 비트율을 결정하는 프리디코딩 조건 결정부와, 상기 결정된 목적 전송 비트율에 따라서 상기 판독된 비트스트림에 포함되는 프레임 중 적어도 하나 이상의 프레임을 스킵하는 프리디코딩부와, 상기 프레임 스킵 결과 재구성된 비트스트림을 클라이언트 기기로 전송하는 비트스트림 전송부를 포함한다.
스케일러블 비디오 코딩, 다 계층, SNR 스케일러빌리티, 프레임 스킵

Description

다 계층 기반으로 코딩된 스케일러블 비트스트림의 비트율을 조절하는 장치 및 방법{Apparatus and method for adjusting bit-rate of scalable bit-stream coded on multi-layer base}
도 1은 스케일러빌리티를 지원하는 비디오 코딩 시스템의 전체적 구성을 나타낸 개략도.
도 2는 다 계층 구조를 이용한 스케일러블 비디오 코덱의 프레임 배열의 일 예를 도시한 도면.
도 3은 SNR 스케일러빌리티를 구현하는 종래의 방법을 나타낸 도면.
도 4 내지 도 7은 본 발명의 일 실시예에 따른 프레임 스킵 방식을 설명하는 도면.
도 8은 본 발명의 일 실시예에 따른 다 계층 비디오 인코더의 구성을 도시하는 블록도.
도 9는 차분 계수를 DCT 변환한 예를 나타낸 도면.
도 10은 임계 비트율을 설명하는 도면.
도 11 내지 도 14는 본 발명의 일 실시예에 따른 비트 스트림의 구조를 도시한 도면.
도 15는 본 발명의 일 실시예에 따른 프리디코더의 구성을 도시한 블록도.
도 16은 프레임별 프리디코딩의 예를 도식적으로 표시한 도면.
도 17은 프리디코딩 유닛별 프리디코딩의 예을 도식적으로 표시한 도면
도 18은 본 발명의 제1 실시예에 따라서, 프리디코딩부에서 수행되는 동작을 나타낸 흐름도.
도 19는 폐루프 방식으로 코딩된 비트스트림에 대하여 프리디코딩부에서 수행되는 동작을 나타낸 흐름도.
도 20은 본 발명의 제2 실시예에 따라서, 프리디코딩부에서 수행되는 동작을 나타낸 흐름도.
도 21은 프레임 스킵에 의하여 텍스쳐 데이터를 잘라내고 남은 결과를 도시한 도면.
도 22은 프레임 스킵에 의하여 모션 정보를 잘라내고 남은 결과를 도시한 도면.
도 23은 본 발명의 일 실시예에 따른 다 계층 비디오 디코더의 구성을 나타낸 블록도.
(도면의 주요부분에 대한 부호 설명)
100 : 비디오 인코더 160 : 화질 비교부
200 : 프리디코더 210 : 비트스트림 판독부
220 : 프리디코딩부 230 : 비트스트림 전송부
240 : 프리디코딩 조건 결정부 300 : 비트스트림
400 : 비디오 디코더 410 : 스킵 확인부
450 : 업샘플링부
본 발명은 비디오 압축에 관한 것으로서, 보다 상세하게는 가변 네트워크 환경에서 비디오 스트림을 전송하는 비디오 스트림 서버에서 SNR 스케일러빌리티(SNR scalibility)를 구현하는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 예를 들면 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)의 스케일러블 비디오 코딩에 대 한 연구가 활발하다. 스케일러블 비디오 코딩은 공간적 영역, 즉 해상도면에서 스케일러빌리티를 갖는 비디오 코딩을 의미한다. 여기서 스케일러빌리티란 압축된 하나의 비트스트림으로부터 부분 디코딩(partial decoding) 내지 프리디코딩(pre-decoding), 즉, 다양한 해상도의 비디오를 재생할 수 있는 특성을 의미한다.
이러한 스케일러빌리티에는 비디오의 해상도를 조절할 수 있는 성질을 의미하는 공간적 스케일러빌리티와 비디오의 화질을 조절할 수 있는 성질을 의미하는 SNR(Signal-to-Noise Ratio) 스케일러빌리티와, 프레임율을 조절할 수 있는 시간적 스케일러빌리티와, 이들 각각을 조합한 것을 포함하는 개념이다.
상기와 같이 공간적 스케일러빌리티는 웨이블릿 변환에 의하여 구현될 수 있으며, 한편, 시간적 스케일러빌리티를 구현하는 방법으로는 MCTF(Motion Compensated Temporal Filtering), UMCTF(Unconstrained MCTF) 등의 방법이 사용되고 있다. 그리고, SNR 스케일러빌리티는 공간적 관련성을 고려하여 양자화하는 방식인 엠베디드 양자화(embedded quantization), 또는 MPEG 계열의 코덱에서 사용하는 FGS(Fine Granular Scalability) 코딩에 의하여 구현될 수 있다.
이와 같은 스케일러빌리티를 지원하는 비디오 코딩 시스템의 전체적 구성은 도 1에 도시하는 바와 같다. 먼저, 비디오 인코더(encoder; 45)는 시간적 필터링, 공간적 변환, 및 양자화 과정을 통해 입력 비디오(10)를 부호화하여 비트스트림(20)을 생성한다. 그리고, 프리 디코더(pre-decoder; 50)는 비디오 디코더(decoder; 60)와의 통신 환경 또는 비디오 디코더(60) 단에서의 기기 성능 등을 고려한 조건, 예를 들어, 화질, 해상도 또는 프레임율을 추출 조건으로 하여, 비디오 인코더(45)로부터 수신한 비트스트림(20) 일부를 잘라내거나(truncation), 추출함(extraction)으로써 간단히 텍스쳐 데이터에 대한 각종 스케일러빌리티를 구현할 수 있다. 이와 같이 비트스트림의 일부를 잘라내거나 추출하여 스케일러빌리티를 구현하는 과정을 "프리디코딩(predecoding)" 이라고 한다.
비디오 디코더(60)는 상기 프리디코딩된 비트스트림(25)으로부터 비디오 인코더(45)에서 수행된 과정을 역으로 수행하여 출력 비디오(30)를 복원한다. 물론, 프리디코딩 조건에 따라 비트스트림을 프리디코딩하는 것은 반드시 프리디코더(50)에서 수행되어야 하는 것은 아니고 비디오 디코더(60)의 프로세싱 능력(processing power)이 부족하여 비디오 인코더(45)에서 생성된 비트스트림(20)의 전체 영상을 실시간으로 처리하기 어려운 경우에는 비디오 디코더(60)단에서 상기 비트스트림의 프리디코딩 과정이 수행될 수도 있다.
이와 같이, 스케일러빌리티를 지원하는 비디오 코딩 기술에 관하여, 이미 MPEG-21(moving picture experts group-21) PART-13에서 그 표준화 작업을 진행 중에 있다. 여기에서는, 특히 이러한 스케일러빌리티를 다 계층(multi-layered) 기반의 비디오 코딩 방법에 의하여 구현하고자 하는 많은 시도들이 있다. 예를 들면, 기초 계층(base layer), 제1 향상 계층(enhanced layer 1), 제2 향상 계층(enhanced layer 2)의 다 계층을 두어, 각각의 계층은 서로 다른 해상도(QCIF, CIF, 2CIF), 또는 서로 다른 프레임율(frame-rate)을 갖도록 구성할 수 있다.
도 2는 다 계층 구조를 이용한 스케일러블 비디오 코덱의 한 예를 보여주고 있다. 먼저 기초 계층을 QCIF(Quarter Common Intermediate Format), 15Hz(프레임 레이 트)로 정의하고, 제1 향상 계층을 CIF(Common Intermediate Format), 30hz로, 제2 향상 계층을 SD(Standard Definition), 60hz로 정의한다. 만약 CIF 0.5M 스트림(stream)을 원한다면, 제1 향상 계층의 CIF_30Hz_0.7M에서 SNR이 0.5M로 되도록 비트스트림을 프리디코딩하여 전송하면 될 것이다. 이러한 방식으로 공간적, 시간적, SNR 스케일러빌리티를 구현할 수 있다. 물론, 각 계층 간에는 텍스쳐 및 모션 벡터의 유사성이 존재하므로, 복수의 계층을 인코딩할 때에는, 일반적으로 각 계층간의 중복성을 제거하면서 인코딩을 수행하게 된다. 도 2에서는 각 계층 별로 모두 다른 해상도 및 프레임율을 갖는 예를 들었지만, 해상도가 서로 같고 프레임율이 서로 다른 계층들이 존재할 수도 있고, 프레임율이 서로 같고 해상도가 서로 다른 계층들이 존재할 수도 있다.
프리디코더(50)에서 SNR 스케일러빌리티를 구현하는 종래의 방법은 도 3에서 도시하는 바와 같다. 비디오 인코더에서 생성되는 비디오 스트림(20)은 복수의 GOP 들로 구성되고 각 GOP는 복수의 프레임 정보으로 구성된다. 이 중에서 하나의 프레임 정보(40)는 모션 성분(41)과 텍스쳐 성분(42)으로 구성된다. 프리디코더(50)는 현재 디코더 단으로 연결된 네트워크의 대역폭에 따라서 전송 가능한 비트율을 결정하고, 결정된 비트율에 따라서, 원래의 텍스쳐 성분(42) 중 일부분을 잘라내어 버린다. 이와 같이 원래의 텍스쳐 성분(42)을 잘라내고 남은 텍스쳐 성분, 즉 SNR 기준으로 프리디코딩된 텍스쳐 성분(43) 과 모션 성분(41)이 비디오 디코더 단으로 전송된다.
이와 같이, 텍스쳐 성분의 일부분을 뒤쪽에서부터 잘라 버리는 간단한 작업으로 SNR 스케일러빌리티를 구현할 수 있는 것은, 이러한 텍스쳐 성분이 SNR 스케일러빌리티를 지원하는 방식으로 인코딩되어 있기 때문이다. 이와 같이, SNR 스케일러빌리티를 지원하는 인코딩 방식으로서는, MPEG 계열의 코덱에서 사용하는 FGS(Fine Granular Scalability) 코딩 방법, 웨이블릿 계열의 코덱에서는 엠베디드 양자화(embedded quantization) 방법 등이 사용된다. 물론, 엠베디드 양자화에 의하여 생성된 비트스트림은 FGS 코딩에 의하여 생성된 비트스트림에 비하여 상대적으로 더 미세한 단위로 프리디코딩이 수행될 수 있다는 부가적인 장점이 있다.
그러나, 이와 같이 하나의 계층에서 SNR을 변경하여도, 주로 모션 정보에 의한 오버헤드 또는 다계층 비디오 코딩의 구조적 문제로 인하여 사용자가 목적하는 비트율에 도달하지 못하는 경우가 있을 수 있다. 이러한 경우에는 지나치게 데이터를 잘라 버림으로써 화질의 열화가 발생하거나, 더 이상 잘라낼 비트가 없다고 하여 그대로 전송하게 되면 실시간 스트리밍에서 네트워크 지연이 발생하는 등의 문제가 생길 수 있다. 따라서, 이러한 문제를 해결할 수 있는 프리디코딩 방법을 강구할 필요가 있다.
본 발명은 상기한 필요성을 고려하여 창안된 것으로, 가변적 네트워크 상황에 적응적으로 대응할 수 있는 프리디코딩 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 현재 계층의 어떤 프레임의 텍스쳐 정보를 잘라내는 것만으로는 목적 전송 비트율에 도달할 수 없는 문제를 보완하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른, 가변적 네트워크 환경에 따라서 적응적으로 다 계층 기반으로 코딩된 스케일러블 비트스트림의 비트율을 조절하는 장치는, 입력된 비트스트림을 판독하는 비트스트림 판독부; 상기 가변적 네트워크 상황에 따라서 목적 전송 비트율을 결정하는 프리디코딩 조건 결정부; 상기 결정된 목적 전송 비트율에 따라서 상기 판독된 비트스트림에 포함되는 프레임 중 적어도 하나 이상의 프레임을 스킵하는 프리디코딩부; 및 상기 프레임 스킵 결과 재구성된 비트스트림을 클라이언트 기기로 전송하는 비트스트림 전송부를 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른, 다 계층 기반의 비디오 디코더는, 입력된 비트스트림 중 현재 프레임의 텍스쳐 데이터 크기를 표시하는 필드의 값을 판독하여 상기 현재 프레임의 스킵 여부를 확인하는 스킵 확인부; 상기 값이 프레임 스킵을 의미하는 값인 경우에는 상기 현재 프레임과 동일한 시간적 위치를 갖는 하위 계층 프레임을 복원하는 기초 계층 디코더; 및 상기 복원된 하위 계층 프레임을 향상 계층의 해상도로 업샘플링하는 업샘플링부를 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른, 가변적 네트워크 환경에 따라서 적응적으로 다 계층 기반으로 코딩된 스케일러블 비트스트림의 비트율을 조절하는 방법은, 입력된 비트스트림을 판독하는 단계; 상기 가변적 네트워크 상황에 따라서 목적 전송 비트율을 결정하는 단계; 상기 결정된 목적 전송 비트율에 따라서 상기 판독된 비트스트림에 포함되는 프레임 중 적어도 하나 이상의 프레임을 스킵하는 단계; 및 상기 프레임 스킵 결과 재구성된 비트스트림을 클라이언트 기기로 전송하는 단계를 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 디코딩 방법은, 입력된 비트스트림 중 현재 프레임의 텍스쳐 데이터 크기를 표시하는 필드의 값을 판독하여 현재 프레임의 스킵 여부를 확인하는 단계; 상기 값이 프레임 스킵을 의미하는 값인 경우에는 상기 현재 프레임과 동일한 시간적 위치를 갖는 하위 계층 프레임을 복원하는 단계; 및 상기 복원된 하위 계층 프레임을 향상 계층의 해상도로 업샘플링하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명에서는, 다 계층 방식으로 인코딩된 비트스트림의 텍스쳐 성분을 줄이는 것만으로는 현재 프리디코더 단에서 목적하는 전송 비트율(목적 전송 비트율)에 도달하기 어려운 경우에는, SNR 스케일러빌리티를 구현하기 위해 특별한 방법을 사용한다. 이 경우에 프리디코더는 현재 계층의 어떤 프레임을 스킵하고 디코더는 상기 현재 계층의 프레임에 대응되는 기초 계층의 프레임을 이용하여 현재 계층의 프레임을 복원하는 방법을 사용하는 것이다. 이러한 기술은 스케일러빌리티의 범위를 확장하며, 스킵된 프레임의 비트를 절약하고, 비트율이 모자라서 현재 계층 프레임을 일부만 복원되는 것보다 시각적 화질의 관점에서 보다 나은 비디오 프레임을 제공할 수 있다.
이와 같이 본 발명에서 사용하는 스킵 방식을 도 4 내지 도 7을 참조하여 설명한다. 복수의 기초 계층 프레임(A1 내지 A4)과, 복수의 향상 계층 프레임(F1 내지 F8)을 포함하는 비트스트림이 있다고 할 때, 동일한 시간적 위치(예: F1과 A1)에 기초 계층 프레임이 존재하는 향상 계층 프레임은 잘라 버리더라도 디코더 단에서는 동일한 시간적 위치의 기초 계층을 업샘플링하여 복원할 수 있다. 도 4와 같은 예에서는, 프레임 F1, F3, F5, 및 F7은 잘라 버릴 수 있다. 프리디코더에서는 비트스트림을 프리디코딩하는 것만으로는 목적 전송 비트율을 달성할 수 없는 경우에는 동일 위치에 기초 계층 프레임이 존재하는 향상 계층 프레임의 일부 또는 전부를 스킵할 수 있다. 스킵하는 순서는 현재 프리디코딩 유닛의 마지막 프레임부터 역순으로 스킵해 가는 방법을 사용한다. 도 5에서, 두 개의 프레임을 스킵해야 하는 경우라면 도 4의 F7 및 F5를 스킵하고, 비디오 디코더는 A3, 및 A4를 업샘플링하여 생성된 프레임(A3u 및 A4u)으로 향상 계층 프레임 F5 및 F7를 대체할 수 있다.
한편, 도 6은 모든 향상 계층 프레임(F1 내지 F8)에 대하여 기초 계층 프레임(A1 내지 A8)이 존재하는 경우를 예로 든 것이다. 이 경우에는 일단 향상 계층 프레임 중 임의의 프레임을 잘라 버릴 수 있다. 다만, 폐루프 부호화(closed-loop coding) 방식으로 인코딩된 프레임 중에서, I 픽쳐(Intra picture) 및 P 픽쳐(Predictive picture)와 같이 다른 프레임의 참조 프레임으로 사용되는 프레임은 잘라내지 않는 것이 바람직하다. 따라서, 도 6에서 F1이 I 픽쳐이고, F5가 P 픽쳐이며, 나머지 빗금친 프레임이 B 픽쳐(Bidirectional picture)라고 할 때, 프레임을 잘라낼 필요가 있을 때에는 시간적으로 뒤쪽에서부터 B 픽쳐만을 잘라내는 방법을 사용한다.
만약, MCTF와 같이 개루프 코딩(open-loop coding) 방식으로 인코딩된 비트스트림의 경우에는 고주파 프레임(high-pass frame)과 저주파 프레임(low-pass frame)을 구분하지 않고 잘라낼 수 있다. 개루프 코딩에서 저주파 프레임과 고주파 프레임 간에는 에러가 분산되어 있어서, 저주파 프레임의 화질이 다소 떨어지더라도 이를 참조하는 고주파 프레임의 화질이 폐루프 코딩에 비해서는 크게 떨어지지 않기 때문이다.
도 6과 같은 경우에 두 개의 프레임을 잘라낸다면 시간적으로 뒤쪽에서부터 두 개의 프레임(F8, 및 F7)을 잘라내도록 한다. 이와 같이 뒤쪽에서부터 순서대로 프레임을 잘라내는 이유는 프레임간 화질 변화에 따른 깜박임(flickering)을 줄이기 위해서이다. 만약, 도 7과 같이 F3 및 F7을 잘라내고 그 위치에 A3 및 A7의 업샘플링된 프레임(A3u, A7u)으로 대치한다면, 네 번의 깜박임이 발생하는 문제가 발생한다. 본 발명에서 이와 같은 깜박임을 줄이기 위하여 잘라내는 프레임들이 가능한 모여 있도록 하고, 이를 위해 복수의 프레임 중에서 시간적으로 뒤쪽에서부터 순차적으로 프레임을 잘라내는 방식을 사용한다.
본 발명의 일 실시예에 따른 다 계층 비디오 인코더(100)는 도 8에서 도시하는 바 와 같다. 본 실시예는 하나의 기초 계층과 하나의 향상 계층을 사용하는 경우를 예로 든 것이다. 비디오 인코더(100)는 다운 샘플러(110)와, 모션 추정부(121, 131)와, 시간적 변환부(122, 132)와, 공간적 변환부(123, 133)와, 양자화부(124, 134)와, 디코딩부(135)와, 엔트로피 부호화부(150)와, 화질 비교부(160)를 포함하여 구성될 수 있다.
다운 샘플러(110)는 입력된 비디오를 각 계층에 맞는 해상도와 프레임율로 다운 샘플링한다. 만약, 도 2에서와 같이, 기초 계층을 QCIF@15Hz로, 향상 계층을 CIF@30Hz로 사용한다면, 원래 입력된 비디오를 CIF, 및 QCIF 해상도로 각각 다운 샘플링하고, 그 결과를 다시 프레임율 면에서 다시 15Hz 및 30Hz로 다운 샘플링한다. 여기서, 해상도면에서의 다운 샘플링은 MPEG 다운 샘플러나 웨이블릿 다운샘플러를 이용할 수 있고, 프레임율 면에서의 다운 샘플링은 프레임 스킵 또는 프레임 보간 등의 방법을 통하여 수행될 수 있다.
모션 추정부(121)는 향상 계층 프레임에 대해 모션 추정을 수행하여 기초 계층 프레임의 모션 벡터를 구한다. 이러한 모션 추정은 참조 프레임 상에서, 현재 프레임의 블록과 가장 유사한, 즉 가장 에러가 블록을 찾는 과정으로서, 고정 크기 블록 매칭 방법, 또는 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM) 등 다양한 방법을 사용할 수 있다. 이 경우 모션 추정부(131)에서 구한 기초 계층 프레임의 모션 벡터를 이용하여 향상 계층의 모션 벡터 성분을 중복성이 제거된 효율적인 형태로 표현 할 수 있다.
시간적 변환부(122)는 모션 추정부(121)에서 구한 상기 모션 벡터, 및 현재 프레임 과 시간적으로 다른 위치에 있는 프레임을 이용하여 예측 프레임(prediction frame)을 구성하고, 현재 프레임과 예측 프레임을 차분함으로써, 시간적 중복성을 감소시킨다. 그 결과, 잔여 프레임(residual frame)이 생성된다. 물론, 현재 프레임이 다른 프레임을 참조하지 않고 인코딩되는 프레임, 즉 인트라 프레임인 경우에는 모션 벡터를 필요로 하지 않으며 예측 프레임을 이용한 시간적 변환 과정도 생략된다. 이러한 시간적 변환 방법 중에서 시간적 스케일러빌리티를 지원하는 방법으로, 예컨대 MCTF(Motion Compensated Temporal Filtering), 또는 UMCTF(Unconstrained MCTF) 등을 사용할 수 있다.
다만, 향상 계층 프레임이 인트라 프레임인 경우에는 대응되는 위치의 기초 계층 프레임을 이용하여 계층간 텍스쳐의 중복성을 제거하는 방법도 사용되고 있다. 이 경우에는 기초 계층 프레임에 대하여 양자화부(134)까지 거친 결과를 다시 디코딩부(135)에서 디코딩하여 기초 계층 프레임을 복원하고, 복원된 기초 계층 프레임을 이용하여(필요시 업샘플링함) 대응하는 위치에 있는 향상 계층 프레임을 효율적으로 예측(이를 "B-intra prediction"이라고 정의하기도 한다)할 수 있다.
공간적 변환부(123)는 시간적 변환 모듈(110)에 의하여 생성된 잔여 프레임, 또는 원 입력 프레임에 대하여, 공간적 변환을 수행하고 변환 계수를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등의 방법이 사용된다. DCT를 사용하는 경우 상기 변환 계수는 DCT 계수가 될 것이고, 웨이블릿 변환을 사용하는 경우 상기 변환 계수는 웨이블릿 계수가 될 것이다.
양자화부(124)는 공간적 변환부(123)에 의하여 생성되는 변환 계수를 양자화(quantization) 하여 양자화 계수를 생성한다. 이 때, 양자화부(124)는 SNR 스케일러빌리티를 지원할 수 있는 형태로 양자화 계수를 표현한다. 이와 같이, SNR 스케일러빌리티를 지원하는 방식으로서, FGS(Fine Granular Scalability) 코딩, 엠베디드 양자화(embedded quantization) 등의 방법을 이용할 수 있다.
먼저, FGS 방식을 설명하면, 원래의 입력 프레임을 디코딩된 기초 계층 프레임과의 차분을 구하고 상기 구한 차분을 복수의 비트평면으로 분해하는 과정으로 진행된다. 예를 들어, 어떤 DCT 블록의 차분 계수(difference coefficeint)가 도 9와 같이 나타난다고 가정하고(8×8 DCT 블록의 경우이며, 생략된 부분은 모두 0임), 지그-재그 스캔(zig-zag scan)을 이용하면 차이 계수는 {+13, -11, 0, 0, +17, 0, 0, 0, -3, 0, 0, ...}와 같이 배열될 수 있으며, [표 1]과 같이 5개의 비트평면으로 분해될 수 있다. 여기서, 비트평면은 각 계수를 이진수로 나타낼 때 각 차수 별 계수를 그 값으로 갖는다.
[표 1]
+13 -11 0 0 +17 0 0 0 -3 0 ...
비트평면 4 (2 4 ) 0 0 0 0 1 0 0 0 0 0 ...
비트평면 3 (2 3 ) 1 1 0 0 0 0 0 0 0 0 ...
비트평면 2 (2 2 ) 1 0 0 0 0 0 0 0 0 0 ...
비트평면 1 (2 1 ) 0 1 0 0 0 0 0 0 1 0 ...
비트평면 0 (2 0 ) 1 1 0 0 1 0 0 0 1 0 ...
이와 같이 분해된 비트평면의 형태로 표시된 향상 계층은 최상위 차수의 비트평면 4로부터 시작하여 최하위 차수의 비트평면 0까지 순차적으로 각 비트평면 단위로 배열된다. 만약, 프리디코더에서 비트율을 조절하고자 한다면, 상기 최하위 차수의 비트평면으로부터 잘라냄으로써 SNR 스케일러빌리티를 구현할 수 있다. 만약, 비트평면 4와 비트평면 3만 남기고 나머지 비트평면이 제거된다면, 디코더 단에서는 {+8, -8, 0, 0, 16, 0, 0, 0, 0, ...} 값을 수신하게 될 것이다.
한편, 엠베디드 양자화는 공간적 변환에 있어서 웨이블릿 변환 방식을 사용하는 웨이블릿 기반의 코덱에서 사용하기에 적합한 양자화 방법이다. 엠베디드 양자화는 예를 들어, 먼저 최초 문턱값 보다 더 큰 값만을 인코딩하고, 상기 문턱값을 1/2하여 생성된 새로운 문턱값을 넘는 값만을 인코딩하고, 다시 문턱값을 1/2하는 과정을 반복하여 수행한다. 다만, 이 경우 공간적 연관성을 이용하여 양자화를 수행하는 점에서, FGS와는 다소 차이점이 있다. 이러한 엠베디드 양자화 방법으로는, EZW(Embedded Zerotrees Wavelet Algorithm), EZBC(Embedded ZeroBlock Coding), SPIHT(Set Partitioning in Hierarchical Trees) 등이 있다.
이와 같이 어떤 프레임의 텍스쳐 데이터에 대하여 FGS 코딩 또는 엠베디드 양자화를 수행하게 되면, 도 3에서 설명한 바와 같이 사용자가 상황에 따라서 임의로 텍스쳐 데이터를 시간적으로 뒤쪽에서부터 잘라 낼 수 있고 이를 통하여 SNR 스케일러빌리티를 구현할 수 있다.
다시 도 8로 돌아가면, 향상 계층 프레임과 마찬가지로 기초 계층 프레임에 대하여도, 모션 추정부(131)에 의한 모션 추정, 시간적 변환부(132)에 의한 시간적 변환, 공간적 변환부(133)에 의한 공간적 변환, 및 양자화(134) 과정을 거치게 된다.
엔트로피 부호화부(150)은 기초 계층의 양자화부(124) 및 향상 계층의 양자화부(134)에 의하여 생성된 양자화 계수, 기초 계층의 모션 추정부(121)에서 생성된 기 초 계층의 모션 벡터, 및 향상 계층의 모션 추정부(131)에서 생성된 향상 계층의 모션 벡터 성분을 무손실 부호화(내지 엔트로피 부호화)하여 출력 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding) 등의 다양한 부호화 방법이 이용될 수 있다.
이러한, 과정을 통하여 스케일러블 비트스트림이 생성되면, 프리디코더에서는 네트워크 상황에 따라 현재 프레임에 대한 비트스트림을 시간적으로 뒤쪽에서부터 잘라냄으로써 전송 비트율을 조절할 수 있다. 그러나, 현재의 네트워크 상황이 여의치 않아서 비트스트림을 상당량 잘라내어야 한다면, 그 결과 현재 프레임을 복원한 영상은 그 화질면에서 좋지 않다. 극단적으로 현재 프레임의 비트스트림을 줄여 나간다면 모션 성분 외에 모든 텍스쳐 성분을 잘라내게 될 수도 있다. 따라서, 도 10에서와 같이 네트워크 상황에 따라서 비트스트림을 잘라나갈 때, 목적 전송 비트율이 특정 임계 비트율보다 낮은 경우에는 오히려 현재 프레임의 비트스트림은 모두 버리고 비디오 디코더에서는 이에 대응하는 하위 계층 프레임을 엄샘플링하여 현재 프레임을 복원하는 것이 보다 나은 결과를 가져올 수 있다. 문제는 이러한 임계 비트율을 어떻게 찾느냐 하는 것인데, 프리디코더에서는 원 입력 프레임이 존재하지 않아서 화질의 우열을 판단할 수 없으므로, 이러한 임계치 정보는 비디오 디코더(100)에서 결정되어 전달될 수 있다.
이를 위하여, 비디오 인코더(100)는 화질 비교부(160)를 더 구비할 수 있다. 화질 비교부(160)는 엔트로피 부호화부(150)에서 생성된 비트스트림중 향상 계층 프레임 의 텍스쳐 성분을 일부 잘라낸 결과를 디코딩하여 복원한 향상 계층 프레임과, 상기 향상 계층 프레임에 시간적으로 대응되는 기초 계층 프레임을 디코딩하고 이를 향상 계층의 해상도로 업샘플링한 프레임의 화질을 비교한다. 이와 같이 화질을 비교하는 방법으로는, 원 입력 프레임과의 차이의 합을 비교하거나, 원 입력 프레임을 기준으로 PSNR을 구하여 비교하는 방법 등을 이용할 수 있다. 비교 결과, 복원된 향상 계층 프레임의 화질이 대응되는 기초 계층 프레임의 화질보다 우수하다면, 향상 계층 프레임의 텍스쳐 성분을 좀 더 잘라내고 이를 디코딩한 후 다시 비교를 수행한다. 이러한 과정을 반복한다면, 도 10과 같이 비트스트림 상에서 양자의 화질이 동일하게 되는 임계 비트율을 찾아낼 수 있다. 화질 비교부(160)는 이러한 임계 비트율은 엔트로피 부호화부(150)에서 생성된 비트스트림에 마커 비트(marker bit)로 기록될 수 있다.
도 11 내지 도 14는 본 발명의 일 실시예에 따른 비트 스트림(300)의 구조를 도시한 것이다. 이 중 도 11은 비트스트림(300)의 전체적 구조를 개략적으로 도시한 것이다.
비트스트림(300)은 시퀀스 헤더(sequence header) 필드(310) 와 데이터 필드(320)로 구성되고, 데이터 필드(320)는 하나 이상의 GOP 필드(330, 340, 350)로 구성될 수 있다.
시퀀스 헤더 필드(310)에는 프레임의 가로크기(2바이트), 세로크기(2바이트), GOP의 크기(1바이트), 프레임 레이트(1바이트), 움직임 정밀도(1바이트) 등 영상의 특징을 기록한다.
데이터 필드(320)는 전체 영상 정보 기타 영상 복원을 위하여 필요한 정보들(움직임 벡터, 참조 프레임 번호 등)이 기록된다.
도 12는 각 GOP 필드(330 등)의 세부 구조를 나타낸 것이다. GOP 필드(330 등)는 GOP 헤더(360)와, 첫번째 시간적 필터링 순서를 기준으로 볼 때 첫번째 프레임(인트라 프레임)에 관한 정보를 기록하는 T(0) 필드(370)와, 움직임 벡터의 집합을 기록하는 MV 필드(380)와, 첫번째 프레임(인트라 프레임) 이외의 프레임(인터 프레임)의 정보를 기록하는 'the other T' 필드(390)으로 구성될 수 있다.
GOP 헤더 필드(360)에는 상기 시퀀스 헤더 필드(310)와는 달리 전체 프레임의 특징이 아니라 해당 GOP에 속하는 프레임의 특징을 기록한다.
도 13은 MV 필드(380)의 세부 구조를 나타낸 것이다. 여기에는, 움직임 벡터의 수만큼의 움직임 벡터를 각각 기록한다. 각각의 움직임 벡터 필드는 다시 움직임 벡터의 크기를 나타내는 Size 필드(381)와, 움직임 벡터의 실제 데이터를 기록하는 Data 필드(382)를 포함한다. 그리고, Data 필드(382)는 엔트로피 부호화 방식에 따른 정보를 담은 필드(미도시됨)와, 실제 움직임 벡터 정보를 담은 이진 스트림 필드(미도시됨)로 구성될 수 있다.
도 14는 'the other T' 필드(390)의 세부 구조를 나타낸 것이다. 예를 들어, 상기 필드(390)는 프레임수-1 개만큼의 인터 프레임 정보를 기록할 수 있다.
각 인터 프레임 정보는 다시 프레임 헤더(frame header) 필드(391)와, 해당 인터 프레임의 밝기 성분을 기록하는 Data Y 필드(393)와, 청색 색차 성분을 기록하는 Data U 필드(395)와, 적색 색차 성분을 기록하는 Data V 필드(397)를 포함하여, 각각의 필드(393, 395, 397) 앞에는 각 성분의 크기를 나타내는 Size 필드들(392, 394, 396)이 붙어 있다. 상기 프레임 헤더 필드(391)에는 상기 시퀀스 헤더 필드(310) 및 GOP 헤더 필드(360)과는 달리 해당 프레임에 국한된 영상 특징을 기록한다.
프리디코더에서는 이와 같이 하나의 프레임이 복수의 색 성분(밝기(Y) 성분 포함)으로 이루어지는 경우에는 각각의 색 성분별로 프리디코딩을 수행할 수 있으며, 하나의 프레임을 구성하는 색 성분들은 같은 비율로 프리디코딩되도록 할 수도 있다. 도 10에서 설명한 임계 비트율은 프레임 헤더 필드(391)에 기록되어 프리디코더에 전달될 수 있다. 또는, 상기 임계 비트수를 프레임 헤더 필드(391)에 기록하는 대신, 각 색 성분별로 별도의 마커 비트로 표시할 수도 있을 것이다.
도 15는 본 발명의 일 실시예에 따른 프리디코더(200)의 구성을 도시한 블록도이다. 프리디코더(200)는 비디오 인코더(100)로부터 제공되는 비트스트림(300)을 프리디코딩하여 상기 비트스트림(300)의 SNR 내지 비트율을 조절한다. 물론, 원래 프리디코딩이라 함은 비트스트림의 일부를 추출하거나 잘라버림으로써 해상도, 프레임율, 및 SNR을 조절하는 것 모두를 의미하는 것이지만, 본 발명의 주안점은 SNR 스케일러빌리티를 구현하는 것이므로, 이하에서 프리디코딩은 비트스트림의 SNR을 조절하는 것을 의미하는 것으로 이해하여도 무방하다. 이러한, 프리디코더(200)는 실제 구현에 있어서는 가변 네트워크 환경에서 적합하게 스케일러블 비디오 스트림을 전송하는 비디오 스트림 서버로 이해될 수 있다.
프리디코더(200)는 비트스트림 판독부(210), 프리디코딩 조건 결정부(240), 프리디코딩부(220), 및 비트스트림 전송부(230)를 포함하여 구성될 수 있다.
비트스트림 판독부(210)는 비디오 인코더(100)에서 제공된 비트스트림(300)을 판독한다. 이 경우 비트스트림(300)에 포함된 프레임별 정보, 예를 들어, 도 14의 The other T 필드(390)의 프레임별 헤더(391) 및 각 색 성분별 데이터 크기 정보(392, 394, 396) 및 텍스쳐 정보(393, 395, 397) 등을 판독한다.
프리디코딩 조건 결정부(240)는 사용자의 입력에 따라서, 가변적 네트워크 상황에 따라서 프리디코딩 조건, 즉 목적 전송 비트율을 결정한다. 상기 가변적 네트워크 상황에 따라서 프리디코딩 조건을 결정하는 방법의 일 예로서, 프리디코더(200)로부터 전송되는 비트스트림을 수신한 비디오 디코더로부터 현재 가용한 비트율 정보를 피드백 받고 이에 따라서 목적 전송 비트율을 결정하는 방법이 사용된다. 여기서, 비디오 디코더란 비디오 스트림을 복원하는 장치로서, 비디오 스트리밍 서비스를 수신하는 클라이언트 기기(client device)로 이해될 수 있다.
프리디코딩부(220)는 상기 결정된 목적 전송 비트율에 따라서 상기 판독된 비트스트림을 프리디코딩한다. 본 발명에서는 프레임별로 프리디코딩을 수행하는 제1 실시예와, 소정 개수의 프레임의 집합, 즉 프리디코딩 유닛별로 프리디코딩을 수행하는 제2 실시예를 모두 설명한다. 이러한 프리디코딩 유닛은 하나의 GOP 단위와 일치할 수도 있고 다를 수도 있다.
프레임별 프리디코딩은, 가변적 네트워크 상황에 따라서 프레임별로 가변 비트율을 갖도록 적응적으로 프리디코딩하는 방법이다. 도 16은 프레임별 프리디코딩을 도식 적으로 표시한 도면인데, 여기서, F1 내지 F4는 비트스트림 중 각 프레임 성분을 의미하고, 음영 부분은 각 프레임 중에서 프리디코딩에 의하여 잘라 버린 부분이다.
반면에, 프리디코딩 유닛별 프리디코딩은 복수의 프레임에 대하여 전송할 비트율을 결정하고 이에 따라서 프리디코딩 유닛 별로 프리디코딩을 결정하는 방법이다. 도 17은 프리디코딩 유닛별 프리디코딩을 도식적으로 표시한 도면이다. 프리디코딩 유닛이 4개의 프레임으로 이루어진다고 할 때, 도 16의 가변적인 프리디코딩 결과와 전체적으로 볼 때 동일한 비트량을 잘라내기만 하면 된다. 이 경우는 네트워크 상황 변화를 반영하는 주기가 프레임별로 전송하는 경우에 비하여 커진다. 따라서, 비디오 디코더 단으로부터 수신하는 피드백 주기도 상대적으로 크게 잡을 수 있다.
이러한 경우에는 예를 들어, 도 16의 음영 부분의 총합과 같은 비트량을 잘라내기만 한다면 도 13과 같이 균일하게 잘라내는 경우뿐만 아니라, 프리디코딩 유닛 내 임의의 프레임을 스킵하는 경우도 포함될 수 있는 것이다.
본 발명의 제1 실시예에 따라서, 프리디코딩부(220)에서 수행되는 동작은 도 18의 흐름도에 도시하는 바와 같다. 먼저, 현재 프레임의 하위 계층에 프레임이 존재하는가를 판단하여(S10), 그렇지 않다면(S10의 아니오) 프리디코딩 조건 결정부(240)에서 결정된 프리디코딩 조건 내지 목적 전송 비트율에 따라서 현재 프레임을 프리디코딩한다(S50). 이 경우 현재 프레임을 스킵하는 기술은 사용할 수 없으므로, 가능한 부분까지 현재 프레임의 텍스쳐 성분을 잘라내어 SNR을 조절한다. 본 발명의 프리디코더에 있어서, 현재 프레임이라 함은 현재 프리디코더가 전송하고자 하는 프레임을 의미한다.
그리고, 잘라내고 남은 텍스쳐 데이터 크기를 상기 텍스쳐 데이터 크기를 표시하는 필드에 기록하여 이후 디코더 단에게 이를 알 수 있도록 한다(S60). 이와 같은 프리디코더(200)는 도 14와 같이 표시된 각 색상 성분(Y, U, V) 별로 프리디코딩을 수행할 수 있으며, 프리디코딩 후 각 색상 성분별 Size 필드(392, 394, 396)에 변경된 텍스쳐 데이터 크기를 기록한다. 이 경우, 각 색상 성분 별로도 네트워크 상황에 따라서 가변 비율로 프리디코딩을 할 수도 있고, 각각 같은 비율로 프리디코딩을 할 수도 있다.
S10 단계에서 현재 프레임의 하위 계층에 프레임이 존재하면(S10의 예), 상기 프리디코딩 조건 결정부(240)에서 결정된 목적 전송 비트율이 소정의 임계 비트율 이하인지를 체크한다(S20).
S20 단계의 체크 결과 그러하다면(S20의 예), 텍스쳐 성분의 일부를 잘라내는 것이 아니라 현재 프레임 전체를 스킵한다(S30). 그리고, 텍스쳐 데이터 크기를 표시하는 필드에 "0"을 기록하여 특정 텍스쳐 데이터는 존재하지 않음을 표시할 수 있다(S40). 만약, S20의 체크 결과 그러하지 않다면 다시 S50 단계로 진행한다.
이와 같이 현재 프레임 전체를 스킵한다는 것은 현재 프레임의 텍스쳐 데이터만 스킵하는 경우(전자)를 의미할 수도 있고, 텍스쳐 데이터 및 모션 데이터를 모두 스킵하는 경우(후자)를 의미할 수도 있다. 전자의 경우에 비디오 디코더는 상기 현재 프레임의 텍스쳐 데이터는 그에 대응되는 기초 계층 프레임의 텍스쳐 데이터를 업샘플링하여 복원하지만, 역 시간적 변환에서 사용되는 모션 벡터로는 현재 프레임 의 모션 벡터를 이용하게 된다. 반면, 후자의 경우에 비디오 디코더는 상기 기초 계층 프레임의 텍스쳐 데이터 및 모션 데이터를 모두 업샘플링하여 현재 프레임의 텍스쳐 데이터 및 모션 데이터를 복원하는 방법을 이용하게 된다.
제1 실시예에서 상기 소정의 임계 비트율은 비디오 인코더(100)의 화질비교부(160)에서 결정되어 전달된 것일 수 있지만, 이에 한하지 않고 다른 방법으로 정해질 수도 있다. 예를 들어, 프리디코더에서 하나의 프레임에 대한 텍스쳐 정보와 모션 정보간의 특정 비율을 결정하고, 텍스쳐 정보를 잘라냄에 따라서 텍스쳐 정보와 모션 정보의 비가 특정 비율이 될 때의 비트율을 임계 비트율로 삼을 수도 있다. 기타 당업자가 추정할 수 있는 다양한 방식으로 임계 비트율을 결정할 수 있을 것이다.
비디오 인코더(100)에서 코딩한 방식이 폐루프 코딩 방식인 경우에는 도 19와 같은 순서에 따라서 프리디코딩이 수행될 수 있다. 도 18과의 차이점은 S25의 판단 단계가 하나 더 존재한다는 점이다. S25 단계에서 현재 프레임이 B 픽쳐, 즉 다른 프레임에 대한 참조 프레임으로 사용되지 않는 프레임인 경우(S25의 예)에는 현재 프레임을 스킵하는 기술을 이용할 수 있다(S30, S40). 그러나, S25단계에서 현재 프레임이 I 픽쳐, 또는 P 픽쳐과 같이 다른 프레임의 참조 프레임으로 사용되는 프레임인 경우(S25의 아니오) 현재 프레임을 스킵하는 기술을 이용할 수 없다(S50, S60). 물론, 어느 정도의 화질 손상을 감수한다면, 개루프 코딩 방식이라고 하더라도 하위 계층 프레임이 존재하면 I, B, 또는 P 픽쳐인가를 불문하고, 도 17과 같은 방식을 사용할 수도 있다.
한편, 본 발명의 제2 실시예에 따라서, 프리디코딩부(220)에서 수행되는 동작은 도 20의 흐름도에 도시하는 바와 같다. 프리디코딩 조건 결정부(240)에서 결정된 목적 전송 비트율이 임계 비트율 이하이면(S110의 예), 먼저, 프리디코딩 유닛에 속하는 프레임들의 비트율이 임계 비트율이 되도록 프리디코딩한다(S120). 그리고, 각 프레임의 텍스쳐 데이터 크기를 표시하는 필드에 변경된 비트수를 기록한다(S130). 이와 같이 프리디코딩을 수행하더라도 목적 전송 비트율을 상회하므로, 이후 프레임 스킵을 수행하게 된다.
다음, 현재 프리디코딩 유닛에 속하는 프레임 중에서 하위 계층이 존재하는 프레임들을 역순으로 스킵해 나가면서, 목적 전송 비트율에 근접하도록 조절한다(S140). 여기서, 현재 프리디코딩 유닛이란 현재 프리디코더(200)가 전송하고자 하는 프리디코딩 유닛을 의미힌다.
그리고, 상기 스킵된 프레임들의 텍스쳐 데이터 크기를 표시하는 필드에 0을 기록한다(S150). 이 경우 프레임이 스킵된다고 하여 프레임 헤더(391), 각 색성분 별 크기 필드(392, 394, 396)까지 제거되는 것은 아니다. 만약, 도 14에서 1번째 프레임이 스킵된다고 하면, 그 프레임의 T(1) 필드는 도 21과 같이, 프레임 헤더(391)와 각 성분별 크기 필드(392, 394, 396) 만을 포함하게 된다. 이 경우 각 성분별 크기 필드(392, 394, 396)에는 모두 0이 기록된다.
만약, 프레임이 스킵되는 경우에 모션 벡터도 함께 스킵되는 경우라면, 도 13에서 1번째 프레임에 대한 모션 정보를 담고 있는 MV(1) 필드는 도 22와 같이, 모션 벡터의 크기를 나타내는 필드(381)만을 포함하게 된다. 이 경우 상기 필드(381)에는 0이 기록된다.
S110의 판단 결과 결정된 목적 전송 비트율이 임계 비트율 이하가 아니면(S110의 아니오), 상기 목적 전송 비트율에 따라서 프리디코딩 유닛을 프리디코딩한다(S160). 이는 도 16의 설명에서와 같이, 총합을 잘라내었을 때 목적 전송 비트율이 만족되기만 한다면, 반드시 모든 프레임을 균일하게 잘라내어야 하는 것은 아니다. 그리고, 그리고, 각 프레임의 텍스쳐 데이터 크기를 표시하는 필드에 변경된 비트수를 기록한다(S170).
다시, 도 15로 돌아가면, 비트스트림 전송부(230)는 프리디코딩부(220)에 의하여 비트율이 조절되어 재구성된 비트스트림, 즉 프리디코딩된 비트스트림을 비디오 디코더 단으로 전송하고, 상기 비디오 디코더로부터 피드백 정보를 수신한다. 이러한 피드백 정보에는 비디오 디코더가 상기 비트스트림을 수신함으로써 측정되는 현재 가용한 비트율에 관한 정보를 포함한다.
도 23은 본 발명의 일 실시예에 따른 다 계층 비디오 디코더(400)의 구성을 나타낸 블록도이다. 비디오 디코더(400)는 엔트로피 복호화부(410), 기초 계층 디코더(420), 향상 계층 디코더(430), 스킵 확인부(440), 및 업샘플링부(450)를 포함하여 구성될 수 있다.
엔트로피 복호화부(410)는 엔트로피 부호화 방식의 역으로서, 입력된 비트 스트림으로부터 입력된 비트스트림으로부터 기초 계층 프레임의 데이터와, 향상 계층 프레임의 데이터를 추출한다. 기초 계층 프레임의 데이터에 및 향상 계층 프레임의 데이터는 각각의 텍스쳐 데이터와 모션 데이터로 구성된다.
스킵 확인부(440)는 향상 계층 프레임 중 현재 프레임의 텍스쳐 데이터 크기를 표 시하는 필드를 확인한다. 만약 그 값이 0인 경우, 즉 프레임 스킵을 의미하는 값인 경우에는, 스킵되는 현재 프레임의 번호를 기초 계층 디코더(420)에 제공하고, 그 값이 0이 아닌 경우에는 현재 프레임의 번호를 향상 계층 디코더(430)에 제공한다. 본 발명의 비디오 디코더(200)에서 현재 프레임이라고 함은, 현재 복원하고자 하는 어떤 계층의 프레임을 의미한다.
기초 계층 디코더(420)는 상기 값이 프레임 스킵을 의미하는 값인 경우에는 상기 제공된 프레임 번호를 갖는 현재 프레임과 동일한 시간적 위치를 갖는 하위 계층 프레임을 복원한다. 그리고, 향상 계층 디코더(430)는 상기 값이 프레임 스킵을 의미하는 값이 아닌 경우에 상기 값만큼의 텍스쳐 데이터로부터 현재 프레임을 복원한다.
향상 계층 디코더(430)는 역 양자화부(431), 역 공간적 변환부(432), 및 역 시간적 변환부(433)를 포함하여 구성될 수 있다. 역 양자화부(431)는 스킵 확인부(440)에서 제공된 텍스쳐 데이터를 역 양자화한다. 이러한 역 양자화 과정은 비디오 인코더(100) 단에서 수행된 양자화 과정의 역에 해당하는 과정이다. 이러한 역 양자화 과정에서도 상기 양자화 과정에서 사용된 양자화 테이블을 그대로 이용하여, 변환 계수를 복원한다. 상기 양자화 테이블은 인코더 단으로부터 전달된 것일 수도 있고, 미리 인코더와 디코더 간에 약속된 것일 수도 있다.
역 공간적 변환부(432)는 상기 역 양자화된 결과에 대하여 역 공간적 변환을 수행한다. 이러한 역 공간적 변환은 비디오 인코더(100) 단에서 수행된 공간적 변환 과정에 대응되는 방식으로서 수행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 사용될 수 있다.
역 시간적 변환부(433)는 상기 역 공간적 변환된 결과로부터 비디오 시퀀스를 복원한다. 이 경우, 엔트로피 복호화부(410)로부터 제공되는 향상 계층의 모션 벡터 및 기복원된 비디오 프레임을 이용하여 예측 프레임을 생성하고, 상기 역 공간적 변환된 결과와 상기 생성된 예측 프레임을 가산함으로써 현재 프레임을 복원한다. 물론, 인코더에서 시간적 변환되지 않은 인트라 프레임은 여기서도 역 시간적 변환 과정을 거칠 필요는 없다.
다만, 인트라 프레임도 인코딩 방법에 따라서는 인코딩시 기초 계층을 이용하여 향상 계층의 텍스쳐의 중복을 제거하기도 한다. 따라서, 이 경우에는 역 시간적 변환부(433)는 복원된 기초 계층 프레임을 이용하여 인트라 프레임인 현재 프레임을 복원할 수 있다.
마찬가지로, 기초 계층의 텍스쳐 데이터는 역 양자화부(421), 역 공간적 변환부(422), 및 역 시간적 변환부(423)를 거쳐서 기초 계층 프레임으로 복원될 수 있다. 여기서, 논리적으로 기초 계층 디코더(420)와 향상 계층 디코더(430)를 구분하여 설명하지만, 실제로는 하나의 디코딩 모듈이 향상 계층 및 기초 계층을 모두 복원하는 것으로 구현할 수 있음은 당업자에게는 자명한 사항이다.
업샘플링부(450)는 스킵 확인부(440)로부터 제공된 스킵되는 프레임 번호에 해당하는 프레임에 대하여는 복원된 기초 계층 프레임을 향상 계층의 해상도로 업샘플링한다. 이러한 업샘플링 결과 생성되는 프레임은 해당 프레임 번호를 갖는 향상 계층 프레임이 된다. 물론, 이와 같은 업샘플링은 기초 계층의 해상도와 향상 계층의 해상도가 다른 경우에 수행되고, 양자가 동일한 해상도인 경우에는 업샘플링 과정은 생략될 수 있다.
지금까지의 모든 실시예는 하나의 기초 계층과 하나의 향상 계층을 갖는 경우를 예로 하여 설명한 것이다. 그러나, 당업자라면 이상에서 설명으로부터, 더 많은 향상 계층이 추가되는 예도 충분히 실시할 수 있을 것이다. 만약, 다 계층이 기초 계층과, 제1 향상 계층, 및 제2 향상 계층으로 이루어진다면, 기초 계층과 제1 향상 계층 간에 사용된 알고리즘은 제1 향상 계층과 제2 향상 계층 간에도 마찬가지로 적용될 수 있다.
지금까지 도 8, 도 15, 및 도 23의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한 정적이 아닌 것으로 이해해야 한다.
본 발명에 따르면, 프리디코딩 수행시 가변적 네트워크 상황에 적응적으로 대응할 수 있다.
또한, 본 발명은 현재 계층의 어떤 프레임의 텍스쳐 정보를 잘라내는 것만으로는 목적 전송 비트율에 도달하기 어려운 경우에 유용하게 사용될 수 있다.

Claims (22)

  1. 가변적 네트워크 환경에 따라서 적응적으로 다 계층 기반으로 코딩된 스케일러블 비트스트림의 비트율을 조절하는 장치로서,
    입력된 비트스트림을 판독하는 비트스트림 판독부;
    상기 가변적 네트워크 상황에 따라서 목적 전송 비트율을 결정하는 프리디코딩 조건 결정부;
    상기 결정된 목적 전송 비트율에 따라서 상기 판독된 비트스트림에 포함되고, 동일한 시간적 위치를 갖는 하위 계층 프레임을 갖는 현재 계층 프레임 중 적어도 하나 이상의 프레임을 스킵하는 프리디코딩부; 및
    상기 프레임 스킵 결과 재구성된 비트스트림을 클라이언트 기기로 전송하는 비트스트림 전송부를 포함하는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  2. 제1항에 있어서, 상기 프리디코딩 조건 결정부는
    상기 클라이언트 기기로부터 현재 가용한 비트율 정보를 피드백 받고 이에 따라서 목적 전송 비트율을 결정하는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  3. 제1항에 있어서, 상기 프레임 스킵은
    상기 목적 전송 비트율이 소정의 임계 비트율 이하인 경우에 수행되는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  4. 제3항에 있어서, 상기 임계 비트율은
    상기 입력된 비트스트림을 생성하는 비디오 인코더로부터 제공되는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  5. 제4항에 있어서, 상기 비디오 인코더는
    비트스트림 중 향상 계층 프레임의 텍스쳐 성분을 일부 잘라낸 결과를 디코딩하여 복원한 향상 계층 프레임과, 상기 향상 계층 프레임에 시간적으로 대응되는 기초 계층 프레임을 디코딩하고 이를 향상 계층의 해상도로 업샘플링한 프레임의 화질을 비교하여, 양자의 화질이 동일하게 되는 임계 비트율을 찾아내는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  6. 제4항에 있어서, 상기 임계 비트율은
    텍스쳐 정보를 잘라냄에 따라서 텍스쳐 정보/모션 정보의 크기가 특정 비율이 될 때의 비트율을 의미하는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  7. 제3항에 있어서, 상기 프리디코딩부는
    상기 판독된 비트스트림에 포함되는 프레임 중 현재 프레임의 하위 계층에 프레임이 존재하는 경우에 상기 현재 프레임을 스킵하는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  8. 제7항에 있어서, 상기 프리디코딩부는
    상기 현재 프레임이 다른 프레임의 참조 프레임으로 사용되지 않는 경우에 상기 현재 전송하고자 하는 프레임을 스킵하는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  9. 제1항에 있어서, 상기 프리디코딩부는
    상기 스킵된 프레임의 텍스쳐 데이터 크기를 표시하는 필드에 0을 기록하는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  10. 제3항에 있어서, 상기 프리디코딩부는
    상기 판독된 비트스트림에 포함되는 현재 프리디코딩 유닛 중에서, 시간적으로 뒤쪽에 위치한 프레임부터 역순으로 스킵하는, 스케일러블 비트스트림의 비트율을 조절하는 장치.
  11. 현재 계층 데이터의 스킵 여부를 확인하는 스킵 확인부;
    상기 현재 계층 데이터와 동일한 시간적 위치를 갖는 하위 계층 데이터를 복원하는 기초 계층 디코더; 및
    상기 현재 계층 데이터가 스킵되는 경우, 상기 스킵된 현재 계층 데이터를 상기 복원된 하위 계층 데이터에 의하여 대체하는 향상 계층 디코더를 포함하는, 다 계층 기반의 비디오 디코더.
  12. 제11항에 있어서,
    상기 값이 프레임 스킵을 의미하는 값이 아닌 경우에 상기 값만큼의 텍스쳐 데이터로부터 현재 프레임을 복원하는 향상 계층 디코더를 더 포함하는, 다 계층 기반의 비디오 디코더.
  13. 제11항에 있어서,
    상기 프레임 스킵을 의미하는 값은 0인, 다 계층 기반의 비디오 디코더.
  14. 가변적 네트워크 환경에 따라서 적응적으로 다 계층 기반으로 코딩된 스케일러블 비트스트림의 비트율을 조절하는 방법으로서,
    (a) 입력된 비트스트림을 판독하는 단계;
    (b) 상기 가변적 네트워크 상황에 따라서 목적 전송 비트율을 결정하는 단계;
    (c) 상기 결정된 목적 전송 비트율에 따라서 상기 판독된 비트스트림에 포함되고, 동일한 시간적 위치를 갖는 하위 계층 프레임을 갖는 현재 계층 프레임 중 적어도 하나 이상의 프레임을 스킵하는 단계; 및
    (d) 상기 프레임 스킵 결과 재구성된 비트스트림을 클라이언트 기기로 전송하는 단계를 포함하는, 스케일러블 비트스트림의 비트율을 조절하는 방법.
  15. 제14항에 있어서, 상기 프레임 스킵은
    상기 목적 전송 비트율이 소정의 임계 비트율 이하인 경우에 수행되는, 스케일러블 비트스트림의 비트율을 조절하는 방법.
  16. 제15항에 있어서, 상기 임계 비트율은
    상기 입력된 비트스트림을 생성하는 비디오 인코더로부터 제공되는, 스케일러블 비트스트림의 비트율을 조절하는 방법.
  17. 제16항에 있어서, 상기 프레임 스킵은
    상기 판독된 비트스트림에 포함되는 프레임 중 현재 프레임의 하위 계층에 프레임이 존재하는 경우에 상기 현재 프레임에 대하여 수행되는, 스케일러블 비트스트림의 비트율을 조절하는 방법.
  18. 현재 계층 데이터의 스킵 여부를 확인하는 단계;
    상기 현재 계층 데이터와 동일한 시간적 위치를 갖는 하위 계층 데이터를 복원하는 단계; 및
    상기 현재 계층 데이터가 스킵되는 경우, 상기 스킵된 현재 계층 데이터를 상기 복원된 하위 계층 데이터에 의하여 대체하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  19. 제18항에 있어서,
    상기 값이 프레임 스킵을 의미하는 값이 아닌 경우에 상기 값만큼의 텍스쳐 데이터 로부터 현재 프레임을 복원하는 단계를 더 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  20. 제18항에 있어서,
    상기 프레임 스킵을 의미하는 값은 0인, 다 계층 기반의 비디오 디코딩 방법.
  21. 입력된 비트스트림으로부터 향상 계층 데이터를 복원하는 방법으로서,
    상기 비트스트림 중 상기 향상 계층 데이터의 스킵 여부를 나타내는 정보를 판독하는 단계;
    상기 비트스트림 중 상기 향상 계층 데이터와 동일한 시간적 위치를 갖는 하위 계층 데이터를 판독하는 단계; 및
    상기 스킵 여부를 나타내는 정보에 근거하여 상기 판독된 하위 계층 데이터로부터 상기 향상 계층 데이터를 복원하는 단계를 포함하는, 향상 계층 데이터를 복원하는 방법.
  22. 제21항에 있어서, 상기 스킵 여부는
    상기 비트스트림 중 상기 향상 계층 데이터의 크기를 나타내는 필드가 0인가 여부에 따라서 결정되는, 향상 계층 데이터를 복원하는 방법.
KR1020040107960A 2004-10-18 2004-12-17 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법 KR100703724B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP05856385A EP1803302A4 (en) 2004-10-18 2005-09-28 DEVICE AND METHOD FOR ADJUSTING THE BIT RATE OF A BINARY TRAIN EVOLUTIVE CODE BY MULTILAYER
CN2005800321957A CN101027908B (zh) 2004-10-18 2005-09-28 基于多层调整编码的可分级比特流的比特率的装置和方法
PCT/KR2005/003208 WO2006080655A1 (en) 2004-10-18 2005-09-28 Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer
US11/251,976 US7881387B2 (en) 2004-10-18 2005-10-18 Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US61902304P 2004-10-18 2004-10-18
US60/619,023 2004-10-18

Publications (2)

Publication Number Publication Date
KR20060034195A KR20060034195A (ko) 2006-04-21
KR100703724B1 true KR100703724B1 (ko) 2007-04-05

Family

ID=36748181

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020040094597A KR100679022B1 (ko) 2004-10-18 2004-11-18 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
KR1020040107960A KR100703724B1 (ko) 2004-10-18 2004-12-17 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법
KR1020050006803A KR100679030B1 (ko) 2004-10-18 2005-01-25 하이브리드 비트스트림의 프리디코딩 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020040094597A KR100679022B1 (ko) 2004-10-18 2004-11-18 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020050006803A KR100679030B1 (ko) 2004-10-18 2005-01-25 하이브리드 비트스트림의 프리디코딩 방법 및 장치

Country Status (5)

Country Link
US (3) US20060083300A1 (ko)
KR (3) KR100679022B1 (ko)
CN (3) CN101036388A (ko)
BR (1) BRPI0516826A (ko)
RU (1) RU2337503C1 (ko)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8374238B2 (en) 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
TWI301953B (en) * 2005-03-14 2008-10-11 Qisda Corp Methods and apparatuses for video encoding
JP4839035B2 (ja) * 2005-07-22 2011-12-14 オリンパス株式会社 内視鏡用処置具および内視鏡システム
KR20070038396A (ko) 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100891663B1 (ko) * 2005-10-05 2009-04-02 엘지전자 주식회사 비디오 신호 디코딩 및 인코딩 방법
KR100891662B1 (ko) 2005-10-05 2009-04-02 엘지전자 주식회사 비디오 신호 디코딩 및 인코딩 방법
US8687688B2 (en) * 2006-01-09 2014-04-01 Lg Electronics, Inc. Inter-layer prediction method for video signal
US20070160134A1 (en) * 2006-01-10 2007-07-12 Segall Christopher A Methods and Systems for Filter Characterization
US8619865B2 (en) * 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
US8014445B2 (en) * 2006-02-24 2011-09-06 Sharp Laboratories Of America, Inc. Methods and systems for high dynamic range video coding
US8194997B2 (en) * 2006-03-24 2012-06-05 Sharp Laboratories Of America, Inc. Methods and systems for tone mapping messaging
KR100781524B1 (ko) * 2006-04-04 2007-12-03 삼성전자주식회사 확장 매크로블록 스킵 모드를 이용한 인코딩/디코딩 방법및 장치
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
FR2903556B1 (fr) * 2006-07-04 2008-10-03 Canon Kk Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes
US8532176B2 (en) * 2006-07-10 2013-09-10 Sharp Laboratories Of America, Inc. Methods and systems for combining layers in a multi-layer bitstream
US8422548B2 (en) * 2006-07-10 2013-04-16 Sharp Laboratories Of America, Inc. Methods and systems for transform selection and management
US7885471B2 (en) * 2006-07-10 2011-02-08 Sharp Laboratories Of America, Inc. Methods and systems for maintenance and use of coded block pattern information
US8130822B2 (en) * 2006-07-10 2012-03-06 Sharp Laboratories Of America, Inc. Methods and systems for conditional transform-domain residual accumulation
US8059714B2 (en) * 2006-07-10 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for residual layer scaling
US7840078B2 (en) * 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
US7535383B2 (en) * 2006-07-10 2009-05-19 Sharp Laboratories Of America Inc. Methods and systems for signaling multi-layer bitstream data
KR100842544B1 (ko) * 2006-09-11 2008-07-01 삼성전자주식회사 스케일러블 영상 코딩을 이용한 전송 방법 및 이를 이용한이동통신 시스템
US20080095235A1 (en) * 2006-10-20 2008-04-24 Motorola, Inc. Method and apparatus for intra-frame spatial scalable video coding
WO2008051755A2 (en) * 2006-10-20 2008-05-02 Motorola, Inc. Method and apparatus for intra-frame spatial scalable video coding
WO2008079508A1 (en) * 2006-12-22 2008-07-03 Motorola, Inc. Method and system for adaptive coding of a video
US8503524B2 (en) * 2007-01-23 2013-08-06 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction
US7826673B2 (en) * 2007-01-23 2010-11-02 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction with color-conversion
US8665942B2 (en) 2007-01-23 2014-03-04 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction signaling
US8233536B2 (en) 2007-01-23 2012-07-31 Sharp Laboratories Of America, Inc. Methods and systems for multiplication-free inter-layer image prediction
US8243789B2 (en) * 2007-01-25 2012-08-14 Sharp Laboratories Of America, Inc. Methods and systems for rate-adaptive transmission of video
US7760949B2 (en) 2007-02-08 2010-07-20 Sharp Laboratories Of America, Inc. Methods and systems for coding multiple dynamic range images
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8767834B2 (en) 2007-03-09 2014-07-01 Sharp Laboratories Of America, Inc. Methods and systems for scalable-to-non-scalable bit-stream rewriting
KR100918385B1 (ko) * 2007-08-10 2009-09-21 한국전자통신연구원 스케일러블 비디오 스트림 코딩에서 참조 슬라이스 제거알림 장치 및 방법
KR100937590B1 (ko) * 2007-10-23 2010-01-20 한국전자통신연구원 다중 품질 서비스 영상 콘텐츠 제공 시스템 및 그것의업그레이드 방법
JP5216303B2 (ja) * 2007-11-01 2013-06-19 株式会社東芝 合成映像配信装置ならびにその方法およびプログラム
US8126054B2 (en) * 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
US8750390B2 (en) * 2008-01-10 2014-06-10 Microsoft Corporation Filtering and dithering as pre-processing before encoding
US8160132B2 (en) * 2008-02-15 2012-04-17 Microsoft Corporation Reducing key picture popping effects in video
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
CN101557510A (zh) * 2008-04-09 2009-10-14 华为技术有限公司 视频编码处理方法、***及装置
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
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
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
KR101323439B1 (ko) * 2008-11-12 2013-10-29 보드 오브 트러스티스 오브 더 리랜드 스탠포드 주니어 유니버시티 특징 디스크립터를 표현하고 식별하는 방법, 장치 및 컴퓨터 판독가능 저장 매체
JP4947389B2 (ja) * 2009-04-03 2012-06-06 ソニー株式会社 画像信号復号装置、画像信号復号方法、および画像信号符号化方法
KR101557504B1 (ko) * 2009-04-13 2015-10-07 삼성전자주식회사 채널 적응형 비디오 전송 방법, 이를 이용한 장치 및 이를 제공하는 시스템
KR101484280B1 (ko) * 2009-12-08 2015-01-20 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
US8428364B2 (en) 2010-01-15 2013-04-23 Dolby Laboratories Licensing Corporation Edge enhancement for temporal scaling with metadata
CN102783152A (zh) * 2010-03-02 2012-11-14 三星电子株式会社 用于使用可分级视频编码方案进行自适应流传输的方法和设备
JP5510012B2 (ja) * 2010-04-09 2014-06-04 ソニー株式会社 画像処理装置および方法、並びにプログラム
US8392201B2 (en) * 2010-07-30 2013-03-05 Deutsche Telekom Ag Method and system for distributed audio transcoding in peer-to-peer systems
US20120076205A1 (en) * 2010-09-29 2012-03-29 Segall Christopher A Methods and Systems for Capturing Wide Color-Gamut Video
GB2487200A (en) * 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
KR20120096863A (ko) * 2011-02-23 2012-08-31 한국전자통신연구원 고효율 비디오 부호화의 계층적 부호화 구조를 위한 비트율 제어 기법
JP2012191465A (ja) * 2011-03-11 2012-10-04 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
CN102129838B (zh) * 2011-04-28 2013-01-23 深圳市天微电子有限公司 Led显示数据的处理方法及装置
MY164252A (en) 2011-07-01 2017-11-30 Samsung Electronics Co Ltd Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US9185424B2 (en) * 2011-07-05 2015-11-10 Qualcomm Incorporated Image data compression
US8948248B2 (en) 2011-07-21 2015-02-03 Luca Rossato Tiered signal decoding and signal reconstruction
US9271055B2 (en) * 2011-08-23 2016-02-23 Avaya Inc. System and method for variable video degradation counter-measures
KR102074148B1 (ko) * 2011-08-30 2020-03-17 엔엘디 엘엘씨 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8976857B2 (en) * 2011-09-23 2015-03-10 Microsoft Technology Licensing, Llc Quality-based video compression
CN104205844B (zh) 2011-09-29 2017-09-26 杜比实验室特许公司 降低复杂度的运动补偿的时间处理方法及***
EP2642755B1 (en) * 2012-03-20 2018-01-03 Dolby Laboratories Licensing Corporation Complexity scalable multilayer video coding
CN103379319B (zh) * 2012-04-12 2018-03-20 中兴通讯股份有限公司 一种滤波方法、滤波器及包含该滤波器的编码器和解码器
US9426459B2 (en) 2012-04-23 2016-08-23 Google Inc. Managing multi-reference picture buffers and identifiers to facilitate video data coding
US20130318251A1 (en) * 2012-05-22 2013-11-28 Alimuddin Mohammad Adaptive multipath content streaming
US9313486B2 (en) * 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
EP3588958A1 (en) * 2012-08-29 2020-01-01 Vid Scale, Inc. Method and apparatus of motion vector prediction for scalable video coding
WO2014052731A2 (en) * 2012-09-28 2014-04-03 Vid Scale, Inc. Cross-plane filtering for chroma signal enhancement in video coding
US10085017B2 (en) * 2012-11-29 2018-09-25 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
TWI618397B (zh) 2012-12-21 2018-03-11 杜比實驗室特許公司 在高位元深度視訊的可適性編碼中,高精度升取樣
WO2014158050A1 (en) 2013-03-28 2014-10-02 Huawei Technologies Co., Ltd. Method for determining predictor blocks for a spatially scalable video codec
US9374526B2 (en) 2014-07-31 2016-06-21 Apple Inc. Providing frame delay using a temporal filter
US9413951B2 (en) 2014-07-31 2016-08-09 Apple Inc. Dynamic motion estimation and compensation for temporal filtering
US9514525B2 (en) 2014-07-31 2016-12-06 Apple Inc. Temporal filtering for image data using spatial filtering and noise history
US9479695B2 (en) 2014-07-31 2016-10-25 Apple Inc. Generating a high dynamic range image using a temporal filter
US10893266B2 (en) * 2014-10-07 2021-01-12 Disney Enterprises, Inc. Method and system for optimizing bitrate selection
KR102338980B1 (ko) * 2015-03-23 2021-12-13 삼성전자주식회사 플리커를 제거하기 위해 양자화 계수를 조절할 수 있은 인코더와 이를 포함하는 장치
TWI731063B (zh) * 2017-04-13 2021-06-21 物聯智慧科技(深圳)有限公司 影音檔案處理方法及建置方法
EP3685576A1 (en) * 2017-09-22 2020-07-29 V-Nova International Limited Obtaining a target representation of a time sample of a signal
CA3108454A1 (en) * 2018-08-03 2020-02-06 V-Nova International Limited Transformations for signal enhancement coding
US10728180B2 (en) * 2018-08-21 2020-07-28 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for adaptive bitrate streaming adaptation of variable bitrate encodings

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0336978A (ja) * 1989-06-30 1991-02-18 Matsushita Electric Ind Co Ltd モータ速度制御装置
KR20020081973A (ko) * 2001-04-21 2002-10-30 엘지전자 주식회사 B-프레임 선택을 이용한 적응적 시간 스케일러빌러티 방법

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3164647B2 (ja) * 1992-06-03 2001-05-08 株式会社東芝 動画像符号化方法及び装置
CA2126467A1 (en) * 1993-07-13 1995-01-14 Barin Geoffry Haskell Scalable encoding and decoding of high-resolution progressive video
US5754241A (en) * 1994-11-18 1998-05-19 Sanyo Electric Co., Ltd Video decoder capable of controlling encoded video data
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US6625320B1 (en) * 1997-11-27 2003-09-23 British Telecommunications Public Limited Company Transcoding
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
KR100363162B1 (ko) * 1998-11-02 2003-01-24 삼성전자 주식회사 영상신호의전송/복원방법및장치
US6529552B1 (en) * 1999-02-16 2003-03-04 Packetvideo Corporation Method and a device for transmission of a variable bit-rate compressed video bitstream over constant and variable capacity networks
JP2000333163A (ja) * 1999-05-24 2000-11-30 Sony Corp 復号装置及び方法、符号化装置及び方法、画像処理システム、画像処理方法
US6263022B1 (en) * 1999-07-06 2001-07-17 Philips Electronics North America Corp. System and method for fine granular scalable video with selective quality enhancement
US6639943B1 (en) 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding
AU4338800A (en) * 1999-12-22 2001-07-03 General Instrument Corporation Video compression for multicast environments using spatial scalability and simulcast coding
US7095782B1 (en) * 2000-03-01 2006-08-22 Koninklijke Philips Electronics N.V. Method and apparatus for streaming scalable video
US6771703B1 (en) * 2000-06-30 2004-08-03 Emc Corporation Efficient scaling of nonscalable MPEG-2 Video
WO2002025925A2 (en) * 2000-09-22 2002-03-28 Koninklijke Philips Electronics Nv Hybrid temporal-snr fine granular scalability video coding
US6836512B2 (en) * 2000-10-11 2004-12-28 Koninklijke Philips Electronics N.V. Spatial scalability for fine granular video encoding
EP1217839A3 (en) * 2000-12-08 2009-09-09 Panasonic Corporation Data conversion apparatus, data coding apparatus, and data recording apparatus
US7203238B2 (en) * 2000-12-11 2007-04-10 Sony Corporation 3:2 Pull-down detection
US20020118742A1 (en) * 2001-02-26 2002-08-29 Philips Electronics North America Corporation. Prediction structures for enhancement layer in fine granular scalability video coding
US6944225B2 (en) * 2001-07-24 2005-09-13 Sharp Laboratories Of America, Inc. Resolution-scalable video compression
EP1423854B1 (en) 2001-09-06 2011-10-05 Thomson Licensing Method and apparatus for elapsed playback timekeeping of variable bit-rate digitally encoded audio data files
CN1253008C (zh) 2001-10-26 2006-04-19 皇家飞利浦电子股份有限公司 空间可分级压缩的方法和设备
US20030118099A1 (en) * 2001-12-20 2003-06-26 Comer Mary Lafuze Fine-grain scalable video encoder with conditional replacement
FI114527B (fi) * 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
US7317759B1 (en) * 2002-02-28 2008-01-08 Carnegie Mellon University System and methods for video compression mode decisions
US20030215011A1 (en) 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
KR100484148B1 (ko) * 2002-07-27 2005-04-18 삼성전자주식회사 개선된 비트율 제어 방법과 그 장치
KR20040047010A (ko) 2002-11-28 2004-06-05 엘지전자 주식회사 영상 전화 시스템의 비트율 조절방법
KR100543608B1 (ko) 2003-01-03 2006-01-20 엘지전자 주식회사 오브젝트 기반 비트율 제어방법 및 장치
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
JP2005123732A (ja) * 2003-10-14 2005-05-12 Matsushita Electric Ind Co Ltd デブロックフィルタ処理装置およびデブロックフィルタ処理方法
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
KR100621581B1 (ko) 2004-07-15 2006-09-13 삼성전자주식회사 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
DE102004059993B4 (de) * 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
KR200447010Y1 (ko) 2007-10-01 2009-12-17 이운영 행주 삶는 전기 포트

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0336978A (ja) * 1989-06-30 1991-02-18 Matsushita Electric Ind Co Ltd モータ速度制御装置
KR20020081973A (ko) * 2001-04-21 2002-10-30 엘지전자 주식회사 B-프레임 선택을 이용한 적응적 시간 스케일러빌러티 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
03036978
1020020081973

Also Published As

Publication number Publication date
US20060083302A1 (en) 2006-04-20
KR20060034197A (ko) 2006-04-21
US7881387B2 (en) 2011-02-01
KR20060034192A (ko) 2006-04-21
CN101027908A (zh) 2007-08-29
CN101036388A (zh) 2007-09-12
CN100466738C (zh) 2009-03-04
RU2337503C1 (ru) 2008-10-27
US20060083303A1 (en) 2006-04-20
US7839929B2 (en) 2010-11-23
BRPI0516826A (pt) 2008-09-23
KR100679030B1 (ko) 2007-02-05
US20060083300A1 (en) 2006-04-20
KR20060034195A (ko) 2006-04-21
CN101027908B (zh) 2010-06-16
CN1764276A (zh) 2006-04-26
KR100679022B1 (ko) 2007-02-05

Similar Documents

Publication Publication Date Title
KR100703724B1 (ko) 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법
KR100621581B1 (ko) 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
KR100679011B1 (ko) 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치
KR100772868B1 (ko) 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
US8520962B2 (en) Method and apparatus for effectively compressing motion vectors in video coder based on multi-layer
KR100714696B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100664928B1 (ko) 비디오 코딩 방법 및 장치
KR100834750B1 (ko) 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법
JP2006333519A (ja) スケーラブルビデオコーディング及びデコーディング方法と装置
KR20060135992A (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
US20050157794A1 (en) Scalable video encoding method and apparatus supporting closed-loop optimization
CA2543947A1 (en) Method and apparatus for adaptively selecting context model for entropy coding
US20060013311A1 (en) Video decoding method using smoothing filter and video decoder therefor
KR100654431B1 (ko) 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
WO2006080655A1 (en) Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer
EP1813114A1 (en) Method and apparatus for predecoding hybrid bitstream

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee