KR20040007694A - 미세 입자 스켈링 가능한 비디오에 대한 움직임 보상 - Google Patents

미세 입자 스켈링 가능한 비디오에 대한 움직임 보상 Download PDF

Info

Publication number
KR20040007694A
KR20040007694A KR10-2003-7016221A KR20037016221A KR20040007694A KR 20040007694 A KR20040007694 A KR 20040007694A KR 20037016221 A KR20037016221 A KR 20037016221A KR 20040007694 A KR20040007694 A KR 20040007694A
Authority
KR
South Korea
Prior art keywords
data
macro block
bitrate
dct
block data
Prior art date
Application number
KR10-2003-7016221A
Other languages
English (en)
Other versions
KR100936635B1 (ko
Inventor
마리에 라휴즈 코머
이재트 헤크마트 이재트
Original Assignee
톰슨 라이센싱 에스.에이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 에스.에이. filed Critical 톰슨 라이센싱 에스.에이.
Publication of KR20040007694A publication Critical patent/KR20040007694A/ko
Application granted granted Critical
Publication of KR100936635B1 publication Critical patent/KR100936635B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

미세 입자 스켈링 가능한 비디오 데이터 장치, 시스템, 방법 및 데이터 구조가 설명된다. 매크로 블록 데이터의 최소 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 최소 비트레이트 매크로 블록 데이터로서 입력 비디오 데이터를 인코딩하기 위한 인코더(110). 상기 인코더(110)는 또한 상기 매크로 블록 데이터의 중간 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 중간 비트레이트 매크로 블록 데이터로서 상기 입력 비디오 데이터를 인코딩한다. 적응 움직임 보상기(132)(상기 인코더 내부에 통합되는지 외부에 있는지)는 상기 중간 비트레이트 매크로 블록 데이터가 최대 문턱값(228)을 초과하는 축척된 예측된 오차 프레임 에너지를 가지는지 예측하기 위해서 상기 인코더에 통신한다.

Description

미세 입자 스켈링 가능한 비디오에 대한 움직임 보상{Motion compensation for fine-grain scalable video}
디지털 비디오 데이터는 흔히 비트 스트림(bit stream)들의 형태로 처리되고 전송된다. 비트 스트림이 사전에 결정된 최소 레이트와 최대 레이트 사이에 미세하게 배치된 비트레이트들의 세트 중 어느 하나로 디코딩된다면 비트 스트림은 미세 입자 스켈링 가능하다("FGS"). 불행하게도, 스켈링 가능성의 이러한 형태는 일반적으로 스켈링 가능하지 않은 비디오 코더-디코더(CODEC : coder-decoder)의 코딩 효율보다 상당히 작은 코딩 효율을 초래한다.
동영상 전문가 그룹(MPEG : Moving Picture Experts Group)은 스트리밍 비디오에 대한 표준을 채택하였다. MPEG-4 표준은 FGS 비디오의 모드를 포함한다. MPEG-4 FGS 비디오에서, 현 프레임은 이전 프레임의 최소 비트레이트 재구성된 버전을 이용하며 예측된다. MPEG-4를 가지고서, 이전 프레임의 더 높은 비트레이트 버전이 예측을 위해서 이용된다면, 이것은 비트 스트림이 인코더에서 예측을 위해서 이용된 레이트보다 작은 레이트로 디코딩되는 어떤 시간에 예측 드리프트(drift)를 가져오게 된다. 예측 드리프트는 인코더의 참조 프레임과 디코더의 참조 프레임 사이의 차이에 의해서 초래된다. 따라서, 예를 들면, MPEG-4 표준에서 채택된 FGS 비디오 방안(scheme)과 같은, 전형적인 FGS 방안들의 효율성 이상으로 CODEC 효율성을 향상시키는 것이 바람직하다.
본 발명은 미세 입자 스켈링 가능한(FGS : fine-grain scalable) 인코더들에 관한 것이며, 특히, 미세 입자 스켈링 가능성을 이용한 비디오 데이터의 코딩을 위한 적응 움직임 보상에 관한 것이다.
본 명세서는 다음의 예시적인 도면들에 따라서 미세 입자 스켈링 가능한 비디오에 대한 움직임 보상에 대한 효율적인 접근법을 공개한다.
도 1은 기본계층 움직임 보상만을 가진 미세 입자 스켈링 가능한("FGS") 인코더의 블록도;
도 2는 본 발명의 바람직한 실시예에 따른 적응 움직임 보상을 가진 미세 입자 스켈링 가능한(FGS) 인코더의 블록도; 및
도 3은 본 발명의 원리들에 따라, 도 2의 적응 움직임 보상의 흐름도.
종래 기술의 이들 및 다른 결점 및 단점은 미세 입자 스켈링 가능한 비디오 데이터의 움직임 보상을 위한 장치 및 방법에 의해서 처리된다. 미세 입자 스켈링 가능한 비디오 데이터는 매크로 블록(macroblock) 데이터의 최소 비트레이트 버전을 나타내는 DCT 계수들을 가진 이산 코사인 변환(DCT : Discrete Cosine Transform) 데이터를 생성하기 위해 입력 비디오 데이터를 최소 비트레이트 매크로 블록 데이터로서 인코딩하고, 매크로 블록 데이터의 중간(intermediate) 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 입력 비디오 데이터를 중간 비트레이트 매크로 블록 데이터로서 인코딩하기 위한 인코더, 및 중간 비트레이트 매크로 블록 데이터가 최대 문턱값(threshold)을 초과하는 축적된 예측된 오차를 가지는 지 예측하기 위해서 인코더와 신호 통신하는 적응 움직임 보상기에 의해서 발생된다.
여기서 설명된 본 발명의 실시예에 따른, 비디오 데이터 코더-디코더(CODEC)는 비디오 데이터 이산 코사인 변환(DCT) 기본 처리를 이용한다. 비디오 데이터는 바람직하게 매크로 블록으로 구성된다.
MPEG-4 미세 입자 스켈링 가능성("FGS")은 움직임 보상을 위해서 최소 비트레이트 이전 프레임을 이용한다. 본 발명의 원리에 따라서, 인코더는, 매크로 블록 단위로, 최소 비트레이트 이전 프레임과 더 높은 비트레이트 이전 프레임 사이에서 선택한다. 인코더는 각 프레임에서 축적된 예측 드리프트를 추적한다.
소정의 매크로 블록에 대해서, 움직임 보상을 위해서 더 높은 비트레이트 이전 프레임을 이용하는 것이 최대 한계 이상으로 예측 드리프트 에너지를 초래하면, 인코더는 그 매크로 블록을 예측하기 위해서 최소 비트레이트 이전 프레임을 선택한다. 그렇지 않으면, 인코더는 매크로 블록을 예측하기 위해서 더 높은 비트레이트 이전 프레임을 선택한다. 인코더는 이전 프레임의 버전이 예측을 위해서 이용되었던 디코더로 이동하도록 인코딩된 매크로 블록에 비트(플래그)를 설정한다.
도 1에 도시된 바와 같이, FGS 인코더(10)는 기본계층부(11) 및 확장계층부(33)로 기능적으로 분리될 수 있다. 기본계층부(11)는 합 블록(14)의 포지티브 입력과 신호 통신으로 연결되는 입력 단자(12)를 포함한다. 합 블록(14)은 이산 코사인 변환(DCT)을 구현하기 위해 기능 블록(16)에 연결된다. 블록(16)은 양자화 변환(Q)을 구현하기 위해 기능 블록(20)에 연결된다. 기능 블록(18)은 가변 길이 코딩(VLC : variable length coding)을 구현하기 위해서 기능 블록(20)에 연결된다. 블록(18)은 또한 역양자화 변환(Q-1)을 구현하기 위해 기능 블록(22)에 연결된다.
블록(22)은 역 이산 코사인 변환(IDCT : inverse discrete cosine transform)을 구현하기 위해 기능 블록(24)에 연결된다. 블록(24)은 프레임 버퍼를 구현하기 위해서 블록(28)에 연결되는, 합 블록(26)의 포지티브 입력에 연결된다. 블록(28)은 움직임 추정을 수행하기 위해서 기능 블록(30)에 연결된다. 입력 단자(12)는 입력 비디오 신호를 제공하기 위해서 블록(30)에 또한 연결된다. 프레임 버퍼(28) 및 움직임 추정 블록(30)은 움직임 보상을 수행하기 위해서 블록(32)에 각각 연결된다. 기능 블록(32)은 합 블록(14)의 네거티브 입력에 연결되며 또한 합 블록(26)의 포지티브 입력으로 연결된다.
확장계층부(33)는 DCT(16)의 출력에 연결된 포지티브 입력, 및 역 양자화 블록(22)의 출력에 연결된 합 블록의 네거티브 입력을 가진 합 블록(34)을 포함한다. 블록(34)의 출력은 비트-평면 코딩을 구현하기 위해서 기능 블록(36)에 연결된다. 비트-평면 코더(36)의 출력은 가변 길이 코딩("VLC")을 구현하기 위해 기능 블록(38)에 연결된다.
동작 중에, 도 1의 FGS 인코더는 MPEG-4 FGS에서 행해지는 바와 같이, 예측을 위해서 기본계층만을 이용한다. 기본계층 인코더(11)는 단순히 단층 DCT 기반 움직임 보상된 인코더이다. 초기에, 입력 비디오는 움직임 추정 프로세스로부터 획득된 움직임 벡터들을 이용하면서, 움직임 보상된다. 그 후, 예측 오차는 DCT를 이용하여 변환되고, 결과적인 DCT 계수들은 양자화되고 가변 길이 코드를 이용하여 엔트로피 코딩된다. 기본계층 프레임을 재구성하기 위해서, 초기에, 역양자화가 수행되고, 그 후 IDCT가 수행된다. 움직임 보상 처리에서 빠진 예측은 그 후 다시 추가되고, 재구성된 프레임은 이후 영상들에 대한 참조로서 이용되기 위해서 프레임 버퍼내에서 저장된다.
확장계층을 인코딩하는 초기 단계는 양자화되지 않은 계수들에서 기본계층내에 역양자화 DCT 계수들을 빼내는 것이다. 비트 평면은 그 후 한번에 하나씩 스캐닝되고 가변 길이 코딩된다. 디코더는 디코딩시간에 실행가능한 비트레이트에 따라서 이 비트 평면의 일부 서브세트를 디코딩할 것이다.
도 2로 돌아가면, 본 발명의 원리에 따라서, 예시적인 FGS 인코더(110)는 기본계층부(111) 및 확장계층부(133)로 개념적으로 분리될 수 있다.기본계층부(111)는 합 블록(114)의 포지티브 입력과 신호 통신으로 연결된 입력 단자(112)를 포함한다. 합 블록(114)은 이산 코사인 변환("DCT")을 구현하기 위해서 기능 블록(116)으로 연결된다. 블록(116)은 양자화 변환(Q)을 구현하기 위해서 기능 블록(118)에 연결된다. 기능 블록(118)은 가변 길이 코딩("VLC")을 구현하기 위해서 기능 블록(120)에 연결된다. 블록(118)은 또한 역양자화 변환(Q-1)을 구현하기 위해서 기능 블록(122)에 연결된다.
블록(122)은, 역 이산 코사인 변환(IDCT)을 구현하기 위해서 기능 블록(124)에 연결된다. 블록(124)은 프레임 버퍼를 구현하기 위해서 블록(128)에 연결된 합 블록(126)의 포지티브 입력에 연결된다. 입력 단자(112)는 또한 입력 비디오 신호를 제공하기 위해서 블록(130)에 연결된다. 프레임 버퍼(128) 및 움직임 추정기(130)는 각각 적응 움직임 보상을 수행하기 위해서 기능 블록(132)에 연결된다. 기능 블록(132)은 합 블록(114)의 네거티브 입력에 연결되며 또한 합 블록(126)의 포지티브 입력으로 연결된다.
확장계층부(133)는 DCT(116)의 출력에 연결된 합 블록의 포지티브 입력, 및 역양자화 블록(122)의 출력에 연결된 합 블록의 네거티브 입력을 가진 합 블록(134)을 포함한다. 블록(134)의 출력은 비트 평면 코딩을 구현하기 위해서 기능 블록(136)에 연결된다. 비트 평면 코더(136)의 출력은 가변 길이 코딩(VLC)을 구현하기 위해서 기능 블록(138)에 연결된다. 비트 평면 코더(136)의 출력은 또한 기본계층부(111)로 구성된 합 블록(139)의 포지티브 입력에 연결된다.
기본계층부(111)로 돌아가서, 합 블록(139)은 역 양자화 블록(122)의 출력으로부터 연결된 다른 포지티브 입력을 가진다. 합 블록(139)의 출력은 다른 IDCT를 구현하기 위해서 기능 블록(140)에 연결된다. IDCT(140)은 적응 움직임 보상기(132)의 출력으로부터 연결된 다른 포지티브 입력을 가진, 합 블록(142)의 포지티브 입력에 연결된다. 합 블록(142)의 출력은 확장계층 프레임 버퍼(144)에 연결된다. 드리프트 프레임 버퍼(146)는 적응 움직임 보상기(132)와 양방향 신호 통신으로 연결된다.
동작 중에, 도 2의 FGS 인코더는 본 발명의 원리에 따라서, 바람직한 FGS 방법을 구현한다. 도 2의 FGS 인코더와 도 1의 FGS 인코더 사이의 중요한 차이는, 도 2의 인코더에서는, 확장계층내에서 비트 평면의 서브세트에 대한 비트 평면 코딩의 출력은 재구성된 확장계층 프레임 fmid을 획득할 때의 초기 단계에서와 같이, 기본계층내에서 역 양자화 DCT 계수들에 추가된다는 점이다. IDCT가 그 후 수행되고 움직임 보상 단계로부터 예측이 다시 추가된다. 결과, fmid는 확장계층 버퍼내에 저장된다. 재구성된 기본계층 프레임, fmin은 확장계층 프레임 버퍼내에 저장된다. 본 발명의 원리들을 구체화하는 적응 움직임 보상 방법, 장치, 시스템에서, 기본계층 및 확장계층 예측들이 판독되고, 축척된 예측 드리프트는 확장계층 예측이 이용되는 것을 가정해서 계산되며, 적절한 예측이 선택된다. 확장계층 예측이 선택되면, 축척된 예측 드리프트가 드리프트 프레임 버퍼로 업데이트되고 작성된다.
도 3으로 돌아가면, 도 2 및 수반된 설명에서, 및 본 발명의 원리들에 따라서, 언급된 적응 움직임 보상의 처리는 방법(200)으로 예시된다. 방법(200)은 시작 블록(210)에서 개시하며 결정 블록(212)으로 진행한다. 결정 블록(212)에서, 현 이미지가 새로운 화상 그룹(GOP : group of pictures)인지 결정된다. 현 이미지가 새로운 GOP의 개시를 행한다면, 컨트롤(control)은 축적된 예측된 오차 프레임, Fd를 0으로 재설정하도록 기능 블록(214)으로 나아간다. 블록(214) 후에, 또는 새로운 GOP가 블록(212)에서 검출되지 않는다면, 컨트롤은 중간 비트레이트 Rmid를 선택하는, 기능 블록(216)으로 나아가며, 여기서 Rmid는 최소 비트레이트 Rmin과 최대 비트레이트 Rmax사이의 어떤 값이다. 예시적 목적으로, Rmid는 Rmin와 Rmax사이의 중간으로 고려될 수 있다. 블록(216)은 그 후 기능 블록(218)으로 연결되며, 상기 기능 블록(218)은 최소 비트레이트, Rmin에서 코딩된 이전 프레임에 대응하여, 프레임, Fmin으로부터 매크로 블록을 불러온다(fetch). 블록(218)은 그 후 중간 비트레이트, Rmid에서 코딩된 이전 프레임에 대응하여, 프레임, Fmid로부터 매크로 블록을 불러오는, 기능 블록(220)으로 연결된다. 블록(220)은 그 후 기능 블록(222)으로 연결되며, 기능 블록(222)은 예측 오차가 축척된 이전 프레임에 대응하여, 프레임 Fd로부터 매크로 블록을 불러온다.
기능 블록(222)은 기능 블록(226)으로 컨트롤을 보낸다. 블록(226)은 축척된 예측 오차 Fd에 관련된 중간 비트레이트 예측 Pmid의 에너지 E를 계산하고, 결정 블록(228)으로 연결된다. 결정 블록(228)은 계산된 에너지 E가 문턱값 Emax보다 더 큰지를 결정하며, 만약 더 크지 않다면, 컨트롤을 기능 블록(230)으로 보낸다. 기능 블록(230)은 중간 비트레이트 예측 Pmid을 선택하며, 기능 블록(232)으로 연결된다. 기능 블록(232)은 축척된 예측 오차 프레임 Fd를 업데이트하며, 리턴 블록(236)으로 연결된다. 결정 블록(228)에서, 에너지 E가 문턱값 Emax보다 더 크다면, 그 후 컨트롤은 기능 블록(234)으로 나아간다. 블록(234)은 최소 비트레이트 예측 Pmin을 선택하며, 리턴 블록(236)으로 나아간다.
본 움직임 보상 방법의 동작 중에, 인코딩된 데이터 스트림을 위한 최소 및 최대 비트레이트은 각각, Rmin및 Rmax이다. Rmid은 Rmin와 Rmax사이의 어떤 중간 비트레이트이다. 이렇게, 매크로 블록을 인코딩하기 위해서, 인코더는 Rmin에서 이전 프레임으로부터 움직임 보상된 블록 및 Rmid에서 이전 프레임으로부터 움직임 보상된 블록을 불러온다.
인코더는 또한 축척된 예측 드리프트 오차를 나타내는 프레임으로부터 다른 블록을 불러온다. 축척된 예측 드리프트 오차 프레임은 모든 화상들의 그룹("GOP")의 개시에서 0으로 재설정된다. 최소 레이트 예측, 중간 레이트 예측, 및 축척된 예측 드리프트 오차를 나타내는 블록들은 각각, Pmin, Pmid및 Pd로 불려진다. 어떤 예측을 이용할 것인지를 결정하기 위해서, 인코더는 Pmid예측에 대한 예측 드리프트 오차의 에너지를 계산한다. 에너지 "E"는 블록의 에너지를 측정하는 함수(function)로 정의되며, Emax가 최대 허용 드리프트 에너지 문턱값이면, 적절한 예측(prediction)이 다음과 같이 선택된다.
If E(Pd+ Pmin- Pmid) > Emax(1)
Prediction = Pmin
Else
Prediction = Pmid
Pd= Pd+ Pmin- Pmid
End If
이 예시적 실시예에서, 비트는 예측 블록이 선택되는 수신 디코더로 전달되도록 매크로 블록에 포함된다. 디코더내에서, 각각 프레임, Fmin및 Fmid의 두 개의 디코딩된 버전들은 참조 프레임들로 이용되도록 메모리내로 기록된다. 프레임 Fmid가 중간 비트레이트에서의 프레임을 나타내는 반면에, 프레임 Fmin은 최소 비트레이트에서의 프레임을 나타낸다. 프레임이 Rmid보다 작은 비트레이트로 디코딩되면, Fmid은 더 작은 비트레이트에서 디코딩된 프레임을 이용해서 근사치에 가까워진다.
본 명세서의 이들 및 다른 특징들 및 장점들은 본 명세서에서의 개시내용(teaching)들에 기초한 관련 기술에서 당업자에 의해서 쉽게 확실해질 수 있다. 본 명세서의 개시 내용들은 하드웨어, 소프트웨어, 펌웨어, 특정 목적 프로세서들, 또는 그것들의 연결의 다양한 형태로 구현될 수 있다.
가장 바람직하게, 본 명세서의 개시 내용들은 하드웨어와 소프트웨어의 조합으로 구현된다. 게다가, 소프트웨어는 프로그램 저장 유닛 상에서 실체적으로(tangibly) 구현된 애플리케이션 프로그램으로서 바람직하게 구현된다. 애플리케이션 프로그램은 어떤 적절한 구조를 구성하는 기계로 업로드되고, 상기 기계에 의해서 실행될 수 있다. 바람직하게, 기계는 하나 이상의 중앙 처리 유닛("CPU")들, 랜덤 액세스 메모리("RAM") 및 입력/출력("I/O") 인터페이스들과 같은 하드웨어를 가진 컴퓨터 플랫폼 상에서 구현된다. 컴퓨터 플랫폼은 운영 체계 및 마이크로명령 코드를 또한 포함할 수 있다. 본 명세서에서 설명된 다양한 처리들 및 기능들은 CPU에 의해서 실행될 수 있는, 마이크로명령 코드의 일부 또는 애플리케이션 프로그램의 일부, 또는 그것들의 조합 중의 하나일 수 있다. 게다가, 다양한 다른 주변 유닛들은 추가적인 데이터 저장 유닛 및 인쇄 유닛과 같은 컴퓨터 플랫폼에 연결된다.
첨부된 도면들에 도시된 구성 시스템 요소들 및 방법들의 일부는 바람직하게 소프트웨어로 구현되기 때문에, 시스템 구성 요소들 또는 처리 기능 블록들 사이의 실제적인 연결들은 본 발명이 프로그래밍되는 방법에 따라 다를 수 있음을 또한 이해해야 한다. 본 명세서의 개시 내용에 따르면, 관련 분야에서 당업자는 본 명세서의 이들 및 유사한 구현 또는 구성들을 고려할 수 있다.
예시적인 실시예들이 수반된 도면들과 관련되어 본 명세서에서 설명되었지만, 본 발명은 이러한 특정 실시예들에 국한되지 않으며, 다양한 변화들 및 수정들이 본 발명의 범위 또는 정신에서 벗어나지 않고 관련 분야의 당업자에 의해서 행해질 수 있음을 이해해야 한다. 그러한 모든 변화들 및 수정들은 첨부된 청구 범위에 정의된 본 명세서의 범위에 포함되도록 의도된다.

Claims (20)

  1. 미세 입자 스켈링 가능한 비디오 데이터 장치에 있어서,
    매크로 블록의 최소 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 입력 비디오 데이터를 최소 비트레이트 매크로 블록 데이터로서 인코딩하고, 상기 매크로 블록 데이터의 중간 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 상기 입력 데이터를 중간 비트레이트 매크로 블록 데이터로서 인코딩하기 위한 인코더(110); 및
    중간 비트레이트 매크로 블록의 디코딩된 버전이 최대 문턱값(228)을 초과하는 축적된 예측된 오차 프레임 에너지를 가지는 지를 예측하기 위해 인코더와 신호 통신하는 적응 움직임 보상기(132)를 포함하는, 비디오 데이터 장치.
  2. 제 1 항에 있어서,
    상기 입력 비디오 데이터는 상기 최소 비트레이트과 최대 비트레이트 사이에서 미세 입자 스켈링 가능하며, 상기 중간 비트레이트는 그들 사이에 어느 곳에라도 위치하는, 비디오 데이터 장치.
  3. 제 1 항에 있어서,
    상기 인코더는 상기 적응 움직임 보상기를 포함하는, 비디오 데이터 장치
  4. 제 1 항에 있어서, 상기 인코더는,
    확장계층 프레임 버퍼(144);
    상기 확장계층 프레임 버퍼와 신호 통신하는 상기 적응 움직임 보상기; 및
    상기 확장계층 프레임 버퍼와 신호 통신하는 드리프트 프레임 버퍼(146)를 포함하는, 비디오 데이터 장치.
  5. 제 1 항에 있어서, 상기 적응 움직임 보상기는,
    각각의 새로운 화상 그룹(group of pictures)(212)에 대해서 드리프트 프레임 버퍼를 재설정하기 위한 화상 그룹 검출기;
    상기 드리프트 프레임 버퍼(226)에 대해 중간 레이트 예측의 에너지를 계산하기 위한 에너지 유닛(226); 및
    상기 매크로 블록 데이터(228)에 대해서 픽셀들의 각각의 블록이 상기 움직임 벡터들을 이용하여 이전 화상의 상기 데이터로부터 예측되도록 상기 중간 레이트 예측과 최소 레이트 예측 중 하나를 선택하기 위한 예측 유닛을 포함하는, 비디오 데이터 장치.
  6. 인코딩된 비디오 매크로 블록 데이터를 수신하는 미세 입자 스켈링 가능한 비디오 데이터 장치에 있어서, 각각의 매크로 블록은 상기 매크로 블록 데이터의 최소 비트레이트 버전을 나타내는 DCT 계수들 및 상기 매크로 블록 데이터의 중간 비트레이트 버전을 나타내는 DCT 계수들 중 하나에 의해서 나타내지며, 상기 장치는 축척된 예측된 오차 프레임의 예측된 에너지에 응답하여, 재구성된 매크로 블록 데이터를 생성하기 위해 상기 인코더로부터 수신된 각각의 매크로 블록에 대해서 상기 중간 및 최소 비트레이트 인코딩된 DCT 데이터 중 하나를 디코딩하기 위한 디코더를 포함하는, 비디오 데이터 장치.
  7. 미세 입자 스켈링 가능한 비디오 데이터 동작들을 수행하기 위한 방법에 있어서,
    매크로 블록 데이터의 최소 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 입력 비디오 데이터를 최소 비트레이트 매크로 블록 데이터로서 인코딩하는 것;
    상기 매크로 블록 데이터의 중간 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 상기 입력 비디오 데이터를 중간 비트레이트 매크로 블록 데이터로서 인코딩하는 것; 및
    상기 중간 비트레이트 매크로 블록 데이터의 디코딩된 버전이 최대 문턱값을 초과하는 축척된 예측된 오차 프레임 에너지를 가지는지를 예측하기 위해 상기 인코딩된 데이터를 보상하는 것을 포함하는, 상기 방법.
  8. 제 7 항에 있어서,
    상기 축척된 예측된 오차 프레임의 상기 예측된 에너지에 응답하여, 재구성된 매크로 블록 데이터를 생성하기 위해 상기 인코딩된 입력 비디오 데이터로부터상기 중간 및 최소 비트레이트 인코딩된 DCT 데이터 중 하나를 디코딩하는 것을 더 포함하는, 방법.
  9. 제 7 항에 있어서,
    상기 입력 비디오 데이터는 상기 최소 비트레이트과 최대 비트레이트 사이에서 미세 입자 스켈링 가능하며, 상기 중간 비트레이트는 그들 사이에 어느 곳에라도 위치하는, 방법.
  10. 제 7 항에 있어서,
    보상된 확장계층 블록 데이터를 생성하기 위해 상기 매크로 블록 데이터에 대한 움직임 벡터들 및 이전 화상의 확장계층 데이터를 가지고 확장계층 블록 데이터를 보상하여, 상기 확장계층 DCT 데이터를 생성하기 위해 DCT가 상기 보상된 확장계층 블록 데이터에 대해서 수행되는 것을 더 포함하는, 방법.
  11. 인코딩된 비디오 매크로 블록 데이터를 수신하는 방법에 있어서, 각각의 매크로 블록은 상기 매크로 블록의 최소 비트레이트 버전을 나타내는 DCT 계수들 및 상기 매크로 블록 데이터의 중간 비트레이트 버전을 나타내는 DCT 계수들 중 하나에 의해서 나타내지고, 상기 방법은 축척된 예측된 오차 프레임의 예측된 에너지에 응답하여, 재구성된 매크로 블록 데이터를 생성하기 위해 상기 인코더로부터 수신된 각각의 매크로 블록에 대해서 상기 중간 및 최소 비트레이트 인코딩된 DCT 데이터 중 하나를 디코딩하는 것을 포함하는, 방법.
  12. 기계에 의해서 판독될 수 있고, 미세 입자 스켈링 가능한 비디오 데이터 동작들을 수행하기 위한 단계들을 수행하도록 상기 기계에 의해서 실행될 수 있는 명령들의 프로그램을 실제적으로 구체화하는 프로그램 저장 장치에 있어서,
    상기 단계는,
    상기 매크로 블록의 최소 비트레이트 버전을 나타내는 DCT 계수들의 가진 DCT 데이터를 생성하기 위해 입력 비디오 데이터를 최소 비트레이트 매크로 블록 데이터로서 인코딩하는 단계;
    상기 매크로 블록의 중간 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 상기 입력 비디오 데이터를 중간 비트레이트 매크로 블록 데이터로서 인코딩하는 단계; 및
    상기 중간 비트레이트 매크로 블록 데이터의 디코딩된 버전이 최대 문턱값을 초과하는 축척된 예측된 오차 프레임 에너지를 가지는 지 예측하도록 상기 인코딩된 데이터를 보상하는 단계를 포함하는, 프로그램 저장 장치.
  13. 제 12 항에 있어서,
    상기 단계들은 또한 상기 축척된 예측된 오차 프레임의 상기 예측된 에너지에 응답하여, 재구성된 매크로 블록 데이터를 생성하기 위해 상기 인코딩된 입력 비디오 데이터로부터 상기 중간 및 최소 비트레이트 인코딩된 DCT 데이터 중 하나를 디코딩하는 단계를 포함하는, 프로그램 저장 장치.
  14. 제 12 항에 있어서,
    상기 입력 비디오 데이터는 상기 최소 비트레이트과 최대 비트레이트 사이에서 미세 입자 스켈링 가능하며, 상기 중간 비트레이트는 그들 사이에 어느 곳에라도 위치하는, 프로그램 저장 장치.
  15. 제 12 항에 있어서,
    상기 단계들은 보상된 확장계층 블록 데이터를 생성하기 위해 상기 매크로 블록 데이터에 대한 움직임 벡터들 및 이전 화상의 확장계층 데이터를 가지고 확장계층 블록 데이터를 보상하여, 상기 확장계층 DCT 데이터를 생성하기 위해 DCT가 상기 보상된 확장계층 블록데이터에 대해서 수행되는 단계를 더 포함하는, 프로그램 저장 장치.
  16. 기계에 의해서 판독될 수 있고, 인코딩된 비디오 매크로 블록 데이터를 수신하기 위해서 단계들을 수행하도록 상기 기계에 의해서 실행될 수 있는 명령들의 프로그램을 실체적으로(tangibly) 구현하는 프로그램 저장 장치로서, 각각의 매크로 블록은 상기 매크로 블록 데이터의 최소 비트레이트 버전을 나타내는 DCT 계수들 및 상기 매크로 블록 데이터의 중간 비트레이트 버전을 나타내는 DCT 계수들 중 하나에 의해서 나타내지고, 상기 단계들은 축척된 예측된 오차 프레임의 예측된 에너지에 응답하여, 재구성된 매크로 블록 데이터를 생성하기 위해 인코더로부터 수신된 각각의 매크로 블록에 대해서 상기 중간 및 최소 비트레이트 인코딩된 DCT 데이터 중 하나를 디코딩하는 것을 포함하는, 프로그램 저장 장치.
  17. 미세 입자 스켈링 가능한 비디오 데이터 동작들을 수행하기 위해서 미세 입자 스켈링 가능한 비디오 데이터 시스템에 있어서,
    매크로 블록 데이터의 최소 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 입력 비디오 데이터를 최소 비트레이트 매크로 블록 데이터로서 인코딩하기 위한 최소 인코딩 수단;
    상기 매크로 블록 데이터의 중간 비트레이트 버전을 나타내는 DCT 계수들을 가진 DCT 데이터를 생성하기 위해 상기 입력 비디오 데이터를 중간 비트레이트 매크로 블록 데이터로서 인코딩하기 위한 중간 인코딩 수단; 및
    상기 중간 비트레이트 매크로 블록 데이터의 디코딩된 버전이 최대 문턱값을 초과하는 축척된 예측된 오차 프레임 에너지를 가지는지를 예측하기 위해 상기 인코딩된 데이터를 보상하기 위한 보상 수단을 포함하는, 비디오 데이터 시스템.
  18. 제 17 항에 있어서,
    상기 축척된 예측된 오차 프레임의 상기 예측된 에너지에 응답하여, 재구성된 매크로 블록 데이터를 생성하기 위해 상기 인코딩된 입력 비디오 데이터로부터 상기 중간 및 최소 비트레이트 인코딩된 DCT 데이터 중 하나를 디코딩하기 위한 디코딩 수단을 더 포함하는, 비디오 데이터 시스템.
  19. 제 17 항에 있어서,
    상기 입력 비디오 데이터는 상기 최소 비트레이트과 최대 비트레이트 사이에서 미세 입자 스켈링 가능하며, 상기 중간 비트레이트는 그들 사이에 어느 곳에라도 위치하는, 비디오 데이터 시스템.
  20. 제 17 항에 있어서,
    보상된 확장계층 블록 데이터를 생성하기 위해 상기 매크로 블록 데이터에 대한 움직임 벡터들 및 이전 화상의 확장계층 데이터를 가지고 확장계층 블록 데이터를 보상하여, 상기 확장계층 DCT 데이터를 생성하기 위해 DCT가 상기 보상된 확장계층 블록 데이터에 대해서 수행되는 보상 수단을 더 포함하는, 비디오 데이터 시스템.
KR1020037016221A 2001-06-11 2002-06-11 미세 입자 스케일 가능한 비디오에 대한 움직임 보상 KR100936635B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US29733001P 2001-06-11 2001-06-11
US60/297,330 2001-06-11
PCT/US2002/018444 WO2002102048A2 (en) 2001-06-11 2002-06-11 Motion compensation for fine-grain scalable video

Publications (2)

Publication Number Publication Date
KR20040007694A true KR20040007694A (ko) 2004-01-24
KR100936635B1 KR100936635B1 (ko) 2010-01-14

Family

ID=23145854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016221A KR100936635B1 (ko) 2001-06-11 2002-06-11 미세 입자 스케일 가능한 비디오에 대한 움직임 보상

Country Status (9)

Country Link
US (1) US7912124B2 (ko)
EP (1) EP1396091A4 (ko)
JP (2) JP4597511B2 (ko)
KR (1) KR100936635B1 (ko)
CN (1) CN100366094C (ko)
AU (1) AU2002312451A1 (ko)
BR (2) BRPI0210276B1 (ko)
MX (1) MXPA03011303A (ko)
WO (1) WO2002102048A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006001777A1 (en) * 2004-06-23 2006-01-05 Agency For Science, Technology And Research Scalable video coding with grid motion estimation and compensation
US7809064B2 (en) * 2004-11-15 2010-10-05 Industrial Technology Research Institute Systems and methods of flexible power management applicable to digital broadcasting
US8081755B2 (en) * 2005-05-20 2011-12-20 Microsoft Corporation JPEG2000 syntax-compliant encryption with full scalability
US7953224B2 (en) * 2005-05-20 2011-05-31 Microsoft Corporation MPEG-4 encryption enabling transcoding without decryption
FR2891966A1 (fr) * 2005-10-11 2007-04-13 France Telecom Dispositifs et procedes de codage et de decodage echelonnables de flux de donnees d'images, signal, programme d'ordinateur et module d'adaptation de qualite d'images correspondants
US20070160127A1 (en) * 2006-01-10 2007-07-12 International Business Machines Corporation Bandwidth adaptive stream selection
CN101828401B (zh) * 2007-10-16 2013-07-17 汤姆森许可贸易公司 用于比特深度缩放的伪像去除的方法和设备
KR100937590B1 (ko) * 2007-10-23 2010-01-20 한국전자통신연구원 다중 품질 서비스 영상 콘텐츠 제공 시스템 및 그것의업그레이드 방법
KR20090097015A (ko) 2008-03-10 2009-09-15 삼성전자주식회사 스케일러블 영상 부호화장치 및 스케일러블 영상복호화장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956088A (en) * 1995-11-21 1999-09-21 Imedia Corporation Method and apparatus for modifying encoded digital video for improved channel utilization
US5652616A (en) * 1996-08-06 1997-07-29 General Instrument Corporation Of Delaware Optimal disparity estimation for stereoscopic video coding
US6055330A (en) * 1996-10-09 2000-04-25 The Trustees Of Columbia University In The City Of New York Methods and apparatus for performing digital image and video segmentation and compression using 3-D depth information
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
EP0940774A3 (en) * 1998-03-05 2000-07-05 Matsushita Electric Industrial Co., Ltd. Motion vector coding and decoding apparatus and method
US6353700B1 (en) * 1998-04-07 2002-03-05 Womble Multimedia, Inc. Method and apparatus for playing an MPEG data file backward
US6289054B1 (en) * 1998-05-15 2001-09-11 North Carolina University Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
US6418242B1 (en) * 1998-11-18 2002-07-09 Tektronix, Inc. Efficient detection of error blocks in a DCT-based compressed video sequence
US6414996B1 (en) * 1998-12-08 2002-07-02 Stmicroelectronics, Inc. System, method and apparatus for an instruction driven digital video processor
US6327000B1 (en) * 1999-04-02 2001-12-04 Teralogic, Inc. Efficient image scaling for scan rate conversion
US6275536B1 (en) * 1999-06-23 2001-08-14 General Instrument Corporation Implementation architectures of a multi-channel MPEG video transcoder using multiple programmable processors
JP3407872B2 (ja) * 1999-09-29 2003-05-19 日本電気株式会社 付加情報検出方法及び装置
EP1139669A1 (en) * 2000-03-28 2001-10-04 STMicroelectronics S.r.l. Coprocessor for motion estimation in digitised video sequence encoders
US7133449B2 (en) * 2000-09-18 2006-11-07 Broadcom Corporation Apparatus and method for conserving memory in a fine granularity scalability coding system
EP1598714B1 (en) 2000-12-13 2016-09-28 LG Electronics Inc. Apparatus and method for remotely controlling household appliances
US6907070B2 (en) * 2000-12-15 2005-06-14 Microsoft Corporation Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding
US20020118743A1 (en) * 2001-02-28 2002-08-29 Hong Jiang Method, apparatus and system for multiple-layer scalable video coding

Also Published As

Publication number Publication date
MXPA03011303A (es) 2004-03-19
KR100936635B1 (ko) 2010-01-14
JP2010098760A (ja) 2010-04-30
AU2002312451A1 (en) 2002-12-23
US20040156433A1 (en) 2004-08-12
EP1396091A2 (en) 2004-03-10
WO2002102048A3 (en) 2003-09-12
WO2002102048A2 (en) 2002-12-19
BRPI0210276B1 (pt) 2019-04-09
CN100366094C (zh) 2008-01-30
CN1515085A (zh) 2004-07-21
BR0210276A (pt) 2005-04-26
EP1396091A4 (en) 2006-05-31
JP4597511B2 (ja) 2010-12-15
JP2004538686A (ja) 2004-12-24
US7912124B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
US7379496B2 (en) Multi-resolution video coding and decoding
JP2010098760A (ja) 細粒度スケーラブル・ビデオ用の動き補償
US6947486B2 (en) Method and system for a highly efficient low bit rate video codec
CN1462555A (zh) 用于精细可伸缩性增强层的基于活动的频率加权方法及系统
JP2005507587A (ja) 空間的にスケーラブルな圧縮
JP2005086830A (ja) ビットストリーム制御後処理フィルタリング
CN1407808A (zh) 流量可缩放的视频代码转换器
WO2003067896A1 (en) Image information coding device and method and image information decoding device and method
US20050265444A1 (en) Moving image encoding/decoding apparatus and method
JP2003526237A (ja) ビットレートトランスコーディング応用のための量子化方法
US20060133491A1 (en) Video codec
JP2006511164A (ja) 弾性記憶
KR100489040B1 (ko) 동영상 부호화기, 동영상 복호화기에서 슬라이스 메모리와프레임 메모리간의 데이터 처리 방법
JP2004538686A5 (ko)
Richardson et al. Adaptive algorithms for variable-complexity video coding
RU2587412C2 (ru) Управление скоростью передачи видео на основе гистограммы коэффициентов преобразования
US7085321B2 (en) Compression
CN1656814A (zh) 在运动补偿精细颗粒可伸缩结构中的漂移最小化
KR100987922B1 (ko) 선택적 참조영상을 이용한 움직임 보상기법을 적용한 동영상 압축부호화장치및 복호화 장치와 움직임 보상을 위한 선택적 참조영상 결정방법
JP2005303710A (ja) 動画像符号化方法、画像処理装置および画像処理プログラム
KR100774455B1 (ko) 실시간 비디오 전송 응용을 위한 비트율 조절장치
JPH11205801A (ja) 動画像符号化装置およびその符号化選択方法
JP2010268505A (ja) ブロック動きビデオのコード化及びデコード化
KR20030067589A (ko) 스트리밍 비디오 비트스트림들간의 스위칭에 사용하기위한 방법 및 장치
JPH0364186A (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: 20121220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 10