KR20030014716A - 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절 - Google Patents

미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절 Download PDF

Info

Publication number
KR20030014716A
KR20030014716A KR1020027017224A KR20027017224A KR20030014716A KR 20030014716 A KR20030014716 A KR 20030014716A KR 1020027017224 A KR1020027017224 A KR 1020027017224A KR 20027017224 A KR20027017224 A KR 20027017224A KR 20030014716 A KR20030014716 A KR 20030014716A
Authority
KR
South Korea
Prior art keywords
header information
load
determining
data
decoded
Prior art date
Application number
KR1020027017224A
Other languages
English (en)
Other versions
KR100873586B1 (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 KR20030014716A publication Critical patent/KR20030014716A/ko
Application granted granted Critical
Publication of KR100873586B1 publication Critical patent/KR100873586B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients
    • 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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 처리 시스템 내의 MPEG 디코더의 계산 부하를 조절하는 방법 및 시스템에 제공된다. 비디오 처리 시스템은, 복수의 매크로블럭들을 포함하는 압축된 비디오 데이타 스트림의 헤더 정보를 그 관련된 모션 벡터로 처리한다. 그 다음, MPEG 디코더의 각각의 기능 블럭의 계산 부하가 사전설정된 기준에 따라 조절된다. 그리하여, 바람직하게 상당한 계산 오버헤드를 피할 수 있다.

Description

미디어 프로세서에서 MPEG2 디코딩의 동적인 복잡도 예측 및 조절{DYNAMIC COMPLEXITY PREDICTION AND REGULATION OF MPEG2 DECODING IN A MEDIA PROCESSOR}
비디오 정보는 전형적으로 저장 공간을 절약하기 위해 압축되며 디스플레이를 위해 비트스트림으로 압축해제된다. 그리하여, 동화상을 제공하기 위해 압축된 비디오 정보를 신속하고 효율적으로 디코딩하는 것이 대단히 바람직하다. 비디오 정보의 압축 및 압축해제를 위해 광범위하게 이용되는 한 압축 방법은, 비디오 인코딩 및 디코딩을 위한 MPEG(Motion Picture Expert Group) 표준이다. MPEG 표준은, 1993-08-1일 제1판 국제 표준 ISO/IEC 11172-1, "Information Technology--Coding of moving pictures and associated audio for digital storage media at up to 1.5 Mbit/s"의 1, 2, 및 3편에 정의되어 있다.
일반적으로, 많은 비디오 시스템들의 목표는 동화상을 제공하도록 압축된 비디오 정보를 신속하고 효율적으로 디코딩하는 것이다. 현재, 한 프레임 처리에 대한 계산 부하는 MPEG2 디코딩 프로세서의 디코딩 알고리즘에 의해 제약받지 않는다. 그러나, MPEG2 디코딩의 불규칙한 계산 부하 거동(behavior)으로 인해, 한 프레임의 피크 계산 부하는 미디어 프로세서의 최대 CPU 부하를 초과할 수도 있어, 프레임 누락이나 예상치 않은 결과를 초래할 수 있다. 그 결과, 엔지니어들이 미디어 프로세서상에서의 MPEG2 디코딩을 구현할 때, 피크 계산 부하가 발생하는 경우에 부드러운 동작을 가질 수 있도록 평균 디코딩 부하보다 40%-50% 높은 성능 여유를 갖는 프로세서를 선택할 것이다. 이러한 유형의 구현은, 원치 않는 피크 계산 부하가 자주 발생하지 않는 경우에는 비경제적이며 자원 낭비를 생성한다. 따라서, 프레임, 슬라이스, 또는 매크로블럭 계산 부하의 복잡도 예측이나 추정없이는, 비디오 시스템 엔지니어가 소정의 MPEG 비트 스트림의 피크 계산 요구사항을 조절하는 것은 불가능하다.
따라서, 미디어 프로세서 상에서 구현되는 MPEG2 디코더에 대해 복잡도 예측 알고리즘을 제공할 필요가 있다.
본 발명은 압축된 비디오 정보의 비디오 처리에 관한 것으로, 보다 구체적으로는, MPEG 디코더의 계산 부하를 조절하기 위한 방법 및 장치에 관한 것이다.
도 1은 비디오 정보를 압축해제함에 있어서 계산 부하를 조절하기 위한 프로세서의 한 실시예를 도시한다.
도 2는 도 1의 프로세서 내의 동작 단계들을 도시하는 흐름도이다.
도 3은 본 발명에 따른 프로세서의 계산 부하의 추정을 도시하는 흐름도이다.
도 4(a)-(c)는 매크로블럭-유형 정보의 포멧을 도시한다.
도 5는 본 발명에 따른 헤더 정보의 다양한 유형들에 할당된 상이한 계산 가중치를 도시하는 테이블이다.
도 6(a)-(b)는 본 발명에 따른 비디오 시퀀스의 복잡도 추정의 실제 시뮬레이션을 도시한다.
본 발명은, 인코딩된 디지털 비디오 신호의 디코딩을 스케일링함으로써 MPEG 디지털 비디오 디코더 시스템의 디코딩 효율을 개선하는 방법 및 시스템에 관련되어 있다.
본 발명은 비디오 처리 시스템에서 MPEG 디코더의 계산 부하를 조절하는 방법을 제공한다. 이 방법은 사전설정된 임계치보다 큰 크기를 보이는 모션 벡터들을 갖는, 압축된 비디오 데이터 스트림 내의 매크로블럭들의 헤더 정보를 검색하는 단계를 포함한다. 이 방법은, 사전설정된 기준에 따라 MPEG 디코더의 각각의 기능블럭의 계산 부하를 선택적으로 조절하는 단계도 역시 포함한다. 그 결과, 양호하게 상당한 계산 오버헤드를 피할 수 있다.
본 발명은 프로그래머블 비디오 디코딩 시스템에 관련되어 있으며, 이 시스템은, 블럭-기반의 데이터 패킷들의 스트림을 수신하여 디코딩하도록 구성되며 상기 디코딩된 데이터 패킷들로부터 양자화된 데이터를 출력하도록 동작하는 가변 길이 디코더(VLD)와; 상기 블럭-기반의 데이터 패킷들로부터 헤더 정보를 추출하며 나아가 추출된 헤더 정보에 기초하여 비디오 복잡도 알고리즘 실행하도록 구성된 복잡도 추정기와; 상기 VLD로부터 수신한 양자화된 데이터를 역양자화하도록 상기 VLD의 출력에 결합된 역양자화기와; 상기 역양자화된 데이터를 주파수 영역으로부터 공간 영역으로 변환하기 위해 상기 역양자화기의 출력에 결합된 역이산코사인 변환기(IDCT)와; 상기 양자화된 데이터로부터 모션 벡터 데이터를 수신하고 기준 신호를 발생하도록 구성된 모션 보상기(MC)와; 모션 보상된 화상들을 형성하기 위해 상기 IDCT로부터 상기 공간 영역 데이터와 상기 기준 신호를 수신하는 가산기를 포함한다.
본 발명의 방법 및 장치에 대한 보다 완전한 이해는 첨부된 도면들을 참조한 이하의 상세한 설명으로부터 명백할 것이다.
이하의 설명에서, 제한이 아니라 설명하기 위한 목적으로, 본 발명의 완전한 이해를 위해, 특정한 아키텍쳐, 인터페이스, 기술등과 같은 구체적인 세부사항이 제공된다. 그러나, 당업자는 이들 구체적인 세부사항들과는 다른 실시예들로 본 발명을 구현할 수 있다는 것을 이해할 것이다. 간단하고 명확하게 하기 위해, 불필요한 세부사항으로 본 발명의 설명을 불명료하게 하지 않도록, 공지된 장치, 회로, 및 방법들은 생략될 것이다.
도 1은 본 발명의 실시예에 따라 디코딩된 비디오 샘플들을 복구할 수 있는 MPEG 비디오 디코더(10)의 주요 구성요소들을 도시한다. 본 발명의 디코더(10)에 도달하기 이전에 인입하는 데이타는 압축된다는 것을 이해하여야 한다. 비디오 데이타의 압축은 다양한 방식, 즉, MPEG2 표준에 따라 제안된, 사람의 시각 시스템에 민감하지 않은 정보를 버림으로써 수행될 수 있다는 것은 잘 알려져 있다. MPEG2는 비디오 프로그램들을 6 Mbits/sec 비트스트림으로 인코딩하고 다수의 6Mbits/sec 채널스트림을 하나의 더 높은 속도의 단일 전송 스트림으로 패킷화할 수 있는 제2 세대 압축 표준이다. 화소들은 처리를 위해 공간 정보로부터 주파수 영역 정보로 변환된다.
MPEG 표준에 의해 정의된 3가지 유형의 비디오 정보가 있다. 즉, 인트라-프레임(I 프레임), 전방향 예측된 프레임(P 프레임), 및 양방향-예측된 프레임(B 프레임)이다. I 프레임, 또는 실제의 비디오 기준 프레임은 주기적으로, 예를 들어, 15 프레임마다 한 프레임씩 코딩된다. 비디오 프레임 성분인 P 프레임이 다음 기준 프레임 이전의 특정수의 프레임 전방에 위치되는지에 대한 예측이 이루어진다. B 프레임은 I 프레임과 예측된 P 프레임들 사이에서, 또는 장래의 기준 프레임 내의 매크로블럭으로 과거의 기준 프레임 내의 매크로블럭을 보간(평균화)함으로써 예측된다. 현재 프레임 내의 매크로블럭에 관하여 기준 프레임 내의 매크로블럭의 상대적 위치를 명시하는 모션 벡터가 또한 인코딩된다.
프레임들은, 계수들을 특정한 코사인 기반 함수의 진폭으로서 인코딩하는 이산 코사인 변환(DCT) 코딩 방법을 이용하여 코딩된다. DCT 계수들은 양자화되고 나아가 가변 길이 인코딩을 이용하여 코딩된다. 가변 길이 코딩(VLC, 12)은 코드워드들을 인코딩될 값들에 할당하는 통계적 코딩 기술이다. 발생 빈도가 높은 값들에는 짧은 코드워드들이 할당되고, 발생 빈도가 높지 않은 값들에는 긴 코드워드들이 할당된다. 대체로 발생 빈도가 높을수록 짧은 코드워드들이 우세하게 되어, 코드워드 스트링은 원래의 데이타보다 짧아진다.
따라서, 상술한 바와 같이 압축 코딩된 프레임들을 수신할 때, 디코더(10)는과거의 기준 프레임의 대응하는 매크로블럭에 적용된 모션 벡터로 모션 보상을 수행함으로써 현재의 P프레임의 매크로블럭을 디코딩한다. 디코더(10)는 또한 과거 및 미래 기준 프레임에 각각 적용된 모션 벡터들로 모션 보상을 수행함으로써 B 프레임의 매크로블럭을 디코딩한다. 모션 보상은 많은 비디오 압축해제 방법들중에서 가장 높은 계산 집중형의 동작들중 하나이다. 비디오 프레임들 사이에서 픽셀들이 변경될 때, 이러한 변경은 종종 예측가능한 카메라 또는 피사체의 움직임에 기인한 것이다. 따라서, 한 프레임 내의 픽셀들의 매크로블럭은 이전 또는 후속 프레임 내의 픽셀들의 매크로블럭을 이동(translate)함으로써 얻어질 수 있다. 이동량은 모션 벡터라 불린다. I 프레임은 과거 또는 미래의 어떠한 프레임도 참조하지 않고 하나의 화상으로서 인코딩되기 때문에, I 프레임을 디코딩할 때는 모션 처리는 필요하지 않다.
상술한 압축해제의 계산 요구를 감당할 수 없는 비디오 시스템들은 전체 프레임을 종종 누락시킨다. 이것은 비디오 재생시에 화상이 순간적으로 멈추거나(freezing), 후속해서 갑작스런 불연속이나 휙지나감(jerkiness)으로서 관찰된다. 이 목적을 위해, 도 1의 실시예는 결과적인 비디오 화상의 품질을 유지하면서 압축해제 방법들에 연관된 처리 요건들을 감소시키는 복잡도 예측(complexity prediction)을 제공한다.
이제 도1로 되돌아가면, 디코딩을 스케일링하기 위한 본 발명에 따른 MPEG 비디오 디코더(10)는, 가변 길이 디코더(VLC, 12)와; 역 스캔/양자화 회로(14)와; 스케일가능한 스위치(15)와; 역 이산 코사인 변환(IDCT) 회로(16)와; 가산기(18)와; 프레임 버퍼(20)와; 복잡도 추정기(22)와; 모션 보상 모듈(24)을 포함한다. 동작 모드에서, 디코더(10)는 압축된 비디오 정보의 스트림을 수신한다. 이것은 VLC 디코더(12)에 제공된다. VLC 디코더(12)는, 압축된 신호의 가변 길이 코딩된 부분을 디코딩하여 가변 길이 디코딩된 신호를 역 스캔(또는 지그-재그)/양자화 회로(14)에 제공하고, 이 회로(14)는 가변 길이 디코딩된 신호를 디코딩하여 지그-재그 디코딩된 신호를 제공한다. 역 지그-재그 및 양자화는, 압축된 비디오 신호가 지그-재그 런-랭쓰(run-length) 코드 방식으로 압축된다는 점을 보상한다. 지그-재그 디코딩된 신호는 순차적 정보 블럭들로서 역 DCT 회로(16)에 제공된다. 그 다음, 이 지그-재그 디코딩된 신호는 IDCT 회로(16)에 제공되고, 이 회로는 지그-재그 디코딩된 비디오 신호를 블럭별로 역 이산 코사인 변환하여 압축해제된 픽셀값 또는 압축해제된 에러항들을 제공한다. 압축해제된 픽셀값들은 가산기(18)에 제공된다.
반면, 모션 보상 모듈(24)은 모션 정보를 수신하고 모션-보상된 픽셀들을 매크로블럭별로 가산기(18)에 제공한다. 보다 구체적으로는, 전방향 모션 벡터들은 이전 화상 내의 픽셀들을 이동하는데 이용되고, 후방 모션 벡터들은 미래 화상 내의 픽셀들을 이동하는데 이용된다. 그 다음, 이 정보는 역 DCT 회로(16)에 의해 제공된 압축해제된 에러 항에 의해 보상된다. 여기서, 모션 보상 회로(24)는 프레임 버퍼(20)로부터 이전 화상 정보와 미래 화상 정보를 액세스한다. 그 다음, 이전 화상 정보는 모션 보상 회로(24)에 의해 전방 모션 보상되어 전방 모션-보상된 픽셀 매크로블럭을 제공한다. 미래의 화상 정보는 모션 보상 회로(24)에 의해 후방 모션 보상되어 후방 모션-보상된 픽셀 매크로블럭을 제공한다. 이들 두 매크로블럭을 평균하면 양방향 모션 보상된 매크로블럭이 얻어진다. 그 다음, 가산기(18)는 한 프레임이 완료될때까지 압축해제된 비디오 정보와 모션-보상된 픽셀들을 수신하여 압축해제된 픽셀들을 버퍼(20)에 제공한다. 만일 블럭이, 예측된 매크로블럭에 속하지 않는다면(예를 들어, I 매크로블럭인 경우), 이들 픽셀값들은 변경되지 않고 프레임 버퍼(20)에 제공된다. 그러나, 예측된 매크로블럭들(예를 들어 B 매크로블럭 및 P 매크로블럭)인 경우, 가산기(18)는 모션 보상 회로(24)로부터의 전방 모션 보상 및 후방 모션 보상 출력에 압축해제된 에러를 가산하여 프레임 버퍼(20)에 제공되는 픽셀값들을 발생한다.
앞서 기술된 바와 같이, 실시예의 구조와 동작은, 본 발명의 디코더(10)가 복잡도 추정기(22)를 더 포함한다는 점을 제외하고는, 당업자에게 공지되어 있다는 점에 주목해야 할 것이다. 본 발명에 따른 디코더(10)에 제공된 복잡도 추정기(22)는 디코더(10) 내에서 프레임, 슬라이스, 또는 매크로블럭 계산 부하의 추정을 제공한다. 따라서, 복잡도 추정기(22)의 기능은, 블럭들의 MPEG2 디코딩 블럭들(VLD 동작 제외)을 실행하기 이전에 현재 프레임, 슬라이스, 또는 매크로블럭의 계산 부하를 예측하는 것이다. 이러한 유형의 예측으로, 본 발명은 미디어프로세서 상에 구현된 멀티미디어 시스템의 부드러운 동작을 보장하는 복잡도-제어 메카니즘의 설계를 가능케한다. 즉, 본 발명의 디코더는 가용 컴퓨터 자원들, 즉, IDCT(16) 및 MC(24)의 이용에 있어서 트레이드오프를 허용함으로써 스케일가능성을 제공한다.
도 2는 IDCT(16)와 MC(24)의 계산 부하에 관한 추정과 조절을 인에이블하는 기본 동작 단계들을 도시한다. 이를 달성하기 위해, 본 발명은 발생할 수도 있는 계산 오버헤드를 예측하고 IDCT(26) 및/또는 MC(24)의 계산 복잡도를 적응적으로 조절하기 위해 매크로블럭-유형 정보를 이용함으로써, 디코더(10)에는 더 낮은 계산 부하가 걸린다. 복잡도 측정은 특정 보조프로세서 상에서 소프트웨어를 실행하는데 소요되는 머신 싸이클의 총 개수로 정의된다. 따라서, 블럭(30)에서, 매크로블럭의 헤더 정보는 디코더(10)에 의해 수신되는 인입 신호로부터 검색된다. 블럭(40)에서, 검색된 헤더 정보는 IDCT(16) 및/또는 MC(24)의 필요한 계산 부하를 추정하기 위해 분석된다. 일반적으로, 처리되고 있는 정보의 유형에 의존하여, 디코더(10)의 구성 요소들은 수개의 태스크에 의해 부하를 받는다. 프로세스가 보다 적은 개수의 태스크를 수행하여 부하를 덜 받고 있을 때, 본 발명에서는 IDCT(16) 및/또는 MC(24)의 계산 부하를 스케일링함으로써 디코더의 계산 부하가 감소될 것이다.
이제, 본 발명에 따라 동적 예측을 지원하기 위해 계산 부하를 추정하고 디코딩 프로세스를 스케일링하는 것에 관해 상세히 설명될 것이다. 도 3의 흐름도는 복잡도 추정기의 소프트웨어 실시예의 동작을 도시한다. 이 흐름도는 일반적으로 하드웨어 실시예에도 역시 잘 적용된다.
도 3에 도시된 바와 같이, 단계(100)에서 압축된 비디오 정보의 스트림은 본 발명의 디코더(12)에 의해 수신된다. 단계(110)에서, 현재 매크로블럭의 헤더 정보는 MPEG2 디코딩 동작을 실행하기 이전에 검색된다. 매크로블럭-유형 정보의 포멧이 도 4(a)-(c)에 도시되어 있다. 헤더 정보를 수신할 때, 단계(120)에서 복잡도 추정기(22)는 디코더(12)의 퍼포먼스 성능에 대해 판정한다. 즉, 복잡도 추정기(22a)는 헤더 정보와 디코더(10)의 가용 계산 자원에 기초하여 IDCT(16)과 MC(24)에 대해 상이한 퍼포먼스 등급을 결정한다. 이 목적을 위해, 복잡도를 추정하도록 VLD 헤더로부터 4개의 상이한 파라미터들이 추출된다. 이들 4개의 파라미터들은 이하에서 설명되는 바와 같이 변동하는 계산 가중치를 할당하기 위해 독립적으로 분석된다.
단계(130)에서, 서로 다른 계산 가중치(Ctype)가 디코더(10)에 의해 수신되는 매크로블럭의 유형에 의존하여 역 DCT(16)에 할당된다. 도 4를 참조하여, 만일 매크로블럭_유형 = 인트라이면, 대응하는 계산 가중치는 0에 할당되는데 이는 인트라코딩된 매크로블럭은 매크로블럭_유형을 통해서가 아니라 IDCT(16)에 의한 계산만을 요구하기 때문이다. 만일 현재의 매크로블럭이 모션 보상되지 않고 코딩된다면, 대응하는 계산 가중치는 W인데, 이는 이전 블럭들을 찾아보고 이들을 현재의 블럭들에 복사하는 것을 포함한 계산 부하가 모션 보상 시나리오보다 계산을 덜 요구하기 때문이다. 만일 현재의 매크로블럭이 모션보상되고 코딩되지 않는다면, 대응하는 계산 가중치는 2W이다. 만일 현재의 매크로블럭이 보간 모션 보상되고 코딩된다면, 대응하는 계산 가중치는 3W인데, 이는 전방 벡터(들)과 후방 벡터(들)을 검색할 필요성으로 인해 계산 부하가 다른 유형보다 높기 때문이다.
단계(140)에서, IDCT(16)과 MC(24)에 대해 상이한 퍼포먼스 등급(Cmv)이 요구되는지를 판정하기 위해, 헤더 정보로부터 유도된 모션 벡터 크기가 사전설정된 임계치와 비교된다. 즉, 큰 모션 벡터에 대해, 이전 블럭으로부터 현재 블럭으로의 메모리 액세스 및 기록 시간은 짧은 모션 벡터의 경우보다 더 길다. 따라서, 모션 벡터 크기가 임계치보다 크다면, 계산 부하는 W1에 대응하고, 그렇지 않다면 0에 할당된다. 그 결과, 그 크기가 사전설정된 임계 수준을 초과하는 모션 벡터들을 갖는 매크로블럭들에 대해 상대적인 IDCT(16) 또는 MC(24) 퍼포먼스를 제공하고, 최적의 퍼포먼스를 유지하면서 IDCT(16) 및/또는 MC(24)의 CPU 부하를 스케일링함으로써, 상당한 계산 자원이 절약될 수 있다.
단계(150)에서, IDCT(16) 및 MC(24)에 대해 상이한 퍼포먼스 등급(Cmvc)이 요구되는지의 여부를 판정하기 위해, 헤더 정보로부터 검색된 모션 벡터 카운트가 검사된다. 여기서, 상이한 계산 가중치가 할당되는데, 이는 2-벡터 MC는, 1-벡터 MC처럼 하나의 영역이 아니라 2개의 상이한 메모리 영역에 액세스하는 디코딩 알고리즘을 요구하기 때문이다. 즉, 모션 벡터가 필드-타입 벡터라면, 추정된 복잡도는 프레임-타입 벡터의 경우보다 높은데, 이는 필드-타입 벡터 카운트는 프레임-타입 벡터 카운트 경우의 1이 아니라 2이기 때문이다. 따라서, 계산 가중치 W2는 헤더 정보 내에서 검출된 카운트 개수에 따라 비례적으로 증가한다.
단계(160)에서, IDCT(16)와 MC(24)에 대해 상이한 퍼포먼스 등급들(CBN/CCBP)이 필요한지의 여부를 판정하기 위해, 헤더 정보로부터 비-제로 DCT 계수들의 수 또는 코딩 블럭 패턴(CBP)의 블럭 번호가 검사된다. 즉, DCT 계수들의성김(sparseness) 정도에 따라, 본 발명의 MPEG 디코더는 IDCT 계산 부하를 최소한으로 만들수 있다. 따라서, 계산 부하 W3는 헤더 정보로부터 검출된 비-제로 DCT 계수들의 수에 기초하여 계산된다. 다른 방법으로서, CBP 카운트에 비례하는 계산 부하 W4가 이용될 수도 있다. CBP 카운트는 얼마나 많은 블럭들이 코딩되고 있는지를 표시한다.
스트림으로부터 이들 파라미터들을 검색하고 이들에게 적절한 가중치를 할당한 이후에, 매크로블럭 디코딩의 계산 요구치를 정확히 추정하는 것이 가능해진다. 단계(170)에서, 계산 가중치 계수들의 결과가 총계되어, 단계(170)에서 평균 최소 계산 부하(Cbase)가 더해진다. 그 다음, 복잡도 추정기(22)는 추정 부하(Cest)에 기초하여 IDCT 계산 및/또는 모션 보상 부하를 증가/감소시킨다. 단계(180)에서 매크로블럭 헤더로부터 검출된 퍼포먼스 예측 수준에 따라, 프로세서의 퍼포먼스가 꽤 높은 것으로 측정된 경우에는 IDCT 회로(16) 또는 모션 보상 회로(24) 중 어느 하나의 계산 부하가 비교적 높은 레벨로 설정되고, 역으로, 프로세서의 퍼포먼스가 비교적 낮은 것으로 측정되면 계산 부하는 비교적 낮은 레벨로 설정된다. 즉, 축적된 가중치 계수들에 기초하여 단계(180)에서 추정된 계산 부하가 초당 120 메가 싸이클에 대응하고 디코더(10)의 가용 처리 능력이 초당 100 메가 싸이클로 제한된다면, 이들 두 값들간의 비율(즉, 100/120 = 80%)은 IDCT(16) 계산 및/또는 MC(24) 계산에 대한 스케일 계수로서 이용된다. 따라서, 예를 들어, IDCT(16)의 CPU 부하의 80%만이 디코더(10)의 인입 데이타 처리에 전용될 수 있다. 이런 식으로,IDCT(16) 및/또는 MC(24) 양쪽 모두는 계산 부하를 스케일 다운하도록 선택적으로 조절될 수 있어 프레임 누락이나 또는 디코더(10)의 최대 CPU 부하 초과와 연관된 다른 예기치 않는 결과를 피할 수 있다. 디코더(10)의 구성 요소들의 CPU 부하를 스케일링하는 양은 오퍼레이터에 의해 설정된 사전설정된 기준(또는 가중치 인자) 및 디코더의 가용 처리 자원에 따라 변동될 수 있다.
상술한 바와 같이, 계산 부하는, 시스템이 태스크에 의해 부하를 받거나 이런 태스크에 의한 부하가 경감됨에 따라 발생하는 현재 시스템 퍼포먼스의 변동에 따라 동적으로 변동할 수 있다. 나아가, 슬라이스나 프레임 레벨에서 매크로블럭 계산 추정을 함께 추가할 필요가 있다는 것에 주목해야 한다. 따라서, 프레임 또는 슬라이스 내에서 매크로블럭_유형 정보의 계산 추정에 대한 전체 스케일 계수를 계산함으로써, 프레임이나 슬라이스 레벨에서 동일한 계산 또는 모션 보상이 수행될 수 있다.
비디오 시퀀스(Molens.cod 비트스트림)의 복잡도 추정의 결과는 도 6(a) 및 (b)에 도시되어 있다. 양 도면에 도시된 바와 같이, 위쪽 그래프는 실제적인 TriMedia(PhilipsTM) MPEG2 디코더의 퍼포먼스를 나타내고 아래쪽 그래프는 본 발명에 따른 추정 부하를 나타낸다. 도 6(a)는 TriMedia(1300) 상에서의 Molens 시퀀스 디코딩의 실제 CPU 싸이클과 본 발명의 추정된 CPU 싸이클간의 비교를 나타내는 반면, 도 6(b)는 Molens 시퀀스의 비-DCC (동적 복잡도 제어) MPEG2 디코딩의 CPU 싸이클과 본 발명의 DCC (동적 복잡도 제어) 디코딩의 CPU 사이클간의 비교를 나타낸다. 결과는 이들간의 약 0.97의 상관관계 계수를 나타내고 있다.
비디오 디코더에서 IDCT 계산이나 모션 보상을 적응적으로 수행하는 방법이 전술되었다. 본 명세서에서 공개된 방법은 유익하게도 압축해제 방법과 연관된 처리 요건들을 감소시킨다. 따라서, 최종 비디오 화상의 품질을 과도하게 저하시키지 않으면서 압축해제 효율이 증가된다. 나아가, 본 발명의 실시예가 도시되고 설명되었지만, 본 발명의 영역으로부터 벗어나지 않고 다양한 변경 및 수정이 이루어질 수 있으며 구성요소들을 다른 등가물로 대체할 수 있다는 것을 당업자는 이해할 것이다. 따라서, 본 발명은 본 발명을 최적 모드로 실행하도록 의도된 특정 실시예로 제한되는 것은 아니며, 첨부된 특허청구범위의 영역 내에 포함되는 모든 실시예들을 포함한다.

Claims (30)

  1. 인코딩된 디지털 비디오 신호의 디코딩을 스케일링함으로써 디코딩 효율을 개선하기 위한 MPEG 디코더에 있어서,
    복수의 매크로블럭들을 포함하는 압축된 비디오 데이타 스트림을 디코딩하며, 상기 디코딩된 데이타 스트림으로부터 양자화된 데이타를 출력하도록 동작하는 디코딩 수단과;
    상기 양자화된 데이타 상에 역 양자화 동작을 수행하는 수단과;
    역 양자화 동작을 수행하는 상기 수단으로부터의 출력에 대해 역 이산 코사인 변환(IDCT)을 수행하는 수단과;
    상기 디코딩 수단으로부터의 상기 양자화된 데이타에서 헤더 정보를 추출하고 사전설정된 기준에 따라 예측 동작을 수행하는 수단과;
    상기 디코딩 수단으로부터의 상기 양자화된 데이타에 기초하여 모션 보상된 기준값을 발생하는 수단과;
    모션 보상된 화상들을 생성하기 위해 상기 IDCT 수단 및 상기 모션 발생 수단으로부터의 출력을 가산하는 수단을 포함하는, MPEG 디코더.
  2. 제1항에 있어서, 상기 가산 수단으로부터의 출력을 저장하는 수단을 더 포함하는, MPEG 디코더.
  3. 제1항에 있어서, 상기 추출 수단은 상기 복수의 매크로블럭들의 상기 추출된 헤더 정보에 따라 상기 예측 동작을 실행하도록 동작하는, MPEG 디코더.
  4. 제1항에 있어서, 상기 예측 동작은 상기 IDCT 수단과 상기 모션 발생 수단의 계산 부하를 정의(define)하는, MPEG 디코더.
  5. 제1항에 있어서, 상기 MPEG 디코더의 계산 부하는 상기 예측 동작에 기초하여 상기 IDCT 수단과 상기 모션 발생 수단을 스케일링함으로써 선택적으로 조절되는, MPEG 디코더.
  6. 제1항에 있어서, 상기 추출된 헤더 정보는 매크로블럭-유형, 모션 벡터 크기, 모션 벡터 카운트, 비-제로 이산 코사인 변환기(DCT) 계수들, 및 상기 디코딩된 블럭-기반의 데이타 패킷들로부터의 코딩 블럭 패턴(CBP) 번호를 포함하는, MPEG 디코더.
  7. 제1항에 있어서, 상기 예측 동작은 처리 장치 및 상기 처리 장치의 동작을 제어하는 소프트웨어를 이용하여 구현되는, MPEG 디코더.
  8. 프로그래머블 비디오 디코딩 시스템에 있어서,
    블럭-기반의 데이타 패킷들의 스트림을 수신하고 디코딩하도록 구성되며, 상기 디코딩된 데이타 패킷들로부터 양자화된 데이타를 출력하도록 동작하는 가변 길이 디코더(Variable Length Decoder; VLD)와;
    상기 블럭-기반의 데이터 패킷들로부터 헤더 정보를 추출하며 나아가 상기 추출된 헤더 정보에 기초하여 비디오 복잡도 알고리즘을 실행하도록 구성된 복잡도 추정기와;
    상기 가변 길이 디코더로부터 수신한 양자화된 데이터를 역양자화하기 위하여 상기 VLD의 출력을 수신하도록 결합된 역 양자화기와;
    상기 역양자화된 데이터를 주파수 영역으로부터 공간 영역으로 변환하기 위해 상기 역양자화기의 출력에 결합된 역 이산 코사인 변환기(IDCT)와;
    상기 양자화된 데이터로부터 모션 벡터 데이타를 수신하고 기준 신호를 발생하도록 구성된 모션 보상기(MC)와;
    모션 보상된 화상들을 형성하기 위해 상기 IDCT로부터 상기 공간 영역 데이터와 상기 기준 신호를 수신하는 가산기를 포함하는, 프로그래머블 비디오 디코딩 시스템.
  9. 제8항에 있어서, 상기 가산기의 출력을 저장하도록 구성된 버퍼를 더 포함하는, 프로그래머블 비디오 디코딩 시스템.
  10. 제8항에 있어서, 상기 복잡도 추정기는 상기 디코딩된 블럭-기반의 데이타 패킷들의 헤더 정보에 따라 상기 비디오 복잡도 알고리즘을 실행하도록 동작하며,상기 디코딩 시스템의 계산 부하는 상기 비디오 복잡도 알고리즘에 기초하여 상기 IDCT와 상기 MC를 스케일링함으로써 조절되는, 프로그래머블 비디오 디코딩 시스템.
  11. 제10항에 있어서, 상기 IDCT와 상기 MC의 계산 부하는 상기 비디오 복잡도 알고리즘에 따라 선택적으로 조절되는, 프로그래머블 비디오 디코딩 시스템.
  12. 제8항에 있어서, 상기 추출된 헤더 정보는, 매크로블럭-유형, 모션 벡터 크기, 모션 벡터 카운트, 비-제로 이산 코사인 변환기(DCT) 계수들, 및 상기 디코딩된 블럭-기반의 데이타 패킷들로부터의 코딩 블럭 패턴(CBP) 번호를 포함하는, 프로그래머블 비디오 디코딩 시스템.
  13. 제1항에 있어서, 상기 비디오 복잡도 알고리즘은 처리 장치 및 상기 처리 장치의 동작을 제어하는 소프트웨어를 이용하여 구현되는, 프로그래머블 비디오 디코딩 시스템.
  14. 가변 길이 코드(VLC) 디코더와, 역 양자화기(IQ)와, 역 이산 코사인 변환기(IDCT)와, 모션 보상기(MC)와, 추정기를 갖는 MPEG 디지털 비디오 디코더를 이용한 인코딩된 데이타 비디오 신호의 디코딩 효율을 개선하는 방법에 있어서,
    압축된 비디오 데이타 스트림을 상기 VLC 디코더에서 수신하여 그로부터 디코딩된 데이타를 생성하는 단계와;
    상기 디코딩된 데이타로부터 헤더 정보를 검색하는 단계와;
    상기 헤더 정보의 분류에 기초하여 상기 IDCT 및 상기 MC에 대해 총 계산 부하(Cest)를 상기 추정기에 의해 계산하는 단계와;
    역양자화되고 디코딩된 데이타를 발생하기 위해 상기 역 양자화기(IQ)를 이용하여 상기 디코딩된 데이타를 역양자화하는 단계와;
    차이 데이타를 생성하기 위해, 상기 역양자화되고 디코딩된 데이타를 주파수 영역으로부터 공간 영역으로 변환하는 상기 IDCT를 상기 총 계산 부하(Cest)에 기초하여 이용하는 단계와;
    상기 인코딩된 디지탈 비디오 신호의 기준 데이타를 발생하는 상기 MC를 상기 계산 부하에 기초하여 이용하는 단계와;
    모션 보상된 화상들을 생성하기 위해 상기 기준 데이타와 상기 차이 데이타를 결합하는 단계를 포함하는, 디코딩 효율 개선 방법.
  15. 제14항에 있어서, 상기 총 계산 부하(Cest)를 상기 IDCT와 상기 MC에 전송하는 단계를 더 포함하는, 디코딩 효율 개선 방법.
  16. 제14항에 있어서, 상기 총 계산 부하(Cest)를 계산하는 단계는,
    상기 검색된 헤더 정보의 매크로블럭에 기초하여 제1 계산 부하(Ctype)를 판정하는 단계와;
    상기 검색된 헤더 정보의 모션 크기에 기초하여 제2 계산 부하(Cmv)를 판정하는 단계와;
    상기 검색된 헤더 정보의 모션 벡터 크기에 기초하여 제3 계산 부하(Cmvc)를 판정하는 단계와;
    상기 검색된 헤더 정보의 비-제로 DCT 계수들의 수에 기초하여 제4 계산 부하(CBN)를 판정하는 단계와;
    상기 검색된 헤더 정보의 코딩 블럭 패턴(CBP) 번호에 기초하여 제5 계산 부하(CCBP)를 판정하는 단계와;
    상기 총 계산 부하(Cest)를 얻기 위해 상기 제1, 제2, 제3, 제4, 제5 계산 부하, 및 평균 계산 부하(Cbase)를 결합하는 단계를 포함하는, 디코딩 효율 개선 방법.
  17. 제16항에 있어서, 상기 제1 계산 부하(Ctype)를 판정하는 단계는,
    상기 검색된 헤더 정보가 한 세트의 인트라-코딩된 계수를 제공한다면, Ctype= 0이고,
    상기 검색된 헤더 정보가 한 세트의 코딩된 계수 및 비-모션 보상된 계수를제공한다면, Ctype= W이고,
    상기 검색된 헤더 정보가 한 세트의 모션 보상된 계수 및 비-코딩된 계수를 제공한다면, Ctype= 2W이고,
    상기 검색된 헤더 정보가 한 세트의 모션 보상된 계수 및 코딩된 계수를 제공한다면, Ctype= 3W인 단계를 더 포함하는, 디코딩 효율 개선 방법.
  18. 제16항에 있어서, 상기 제2 계산 부하(Cmv)를 판정하는 단계는,
    상기 검색된 헤더 정보가 사전설정된 임계치보다 큰 모션 벡터 크기를 제공한다면 Cmv= W1이고, 그렇지 않다면 Cmv= 0인 단계를 더 포함하는, 디코딩 효율 개선 방법.
  19. 제16항에 있어서, 상기 제3 계산 부하(Cmvc)를 판정하는 단계는,
    상기 검색된 헤더 정보가 상기 모션 벡터 카운트를 제공한다면 Cmvc= W2×모션 벡터 카운트(MV-카운트)인 단계를 더 포함하는, 디코딩 효율 개선 방법.
  20. 제16항에 있어서, 상기 제4 계산 부하(CBN)를 판정하는 단계는,
    상기 검색된 헤더 정보가 상기 블럭수를 제공한다면, CBN= W3×블럭수(BN)인 단계를 더 포함하는, 디코딩 효율 개산 방법.
  21. 제16항에 있어서, 상기 제5 계산 부하(CCBP)를 판정하는 단계는,
    상기 검색된 헤더 정보가 상기 비-제로 계수를 제공한다면, CCBP= W4×비-제로 계수들의 수인 단계를 더 포함하는, 디코딩 효율 개선 방법.
  22. 가변 길이 코드(VLC) 디코더와, 역 양자화기(IQ)와, 역 이산 코사인 변환기(IDCT)와, 모션 보상기(MC)와, 추정기를 갖는 MPEG 디지털 비디오 디코딩 시스템을 이용한 인코딩된 데이타 비디오 신호의 디코딩 효율을 개선하는 예측 방법에 있어서,
    대응하는 디코딩된 매크로블럭을 얻기 위해 복수의 매크로블럭들을 포함하는 압축된 비트스트림을 디코딩하는 단계와;
    상기 디코딩된 매크로블럭의 헤더 정보로부터 헤더 분류 기준을 얻는 단계와;
    상기 디코딩된 매크로블럭으로부터의 상기 헤더 정보에 따라 총 계산 부하(Cest)를 예측하고 상기 총 계산 부하(Cest)를 상기 IDCT와 상기 MC에 포워딩하기 위해 상기 추정기를 이용하는 단계와;
    상기 총 계산 부하(Cest)에 따라 상기 IDCT와 상기 MC의 계산 부하를 조절하는 단계를 포함하는, 디코딩 효율을 개선하는 예측 방법.
  23. 제22항에 있어서, 상기 압축된 비트스트림에서 수신된 모션 벡터 정보와 함께, 상기 총 계산 부하(Cest)에 따라 상기 디코딩된 매크로블럭을 디코딩하는 단계를 더 포함하는, 디코딩 효율을 개선하는 예측 방법.
  24. 제22항에 있어서, 상기 헤더 분류 기준은, 매크로블럭_유형, 모션 벡터 크기, 모션 벡터 카운트, 비-제로 이산 코사인(DCT) 계수들, 및 코딩 블럭 패턴(CBP) 번호로서 정의되는, 디코딩 효율을 개선하는 예측 방법.
  25. 제22항에 있어서, 상기 계산 부하(Cest)를 예측하는 단계는,
    상기 디코딩된 매크로블럭의 헤더 정보의 매크로블럭에 기초하여 제1 계산 부하(Ctype)를 판정하는 단계와;
    상기 디코딩된 매크로블럭의 헤더 정보의 모션 크기에 기초하여 제2 계산 부하(Cmv)를 판정하는 단계와;
    상기 디코딩된 매크로블럭의 헤더 정보의 모션 벡터 크기에 기초하여 제3 계산 부하(Cmvc)를 판정하는 단계와;
    상기 디코딩된 매크로블럭의 헤더 정보의 비-제로 DCT 계수들의 수에 기초하여 제4 계산 부하(CBN)를 판정하는 단계와;
    상기 디코딩된 매크로블럭의 헤더 정보의 코딩 블럭 패턴(CBP) 번호에 기초하여 제5 계산 부하(CCBP)를 판정하는 단계와;
    상기 총 계산 부하(Cest)를 얻기 위해 상기 제1, 제2, 제3, 제4, 제5 계산 부하와, 평균 계산 부하(Cbase)를 결합하는 단계를 더 포함하는, 디코딩 효율을 개선하는 예측 방법.
  26. 제25항에 있어서, 상기 제1 계산 부하를 판정하는 단계는,
    상기 디코딩된 매크로블럭의 헤더 정보가 한 세트의 인트라-코딩된 계수를 제공한다면, Ctype= 0이고,
    상기 디코딩된 매크로블럭의 헤더 정보가 한 세트의 코딩된 계수와 비-모션 보상된 계수를 제공한다면, Ctype= W이고,
    상기 디코딩된 매크로블럭의 헤더 정보가 한 세트의 모션 보상된 계수와 비-코딩된 계수를 제공한다면, Ctype= 2W이고,
    상기 디코딩된 매크로블럭의 헤더 정보가 한 세트의 모션 보상된 계수와 코딩된 계수를 제공한다면, Ctype= 3W인 단계를 더 포함하는, 디코딩 효율을 개선하는 예측 방법.
  27. 제25항에 있어서, 상기 제2 계산 부하(Cmv)를 판정하는 단계는,
    상기 디코딩된 매크로블럭의 헤더 정보가 사전설정된 임계치보다 큰 모션 벡터 크기를 제공한다면 Cmv= W1이고, 그렇지 않다면, Cmv= 0인 단계를 더 포함하는, 디코딩 효율을 개선하는 예측 방법.
  28. 제25항에 있어서, 상기 제3 계산 부하(Cmvc)를 판정하는 단계는,
    상기 디코딩된 매크로블럭의 헤더 정보가 상기 모션 벡터 카운트를 제공한다면, Cmvc= W2×모션 벡터 카운트(MV-카운트)인 단계를 더 포함하는, 디코딩 효율을 개선하는 예측 방법.
  29. 제25항에 있어서, 상기 제4 계산 부하(CBN)를 판정하는 단계는,
    상기 디코딩된 매크로블럭의 헤더 정보가 상기 블럭수를 제공한다면, CBN= W3×블럭수(BN)인 단계를 더 포함하는, 디코딩 효율을 개선하는 예측 방법.
  30. 제25항에 있어서, 상기 제5 계산 부하(CCBP)를 판정하는 단계는,
    상기 디코딩된 매크로블럭의 헤더 정보가 상기 비-제로 계수를 제공한다면 CCBP= W4 ×비-제로 계수의 수인 단계를 더 포함하는, 디코딩 효율을 개선하는 예측 방법.
KR1020027017224A 2001-04-18 2002-04-11 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절 KR100873586B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/837,036 US6925126B2 (en) 2001-04-18 2001-04-18 Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor
US09/837,036 2001-04-18
PCT/IB2002/001321 WO2002085031A1 (en) 2001-04-18 2002-04-11 Dynamic complexity prediction and regulation of mpeg2 decoding in a media processor

Publications (2)

Publication Number Publication Date
KR20030014716A true KR20030014716A (ko) 2003-02-19
KR100873586B1 KR100873586B1 (ko) 2008-12-11

Family

ID=25273329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027017224A KR100873586B1 (ko) 2001-04-18 2002-04-11 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절

Country Status (6)

Country Link
US (1) US6925126B2 (ko)
EP (1) EP1382208A1 (ko)
JP (1) JP2004527960A (ko)
KR (1) KR100873586B1 (ko)
CN (1) CN1230002C (ko)
WO (1) WO2002085031A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790148B1 (ko) * 2006-07-27 2008-01-02 삼성전자주식회사 실시간 영상 복잡도 측정 방법

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4447197B2 (ja) * 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
US20040125204A1 (en) * 2002-12-27 2004-07-01 Yoshihisa Yamada Moving picture coding apparatus and moving picture decoding apparatus
US7428338B2 (en) * 2002-01-10 2008-09-23 Ricoh Co., Ltd. Header-based processing of images compressed using multi-scale transforms
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
US7212681B1 (en) * 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
DE10313149B4 (de) * 2003-03-17 2005-09-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Anordnung zur Ermittlung der Decodierungskomplexität von blockbasiert codierten Videodatenströmen sowie Verwendungen dieses Verfahrens und ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7830963B2 (en) * 2003-07-18 2010-11-09 Microsoft Corporation Decoding jointly coded transform type and subblock pattern information
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR20060043118A (ko) * 2004-10-07 2006-05-15 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
JP2008526077A (ja) * 2004-12-22 2008-07-17 エヌエックスピー ビー ヴィ ビデオストリーム変更装置
US8107540B2 (en) * 2005-07-11 2012-01-31 Cheetah Technologies, L.P. Image complexity computation in packet based video broadcast systems
WO2007053118A1 (en) 2005-11-04 2007-05-10 National University Of Singapore A method and a system for determining predicted numbers of processor cycles required for respective segments of a media file for playback of the media file
JP2007195117A (ja) * 2006-01-23 2007-08-02 Toshiba Corp 動画像復号装置
WO2007091779A1 (en) 2006-02-10 2007-08-16 Lg Electronics Inc. Digital broadcasting receiver and method of processing data
JP2007306538A (ja) * 2006-04-12 2007-11-22 Matsushita Electric Ind Co Ltd 画像復号装置及び方法
WO2007126196A1 (en) 2006-04-29 2007-11-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
WO2007136166A1 (en) 2006-05-23 2007-11-29 Lg Electronics Inc. Digital broadcasting system and method of processing data
US7873104B2 (en) * 2006-10-12 2011-01-18 Lg Electronics Inc. Digital television transmitting system and receiving system and method of processing broadcasting data
CN100463525C (zh) * 2006-12-11 2009-02-18 浙江大学 计算复杂度可动态调整的视频编码方法和装置
KR101285887B1 (ko) 2007-03-26 2013-07-11 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101253185B1 (ko) 2007-03-26 2013-04-10 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101285888B1 (ko) 2007-03-30 2013-07-11 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US8433973B2 (en) * 2007-07-04 2013-04-30 Lg Electronics Inc. Digital broadcasting system and method of processing data
WO2009005326A2 (en) 2007-07-04 2009-01-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
KR20090012180A (ko) 2007-07-28 2009-02-02 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
WO2009028857A2 (en) 2007-08-24 2009-03-05 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US8023562B2 (en) 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
CN101729883B (zh) * 2008-10-14 2013-03-20 上海炜寅信息科技有限公司 一种自适应调节视频解码复杂度的方法
JP2010206486A (ja) * 2009-03-03 2010-09-16 Sharp Corp 動画像ストリーム復号装置及びその制御方法並びにプログラム、記録媒体
EP2882189A1 (en) * 2009-03-13 2015-06-10 Telefonaktiebolaget L M Ericsson (publ) Methods of and arrangements for processing an encoded BIT stream
WO2011100347A2 (en) * 2010-02-09 2011-08-18 Vanguard Software Solutions, Inc. Video sequence encoding system and algorithms
JP5501052B2 (ja) * 2010-03-24 2014-05-21 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US8699582B2 (en) * 2010-10-06 2014-04-15 Qualcomm Incorporated Context-based adaptations of video decoder
US8767835B2 (en) * 2010-12-28 2014-07-01 Mitsubishi Electric Research Laboratories, Inc. Method for coding videos using dictionaries
WO2013074964A1 (en) 2011-11-16 2013-05-23 Vanguard Software Solutions, Inc. Video compression for high efficiency video coding
US9444580B2 (en) 2013-08-06 2016-09-13 OptCTS, Inc. Optimized data transfer utilizing optimized code table signaling
US10523490B2 (en) 2013-08-06 2019-12-31 Agilepq, Inc. Authentication of a subscribed code table user utilizing optimized code table signaling
JP5793550B2 (ja) * 2013-12-06 2015-10-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 符号化ビット・ストリームの処理方法及び装置
WO2016004185A1 (en) 2014-07-02 2016-01-07 OptCTS, Inc. Data recovery utilizing optimized code table signaling
JP2019518397A (ja) 2016-06-06 2019-06-27 アジャイルピーキュー, インコーポレイテッド データ変換システムおよび方法
CN112702601B (zh) * 2020-12-17 2023-03-10 北京达佳互联信息技术有限公司 确定用于帧间预测的运动矢量的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289276A (en) * 1992-06-19 1994-02-22 General Electric Company Method and apparatus for conveying compressed video data over a noisy communication channel
US6011498A (en) * 1996-12-20 2000-01-04 Philips Electronics North America Corporation Dual-speed variable length decoding architecture for MPEG-2 video data
KR100248404B1 (ko) * 1997-09-04 2000-03-15 정선종 다중 객체 환경에서 우선 순위 정보를 이용한 순화적 계산량 감소 방법
SG116400A1 (en) * 1997-10-24 2005-11-28 Matsushita Electric Ind Co Ltd A method for computational graceful degradation inan audiovisual compression system.
EP0919952A1 (en) 1997-11-28 1999-06-02 Ecole Polytechnique Federale De Lausanne Method for coding/decoding of a digital signal
US6125147A (en) * 1998-05-07 2000-09-26 Motorola, Inc. Method and apparatus for reducing breathing artifacts in compressed video

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790148B1 (ko) * 2006-07-27 2008-01-02 삼성전자주식회사 실시간 영상 복잡도 측정 방법

Also Published As

Publication number Publication date
CN1461566A (zh) 2003-12-10
US20020154227A1 (en) 2002-10-24
KR100873586B1 (ko) 2008-12-11
JP2004527960A (ja) 2004-09-09
CN1230002C (zh) 2005-11-30
WO2002085031A1 (en) 2002-10-24
EP1382208A1 (en) 2004-01-21
US6925126B2 (en) 2005-08-02

Similar Documents

Publication Publication Date Title
KR100873586B1 (ko) 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절
KR100850705B1 (ko) 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
US20070081589A1 (en) Adaptive quantization controller and methods thereof
US5825927A (en) Methods and apparatus for encoding video data in a manner that is well suited for decoding by regular or downconverting decoders
US20030095603A1 (en) Reduced-complexity video decoding using larger pixel-grid motion compensation
US20090141808A1 (en) System and methods for improved video decoding
US6252905B1 (en) Real-time evaluation of compressed picture quality within a digital video encoder
WO2006082690A1 (ja) 画像符号化方法および画像符号化装置
JP2005523658A (ja) 複雑さの軽減された復号化に適したシングルレイヤビデオ符号化されたビットストリームを供給するシステム及び方法
US6148032A (en) Methods and apparatus for reducing the cost of video decoders
EP1077000A1 (en) Conditional masking for video encoder
JP2004514352A (ja) Mpeg−2スケーラブル復号器内の複雑さの動的な適応
US8111753B2 (en) Video encoding method and video encoder for improving performance
US20070025438A1 (en) Elastic storage
KR20040079084A (ko) 시간적 복잡도를 고려한 적응적 동영상 부호화와 그 장치
US20090290636A1 (en) Video encoding apparatuses and methods with decoupled data dependency
US20070071092A1 (en) System and method for open loop spatial prediction in a video encoder
US7065139B2 (en) Video encoding method and video encoder for improving performance
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
KR100635009B1 (ko) 화면 전체의 움직임을 고려한 움직임예측방법 및 그 장치
KR0130167B1 (ko) 동영상 압축 부호화 장치
KR20000037945A (ko) 영상의 윤곽선을 고려한 효율적인 움직임 추정 장치
JP2009153227A (ja) 画像処理装置およびそれを用いた撮像装置
EP0998811A2 (en) Encoding an information stream organized as a sequence of pictures
JP2004242055A (ja) 信号処理装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121204

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131121

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee