KR20020064891A - Cpu 로드를 균형 잡기 위해 스케일러블 비디오의 동적적응의 디코딩을 위한 시스템 및 방법 - Google Patents

Cpu 로드를 균형 잡기 위해 스케일러블 비디오의 동적적응의 디코딩을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20020064891A
KR20020064891A KR1020027005510A KR20027005510A KR20020064891A KR 20020064891 A KR20020064891 A KR 20020064891A KR 1020027005510 A KR1020027005510 A KR 1020027005510A KR 20027005510 A KR20027005510 A KR 20027005510A KR 20020064891 A KR20020064891 A KR 20020064891A
Authority
KR
South Korea
Prior art keywords
scalable video
bit stream
video
incoming
parameter
Prior art date
Application number
KR1020027005510A
Other languages
English (en)
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 KR20020064891A publication Critical patent/KR20020064891A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명에 있어서, 인입하는 스케일러블 비디오 비트 스트림을 디코딩하고 베이스밴드 비디오 신호를 발생시키는 스케일러블 비디오 디코더의 처리 로드를 제어하는 장치가 개시되어 있다. 상기 장치는, 1) 인입하는 스케일러블 비디오 비트 스트림의 적어도 하나의 특성을 측정하고, 상기 적어도 하나의 특성과 관련된 적어도 하나의 비디오 파라미터를 발생시킬 수 있는 분석 회로, 및 2) 적어도 하나의 비디오 파라미터를 수신하고, 이에 응답하여, 스케일러블 비디오 디코더에 의해 실행된 인입하는 스케일러블 비디오 비트 스트림의 디코딩 레벨을 제어할 수 있는 프로세서 로드 제어기를 포함한다.

Description

CPU 로드를 균형 잡기 위해 스케일러블 비디오의 동적 적응의 디코딩을 위한 시스템 및 방법{System and method for dynamic adaptive decoding of scalable video to balance CPU load}
인터넷을 포함한 데이터 네트워크들 상에서 멀티미디어 컨텐츠의 실시간 스트리밍(streaming)은 최근에 점차 통상 응용되고 있다. 뉴스-요구, 생방송 네트워크 텔레비전 시청, 비디오 회의와 같은 광범위의 대화식 및 비대화식 멀티미디어 응용들은 특히 엔드-투-엔드(end-to-end) 스트리밍 비디오 기술들에 의존한다. "비-실(non-real)" 시간으로 먼저 검색되고 "실"시간으로 보여지거나 나중에 뒤로 플레이될 수 있는 "다운로드된" 비디오 파일과 다른, 스트리밍 비디오 응용들은 데이터 네트워크 상에서 비디오 신호를 인코딩하고 비디오 수신기에 전송하는 비디오 전송기를 필요로 하며, 상기 비디오 전송기는 실시간으로 비디오 신호를 디코딩하고 디스플레이해야 한다.
스케일러블 비디오 코딩은 광범위의 처리능을 갖는 디코더들을 채용한 시스템들에서 사용되는 다수의 멀티미디어 응용들 및 서비스들의 특색에 바람직하다. 스케일러빌리티(scalability)는, 낮은 계산력을 갖는 프로세서들이 스케일러블 비디오 스트림의 서브셋만을 디코딩하는 것을 허용한다. 가변 전송 대역폭을 갖는 환경들에 스케일러블 비디오의 또다른 용도가 있다. 그 환경들에서, 저-접근 대역폭을 갖는 수신기들은 스케일러블 비디오 스트림의 서브셋만을 수신하고 결과적으로 디코딩하며, 상기 서브셋의 양은 이용가능한 대역폭에 비례한다.
MPEG-2 및 MPEG-4와 같은 선두의 비디오 압축 표준들에 의해 여러 가지 비디오 스케일러빌리티가 채택되고 있다. 이 표준들에서 시간, 공간 및 품질(예를 들어, 신호대 잡음비(SNR))의 스케일러빌리티 타입들이 규정된다. 이 접근법들 모두는 기초 계층(BL; base layer) 및 향상 계층(EL; enhancement layer)으로 구성된다. 일반적으로, 스케일러블 비디오 스트림의 기초 계층부는 그 스트림을 디코딩하기 위해 필요한 데이터의 최소량을 나타낸다. 스트림의 향상 계층은 부가적인 정보를 나타내며, 따라서 수신기에 의해 디코딩될 때 비디오 신호 표시를 향상시킨다.
예를 들어, 가변 대역폭 시스템에서, 인터넷과 같은 기초 계층 전송 레이트는 가변 대역폭 시스템의 최소 보증 전송 레이트로 설정될 수 있다. 그러므로, 가입자(subscriber)가 256 kbps의 최소 보증 대역폭을 갖는 경우, 기초 계층 레이트도 256 kbps로 설정될 수 있다. 실제 이용가능한 대역폭이 384 kbps인 경우, 대역폭의 가외(extra) 128 kbps는 기초 계층 레이트로 전송된 베이직 신호에 대해 향상시키도록 향상 계층에 의해 이용될 수 있다.
비디오 스케일러빌리티의 각 타입에 있어서, 일정한 스케일러빌리티 구조가확인된다. 스케일러빌리티 구조는 기초 계층의 화상들 및 향상 계층의 픽처들 사이에 관계를 규정한다. 스케일러빌리티의 한 종류로는 미세-과립 스케일러빌리티(fine-granular scalability)가 있다. 이 타입의 스케일러빌리티로 코딩된 영상들은 점진적으로 디코딩될 수 있다. 바꾸어 말하면, 디코더는 상기 영상을 코딩하기 위해 이용되는 데이터의 서브셋만을 갖는 영상을 디코딩하고 디스플레이할 수 있다. 더 많은 데이터가 수신되기 때문에, 디코딩된 영상의 품질은, 완전한 정보가 수신되고, 디코딩되고, 디스플레이될 때까지 점진적으로 향상된다.
제안된 MPEG-4 표준은 비디오 폰, 이동 멀티미디어/오디오-비쥬얼 통신들, 멀티미디어 e메일, 원격 센싱, 대화식 게임들 등과 같은 매우 낮은 비트 레이트 코딩에 기초한 비디오 스트리밍 응용들에 관한 것이다. MPEG-4 표준 내에서, 미세 과립 스케일러빌리티(FGS)는 네크워크된 비디오 분산을 위한 필수적인 기술로서 승인되고 있다. FGS 주로 비디오가 실시간으로 이종의 네트워크(heterogeneous network)들 상에서 스트리밍되는 응용들을 목표로 한다. 이는 비트 레이트들에 대해 일단 컨텐츠를 인코딩하고, 비디오 비트 스트림의 깊이 있는 지식 또는 분석없이 비디오 전송 서버가 전송 레이트를 동적으로 변화시킬 수 있게 함으로써 대역폭 적응성을 제공한다.
MPEG-2 또는 MPEG-4 비디오와 같은 스케일러블 비디오의 디코딩 동안, 비디오 비트를 디코딩하는 중앙 처리 장치(CPU)의 활동은 시간에 걸쳐 넓게 변할 수 있다. 감압 과정이 소스 타입(비디오 또는 필름), 비디오 컨텐츠(모션 레벨, 디테일 레벨) 및 프레임 타입(I, B, P)에 의존하기 때문에 CPU 로드는 변화한다. 일반적으로, 필름 소스는 필름의 크기 및 애스펙트비가 매우 크기 때문에 원래의 비디오 소스보다 매우 큰 양의 처리능을 필요로 한다. 비디오의 단일 프레임의 전체 비트 영상을 포함하는 I 프레임(또는 영상 프레임)은 일반적으로 최대량의 처리능을 필요로 한다. 현재 프레임 및 다음 프레임 사이의 차이들을 포함하는 P 프레임(또는 예측 프레임)은 일반적으로 최소량의 처리능을 필요로 한다. 이전의 I 프레임 이후 모든 변화들을 추적하는 B 프레임(또는 양방향 프레임)은 일반적으로 I 프레임보다 작지만 P 프레임보다 큰 처리능을 필요로 한다.
단일 CPU가 다른 프로그램들과 동시에 실시간으로, 디지털 신호 처리 응용과 같은 소프트웨어 스케일러블 비디오 디코더 즉, 이러한 소프트웨어 MPEG 디코더를 실행하는 경우, 비디오 디코딩 동작에 의해 야기된 CPU 로드에서의 광대한 변동들은 CPU의 성능을 동적으로 충돌시킬 수 있다. CPU에 의해 실행된 동시 발생의 프로그램들의 세트는 스케일러블 비디오 디코딩 동작의 실시간 요구조건들을 만족시키는 동안 시간적으로 다중화되어야 한다. 개개의 프로그램들(또는 태스크들(tasks))의 스케쥴링은 일반적으로 실시간 작동 시스템의 제어하에 있다. 그러나, 태스크 스케쥴링은 태스크들의 CPU 로드(예를 들어 CPU 사이클들, 메모리 대역폭 등)는 시간에 따라 상당히 변화한다. 태스크 스케쥴링은 대체로 각 태스크의 최고 요구조건들에 필요한 CPU 리소스들을 각 태스크를 확보해둔다. 태스크들중 하나가 비디오 디코딩 동작일 때 비능률적이 되는데, 이는 비디오 디코딩 동작의 최고 요구조건들 및 평균 요구조건들 사이의 큰 차이 때문이다. 이 차이는 기간들이 상대적으로 낮은 CPU 활동인 동안 간단히 소모된다.
따라서, 기술 분야에서 비디오 시스템들의 스트리밍시에 이용하기 위한 향상된 디코더 및 디코딩 기술들이 요구된다. 특히, 스케일러블 비디오 신호의 디코딩 동안 중안 처리 장치 상의 로드를 균형 잡기 위한 시스템들 및 방법들이 요구된다. 보다 특히, CPU 로드에서 변동을 감소시키기 위해, 스케일러블 MPEG 신호와 같은 스케일러블 비디오 신호의 디코딩 레벨을 동적으로 조정하거나 변경할 수 있는 시스템들 및 방법들이 요구된다.
본 발명은 통상적으로 비디오 디코더들에 관한 것으로, 특히 스케일러블 비디오 데이터 스트림(scalable video data stream)을 디코딩하는 중앙 처리 장치(CPU)의 작업 로드를 동적으로 적응시키는 비디오 디코더에 관한 것이다.
도 1은 본 발명의 일 실시예에 따라 데이터 네트워크를 통한 스트리밍 비디오 전송기로부터 스트리밍 비디오 수신기로 비디오를 스트리밍하는 엔드-투-엔드 전송을 도시하는 도면.
도 2는 종래 기술에 따른 종래의 스트리밍 비디오 수신기에서 비디오 신호를 디코딩하는 중안 처리 장치 상의 로드의 시간 영역을 표시하는 도면.
도 3은 본 발명의 일 실시예에 따른 도 1의 스트리밍 비디오 수신기에서 비디오 신호를 디코딩하는 중앙 처리 장치 상의 로드의 시간 영역을 표시하는 도면.
도 4는 본 발명의 일 실시예에 따른 가변 CPU 로드 비디오 디코더를 도시하는 도면.
도 5는 본 발명의 일 실시예에 따른 가변 CPU 로드 비디오 디코더의 동작을 도시하는 흐름도.
종래 기술의 상술된 부족들을 처리하기 위하여, 본 발명의 주목적은, 인입하는 스케일러블 비디오 비트 스트림을 디코딩하고 베이스밴드(baseband) 비디오 신호를 발생시킬 수 있는 스케일러블 비디오 디코더로 사용하기 위해, 스케일러블 비디오 디코더의 처리 로드를 제어하는 장치를 제공하는 것이다. 본 발명의 유익한 실시예에 따라, 상기 장치는, 1) 인입하는 스케일러블 비디오 비트 스트림의 적어도 하나의 특성을 측정하고 상기 적어도 하나의 특성과 관련된 적어도 하나의 비디오 파라미터를 발생시킬 수 있는 분석 회로, 및 2) 적어도 하나의 비디오 파라미터를 수신하고, 이에 응답하여 스케일러블 비디오 디코더에 의해 실행된 인입하는 스케일러블 비디오 비트 스트림의 디코딩 레벨을 제어할 수 있는 프로세서 로드 제어기를 포함한다.
본 발명의 일 실시예에 따라, 적어도 하나의 비디오 파라미터는 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 모션 레벨(level of motion)을 표시한다.
본 발명의 다른 실시예에 따라, 적어도 하나의 비디오 파라미터는 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 디테일 레벨(level of detail)을 표시한다.
본 발명의 또 다른 실시예에 따라, 프로세서 로드 제어기는 인입하는 스케일러블 비디오 비트 스트림에서 제 1 프레임과 관련된 프레임 타입 파라미터를 더 수신할 수 있다.
본 발명의 또 다른 실시예에 따라, 프레임 타입 파라미터는 I 프레임 파라미터, B 프레임 파라미터, 및 P 프레임 파라미터중 적어도 하나를 포함한다.
본 발명의 또 다른 실시예에 따라, 프로세서 로드 제어기는 인입하는 스케일러블 비디오 비트 스트림에서 제 1 프레임과 관련된 소스 타입 파라미터를 더 수신할 수 있다.
본 발명의 또 다른 실시예에 따라, 소스 타입 파라미터는, 인입하는 스케일러블 비디오 비트 스트림이 비디오 비트 스트림 및 필름 비트 스트림중 하나인지를 표시한다.
본 발명의 또 다른 실시예에 따라, 프로세서 로드 제어기는 스케일러블 비디오 디코더에 의해 실행된 디코딩 레벨을 제어할 수 있는 적어도 하나의 스케일 팩터(scale factor)를 발생시킨다.
전술한 것은 본 발명의 기술분야의 숙련된 자들이 하기의 본 발명의 상세한 설명을 보다 더 이해할 수 있도록 본 발명의 특징 및 기술적인 이점들을 다소 널리 개설하고 있다. 이후 본 발명의 청구항들의 주제를 이루는 본 발명의 부가적인 특징들 및 이점들이 설명될 것이다. 본 기술 분야의 숙련된 자들은 그들이 본 발명의 같은 목적들을 수행하기 위하여 다른 구조들을 변경하거나 설계하는 원리에 따라 공지된 특정 실시예 및 구상을 쉽게 이용할 수 있다는 것을 이해하여야 한다. 또한, 본 기술 분야의 숙련된 자들은 상기 동등한 구성들이 이것의 넓은 형태에서 본 발명의 정신 및 범위에서 벗어나지 않는다는 것에 인지하여야 한다.
상세한 기술을 하기 전에, 본원에서 사용되는 어떤 단어들 및 구들의 정의들을 밝히는데 유리할 수 있다. 즉, 용어 "포함하다" 및 "구성하다" 뿐만 아니라 그의 파생들은 제한 없는 포함을 의미하고; 용어 "또는"는 및/또는 의미를 포함하고; 구 "~과 관련된" 및 "그에 관련된" 뿐만 아니라 그의 파생들은 ~내부에 포함될, ~와 상호 연결, 함유, 내부에 함유될, ~에 또는 ~와 접속, ~에 또는 ~와 연결, ~와 전달, ~와 협동, 삽입, 병치, ~에 근사한, ~에 또는 ~와 결합, 구비, 특성 구비 등을 포함하는 것을 의미하고; 용어 "제어기"는 적어도 하나의 동작을 제어하는 어떤 장치, 시스템 또는 그 부분을 의미하고, 이러한 장치는 하드웨어, 펌웨어 또는 소프트웨어, 또는 적어도 2개의 동일물의 결합에서 구현될 수 있다. 국부 또는 원격이건 간에, 어떤 특정 제어기와 관련된 기능성이 집중화되거나 분산될 수 있다는 것에 유념해야 한다. 어떤 단어들 또는 구들을 위한 정의들은 본원에 걸쳐 제공되며, 본 기술 분야의 숙련된 자들은 대부분의 예들이 아닐지라도 여러 면에서, 이러한 정의들이 상기 정의된 단어들 및 구들의 과거 또는 미래 사용들에 적용되는 것을 알 수 있다.
본 발명 및 그의 이점들을 보다 완전히 이해하기 위해, 이제 첨부된 도면과 함께 다음과 같이 설명한다. 여기서 동일한 부호들은 동일한 대상들을 가리킨다.
후술될 도 1 내지 5 및 본원에서 본 발명의 원리들을 설명하기 위해 이용되는 여러 실시예들은 오직 실례에 의해서 이루어지며 본 발명의 정신을 제한하는 어떤 방식으로 해석되어서는 안된다. 본 기술 분야의 숙련된 자들은 본 발명의 원리들이 어떤 적당히 구성된 스케일러블 MPEG 비디오 디코더에서 구현될 수 있다는 것을 알 수 있다.
도 1은 본 발명의 일 실시예에 따라, 데이터 네트워크(12)를 통해 스트리밍비디오 전송기(110)에서 스트리밍 비디오 수신기(130)까지의 스트리밍 비디오의 엔드-투-엔트 전송을 도시한다. 응용에 따라, 스트리밍 비디오 전송기(110)는 데이터 네트워크 서버, 텔레비전 스테이션 전송기, 케이블 네트워크, 탁상용 개인용 컴퓨터(PC) 등을 포함하는 비디오 프레임들의 광범위한 종류의 소스들중 어떤 것이 될 수 있다.
스트리밍 비디오 전송기(110)는 비디오 프레임 소스(112), 비디오 인코더(114), 저장 장치(115), 및 인코더 버퍼(116)를 포함한다. 비디오 프레임 소스(112)는 텔레비전 안테나 및 수신기 유닛, 비디오 카세트 플레이어, 비디오 카메라, "가공하지 않은(raw)" 비디오 클립을 저장할 수 있는 디스크 저장 장치 등을 포함하는 압축되지 않은 비디오 프레임들이 시퀀스를 생성할 수 있는 어떤 장치가 될 수 있다. 압축되지 않은 비디오 프레임들은 주어진 화상 레이트(또는 "스트리밍 레이트")에서 비디오 인코더(114)에 입력되고, MPEG 2 또는 MPEG 4 인코더와 같은 어떤 공지된 압축 알고리즘 또는 장치에 따라 압축된다. 이어서, 비디오 인코더(114)는 압축된 비디오 프레임들을 데이터 데트워크(120)를 가로지르는 전송에 대비하여 버퍼링하는 인코더 버퍼(116)에 전송한다.
데이터 네트워크(120)는 어떤 적당한 네트워크가 되고, 인터넷과 같은 공공 데이터 네트워크들 및 기업 소유의 근거리 통신망(LAN) 또는 광역망(WAN)과 같은 전용 데이터 네트워크들 양쪽 모두의 부분들을 포함할 수 있다. 텔레비전 방송 응용들 및 무선 LAN들에 있어서, 데이터 네크워크(120)는 인코딩된 데이터가 전송되는 무선 전송 채널들을 나타낸다. 이러한 응용들에서, 인코더 버퍼(116)는 베이스밴드 압축된 비디오 신호를 RF 신호로 올려 전환할 수 있는 무선 주파수(RF) 트랜시버 회로를 더 포함할 수 있다.
스트리밍 비디오 수신기(130)는 디코더 버퍼(132), 가변 CPU 로드 비디오 디코더(134), 저장 장치(135) 및 비디오 디스플레이(136)를 포함한다. 이 응용에 따라, 스트리밍 비디오 수신기는 텔레비전 수신기, 탁상용 개인 컴퓨터(PC), 비디오 카세트 레코더(VCR) 등을 포함하는 비디오 프레임들의 광범위한 종류의 수신기들중 어떤 것이 될 수 있다. 텔레비전 및 무선 LAN들과 같은 무선 응용들에서, 디코더 버퍼(132)는 무선 전송 채널(예를 들어 데이터 네트워크(120))로부터 수신된 RF 신호를 베이스밴드 압축된 비디오 신호로 내려 전환할 수 있는 무선 주파수(RF) 트랜시버 회로를 더 포함할 수 있고, 이어서 디코더 버퍼(132)에 저장된다.
이어서, 디코더 버퍼(132)는 압축된 비디오 프레임들을 요구되는 가변 CPU 로드 비디오 디코더(134)에 전송한다. 가변 CPU 로드 비디오 디코더(134)는 비디오 프레임들이 비디오 인코더(114)에 의해 압축되는 같은 레이트(이상적으로)로 비디오 프레임들을 갑암(decompress)한다. 가변 CPU 로드 비디오 디코더(134)는 감압된 프레임들을 비디오 디스플레이(134)의 스트린 상에 플레이백하는 비디오 디스플레이(136)에 전달한다.
본 발명의 유익한 실시예에서, 비디오 인코더(114)는 표준 MPEG 인코더와 같은 종래의 데이터 프로세서에 의해 실행된 소프트웨어 프로그램으로서 구현될 수 있다. 이러한 구현에서, 비디오 인코더(114)는 저장 장치(115)에 저장된 복수의 컴퓨터 실행가능한 명령들을 포함할 수 있다. 저장 장치(115)는 고정 자기 디스크,제거가능한 자기 디스크, CD-ROM, 자기 테이프, 비디오 디스크 등을 포함하는 어떤 중류의 컴퓨터 저장 매체을 포함할 수 있다. 게다가, 본 발명의 유익한 실시예에서, 가변 CPU 로드 비디오 디코더(134)는 또한 표준 MPEG 디코더와 같은 종래의 데이터 프로세서에 의해 실행된 소프트웨어 프로그램으로서 구현될 수 있다. 이러한 구현에서, 가변 CPU 로드 비디오 디코더(134)는 저장 장치(135)에 저장된 복수의 컴퓨터 실행가능한 명령들을 포함할 수 있다. 저장 장치(135)는 또한 고정 자기 디스크, 제거가능한 자기 디스크, CD-ROM, 자기 테이프, 비디오 디스크 등을 포함하는 어떤 타입의 컴퓨터 저장 매체를 포함할 수 있다.
도 2는 종래 기술에 따른 종래의 스트리밍 비디오 수신기에서 비디오 신호를 디코딩하는 중앙 처리 장치 상의 로드의 시간 영역을 표시이다. 도 2에 도시된 바와 같이, 비디오 신호의 각 필드의 비디오 디코딩은 CPU 시간의 약 20%의 최소(min) 레벨 및 CPU 시간의 약 65%의 최대(max) 레벨 사이에 소모된다. 상기한 바와 같이, 다른 프로그램들과 함께 비디오 디코더 프로그램을 실행하는 단일 CPU 시스템에서, CPU 로드의 광범위한 종류들은 CPU의 성능을 해롭게 충돌시킬 수 있다. 태스크 스케쥴링은 비디오 디코딩 동작들의 최고 요구조건들을 만족시키도록 CPU 리소스들의 약 65% 비디오 디코더 프로그램을 확보해야 한다. 그러나, 비디오 디코딩 프로그램은 오직 비교적 짧은 시간 기간들에 대해 할당된 리소스들의 65% 모두를 사용한다.
본 발명은 비디오 디코딩 응용에 할당된 처리능의 양을 동적으로 조정함으로써 CPU의 성능을 증가시킨다. 이를 성취하기 위해, 본 발명의 원리들에 따른 동적조정가능한 비디오 디코더는 최고 CPU 로드 기간들 동안 비디오 영상의 단계적 열화(degradation)를 허용한다. 이는 CPU 리소스 요구조건들 및 출력 영상 품질 사이의 균형을 야기한다.
도 3은 본 발명의 일 실시예에 따른 도 1의 스트리밍 비디오 수신기에서 비디오 신호를 디코딩하는 중앙 처리 장치 상의 로드의 시간 영역 표시이다. 도 3에 도시된 바와 같이, 비디오 신호의 각 필드의 비디오 디코딩은 CPU 로드가 시간에 걸쳐 근사걱으로 일정한 방식으로 제어된다. 따라서, 도 3의 양(maxnew-minnew)은 도 2의 대응하는 양(max-mum)보다 훨씬 작다. 부가적으로, 새로운 평균 CPU 로드(maxnew-mumnew)/2는 원래의 최고 로드(예를 드어 도 2의 max)보다 더 낮다.
도 4는 본 발명의 일 실시예에 따른 가변 CPU 로드 비디오 디코더를 도시한다. 가변 CPU 로드 비디오 디코더(134)는 스케일러블 비디오 디코더(410), 비트 스트림 분석기(420), 프로세서 작업 로드 제어기(430) 및 다른 것들 속에서 작업 로드 알고리즘(445)에 저장된 메모리(440)를 포함한다. 가변 CPU 로드 비디오 디코더(134)의 서로 다른 구성요소들은 하드웨어나 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합에서 구현될 수 있다. 예를 들어, 본 발명의 일 실시예에서, 스케일러블 비디오 디코더(410)는 데이터 프로세서에 의해 실행된 소프트웨어 MPEG 디코더일 수 있고, 비트 분석기(420) 및 프로세서 작업 로드 제어기(430)는 데이터 프로세서에 의해 실행된 별도의 루틴들일 수 있다.
비트 스트림 분석기(420)는 인코딩된 비트 스트림으로부터 직접 비디오 컨텐츠들을 측정하고, 데이터 값들을 디코더 버퍼(132)로부터 인입하는 비트 스트림에서 동시에 일어나는 모션 및 디테일 레벨을 표시하는 프로세서 작업 로드 제어기(430)에 전송한다. 그 정보에 기초하여, 현재 프레임 타입(I, B, 또는 P) 및 스케일러블 비디오 디코더(410)에 의해 표시되는 소스 타입과 함께 , 프로세서 작업 로드 제어기(430)는 스케일러블 비디오 디코더(410)에 전송되는 스케일 팩터들을 발생시킨다. 스케일 팩터들은, 스케일러블 비디오 디코더(410)가 CPU 작업 로드에서의 피크들을 같은 레벨로 하기 위하여 행해지는 영상 데이터의 디코딩 양을 제어한다. 영상 특성들(예를 들어, 모션 레벨, 디테일 레벨, 소스 타입)을 받아들일 수 잇는 영상 품질이 되는 스케일 팩터들로 변형시키는 방법은 작업 로드 알고리즘(445)에 의해 결정된다. 본 발명의 유익한 실시예에서, 작업 로드 알고리즘(445)은 유저에 의해 변경될 수 있다.
도 5는 본 발명의 일 실시예에 따른 변경 CPU 로드 비디오 디코더(134)의 동작을 도시하는 흐름도(500)을 나타낸다. 비트 스트림 분석기(420)는 디코더 버퍼(132)로부터 인입하는 비트 스트림을 수신하고, 프레임×프레임 베이직(동시적) 상에서 모션 레벨 및 디테일 레벨을 결정한다. 동시에, 스케일러블 비디오 디코더(410)는 비디오 비트 스트림을 수신하고, 처리 단계(505)내의 프레임 타입 및 소스 타입을 결정한다. 이어서, 프로세서 작업 로드 제어기(430)는 스케일러블 비디오 디코더(410) 및 비트 스트림 분석기(420)로부터 비디오 파라미터들을 수신하고, 처리 단계(510)내의 작업 로드 알고리즘(445)에 따라 스케일러블 비디오 디코더(410)의 처리 작업 로드를 제어하는 스케일 팩터들을 결정한다. 프로세서 작업로드 제어기(430)로부터 수신된 스케일 팩터들에 응답하여, 스케일러블 비디오 제어기(410)는 모션 및/또는 디테일의 하이 레벨을 갖는 프레임 동안 디코딩 레벨을 감소시킨다. 또한, 스케일러블 비디오 제어기(410)는 처리 단계(515)내의 모션 및/또는 디테일의 로우 레벨을 갖는 프레임들 동안 디코딩 레벨을 증가시킨다.
비록 본 발명을 상세히 기술하였지만, 본 기술 분야의 숙련된 자들은 이의 넓은 형태에서 본 발명의 정신 및 범위로부터 벗어나지 않고 본원에서 다양하게 변화, 대용, 및 변경할 수 있다는 것을 이해하여야 한다.

Claims (21)

  1. 인입하는 스케일러블 비디오 비트 스트림을 디코딩하고 베이스밴드 비디오 신호를 발생시킬 수 있는 스케일러블 비디오 디코더(410)와 함께 이용하기 위해, 상기 스케일러블 비디오 디코더(410)의 처리 로드를 제어하는 장치에 있어서,
    상기 인입하는 스케일러블 비디오 비트 스트림의 적어도 하나의 특성을 측정하고 상기 적어도 하나의 특성과 관련된 적어도 하나의 비디오 파라미터를 발생시킬 수 있는 분석 회로(420), 및
    상기 적어도 하나의 비디오 파라미터를 수신하고, 이에 응답하여, 상기 스케일러블 비디오 디코더(410)에 의해 실행된 상기 인입하는 스케일러블 비디오 비트 스트림의 디코딩 레벨을 제어할 수 있는 프로세서 로드 제어기(430)를 포함하는 장치.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 비디오 파라미터는 상기 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 모션 레벨을 표시하는, 장치.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 비디오 파라미터는 상기 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 디테일 레벨을 표시하는, 장치.
  4. 제 1 항에 있어서,
    상기 프로세서 로드 제어기(430)는 상기 인입하는 스케일러블 비디오 비트 스트림에서 제 1 프레임과 관련된 프레임 타입 파라미터를 더 수신할 수 있는, 장치.
  5. 제 4 항에 있어서,
    상기 프레임 타입 파라미터는 I 프레임 파라미터, B 프레임 파라미터, 및 P 프레임 파라미터중 적어도 하나를 포함하는, 장치.
  6. 제 5 항에 있어서,
    상기 프로세서 로드 제어기(430)는 상기 인입하는 스케일러블 비디오 비트 스트림에서 상기 제 1 프레임과 관련된 소스 타입 파라미터를 더 수신할 수 있는, 장치.
  7. 제 6 항에 있어서,
    상기 소스 타입 파라미터는, 상기 인입하는 스케일러블 비디오 비트 스트림이 비디오 비트 스트림 및 필름 비트 스트림중 하나인지를 표시하는, 장치.
  8. 제 1 항에 있어서,
    상기 프로세서 로드 제어기(430)는 상기 스케일러블 비디오 디코더(410)에 의해 실행된 디코딩 레벨을 제어할 수 있는 적어도 하나의 스케일 팩터를 발생시키는, 장치.
  9. 비디오 처리 시스템(130)에 있어서,
    인입하는 스케일러블 비디오 비트 스트림을 수신하고 저장할 수 있는 버퍼(132),
    상기 인입하는 스케일러블 비디오 비트 스트림을 디코딩하고, 베이스밴드 비디오 신호를 발생시킬 수 있는 스케일러블 비디오 디코더(410), 및
    상기 베이스밴드 비디오 신호를 디스플레이할 수 있는 상기 스케일러블 비디오 디코더(410)에 연결된 디스플레이(136)를 포함하고,
    상기 스케일러블 비디오 디코더(410)는 상기 스케일 가능한 비디오 디코더(410)의 처리 로드를 제어할 수 있는 장치를 포함하고,
    상기 장치는,
    상기 인입하는 스케일러블 비디오 비트 스트림의 적어도 하나의 특성을 측정하고, 상기 적어도 하나의 특성과 관련된 적어도 하나의 비디오 파라미터를 발생시킬 수 있는 분석 회로(420), 및
    상기 적어도 하나의 비디오 파라미터를 수신하고, 이에 응답하여, 상기 스케일러블 비디오 디코더(410)에 의해 실행된 상기 인입하는 스케일러블 비디오 비트 스트림의 디코딩 레벨을 제어할 수 있는 프로세서 로드 제어기(430)를 포함하는, 비디오 처리 시스템(130).
  10. 제 9 항에 있어서,
    상기 적어도 하나의 비디오 파라미터는 상기 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 모션 레벨을 표시하는, 비디오 처리 시스템(130).
  11. 제 9 항에 있어서,
    상기 적어도 하나의 비디오 파라미터는 상기 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 디테일 레벨을 표시하는, 비디오 처리 시스템(130).
  12. 제 9 항에 있어서,
    상기 프로세서 로드 제어기(430)는 상기 인입하는 스케일러블 비디오 비트 스트림에서 제 1 프레임과 관련된 프레임 타입 파라미터를 더 수신할 수 있는, 비디오 처리 시스템(130).
  13. 제 12 항에 있어서,
    상기 프레임 타입 파라미터는 I 프레임 파라미터, B 프레임 파라미터 및 P 프렘임 파라미터중 적어도 하나를 포함하는, 비디오 처리 시스템(130).
  14. 제 13 항에 있어서,
    상기 프로세서 로드 제어기(430)는 상기 인입하는 스케일러블 비디오 비트 스트림에서 상기 제 1 프레임과 관련된 소스 타입 파라미터를 더 수신할 수 있는, 비디오 처리 시스템(130).
  15. 제 14 항에 있어서,
    상기 소스 타입 파라미터는, 상기 인입하는 스케일러블 비디오 비트 스트림이 비디오 비트 스트림 및 필름 비트 스트림중 하나를 표시하는, 비디오 처리 시스템(130).
  16. 제 9 항에 있어서,
    상기 프로세서 로드 제어기(430)는 상기 스케일러블 비디오 디코더(410)에 의해 실행된 디코딩 레벨을 제어할 수 있는 적어도 하나의 스케일 팩터를 발생시키는, 비디오 처리 시스템(130).
  17. 인입하는 스케일러블 비디오 비트 스트림을 디코딩하고 베이스밴드 비디오 신호를 발생시킬 수 있는 스케일러블 비디오 디코더(410)와 함께 이용하기 위해, 상기 스케일러블 비디오 디코더(410)의 처리 로드를 제어하는 방법에 있어서,
    상기 인입하는 스케일러블 비디오 비트 스트림의 적어도 하나의 특성을 측정하는 단계,
    상기 적어도 하나의 특성과 관련된 적어도 하나의 비디오 파라미터를 발생시키는 단계, 및
    상기 적어도 하나의 비디오 파라미터의 값에 응답하여, 상기 스케일러블 비디오 디코더(410)에 의해 실행된 상기 인입하는 스케일러블 비디오 비트 스트림의 디코딩 레벨을 제어하는 단계를 포함하는 방법.
  18. 제 17 항에 있어서,
    상기 적어도 하나의 비디오 파라미터는 상기 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 모션 레벨을 표시하는, 방법.
  19. 제 17 항에 있어서,
    상기 적어도 하나의 비디오 파라미터는 상기 인입하는 스케일러블 비디오 비트 스트림에서 프레임들의 디테일 레벨을 표시하는, 방법.
  20. 제 17 항에 있어서,
    상기 인입하는 스케일러블 비디오 비트 스트림에서 제 1 프레임과 관련된 프레임 타입 파라미터를 결정하는 단계, 및
    상기 적어도 하나의 프레임 타입 파라미터의 값에 응답하여, 상기 스케일러블 비디오 디코더(410)에 의해 실행된 상기 인입하는 스케일러블 비디오 비트 스트림의 디코딩 레벨을 제어하는 단계를 더 포함하는, 방법.
  21. 제 20 항에 있어서,
    상기 프레임 타입 파라미터는 I 프레임 파라미터, B 프레임 파라미터 및 P 프레임 파라미터중 적어도 하나를 포함하는, 방법.
KR1020027005510A 2000-08-29 2001-08-17 Cpu 로드를 균형 잡기 위해 스케일러블 비디오의 동적적응의 디코딩을 위한 시스템 및 방법 KR20020064891A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/650,200 US7016412B1 (en) 2000-08-29 2000-08-29 System and method for dynamic adaptive decoding of scalable video to balance CPU load
US09/650,200 2000-08-29
PCT/EP2001/009504 WO2002019697A2 (en) 2000-08-29 2001-08-17 System and method for dynamic adaptive decoding of scalable video to balance cpu load

Publications (1)

Publication Number Publication Date
KR20020064891A true KR20020064891A (ko) 2002-08-10

Family

ID=24607901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027005510A KR20020064891A (ko) 2000-08-29 2001-08-17 Cpu 로드를 균형 잡기 위해 스케일러블 비디오의 동적적응의 디코딩을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US7016412B1 (ko)
EP (1) EP1316204A2 (ko)
JP (1) JP5314825B2 (ko)
KR (1) KR20020064891A (ko)
CN (1) CN1290331C (ko)
WO (1) WO2002019697A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1442590A1 (en) * 2001-10-25 2004-08-04 Koninklijke Philips Electronics N.V. A method to assist in the predictability of open and flexible systems using video analysis
US20040071083A1 (en) * 2002-02-22 2004-04-15 Koninklijke Philips Electronics N.V. Method for streaming fine granular scalability coded video over an IP network
WO2006079943A1 (en) * 2005-01-26 2006-08-03 Koninklijke Philips Electronics N.V. Apparatus and method for playing a program
CN1977538A (zh) * 2005-03-03 2007-06-06 皇家飞利浦电子股份有限公司 用于消费品中mpeg译码器的自适应后退系统
US8954045B2 (en) 2006-09-29 2015-02-10 Qualcomm Incorporated Method and apparatus for managing resources at a wireless device
JP2008193654A (ja) * 2007-01-10 2008-08-21 Matsushita Electric Ind Co Ltd デジタル放送受信回路、これを備えたデジタル放送受信装置とその制御方法
US8205205B2 (en) * 2007-03-16 2012-06-19 Sap Ag Multi-objective allocation of computational jobs in client-server or hosting environments
US7886303B2 (en) * 2007-05-18 2011-02-08 Mediatek Inc. Method for dynamically adjusting audio decoding process
JP2009077039A (ja) * 2007-09-19 2009-04-09 Panasonic Corp デジタル放送受信装置、半導体集積回路及びデジタル放送受信方法
JP2010141821A (ja) * 2008-12-15 2010-06-24 Toshiba Corp ストリーミングプロセッサおよびプロセッサシステム
CN102075724B (zh) * 2009-11-25 2013-02-20 深圳市奇脉电子技术有限公司 自适应平衡-非平衡双模视频接收芯片
WO2011084913A2 (en) 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation Complexity-adaptive scalable decoding and streaming for multi-layered video systems
US8908774B2 (en) * 2010-02-11 2014-12-09 Mediatek Inc. Method and video receiving system for adaptively decoding embedded video bitstream
US20140098880A1 (en) * 2012-10-05 2014-04-10 Qualcomm Incorporated Prediction mode information upsampling for scalable video coding
KR102280170B1 (ko) * 2013-10-04 2021-07-21 삼성전자주식회사 프레임의 특성에 따라 부하를 분배하는 방법 및 장치
CN106528278B (zh) * 2015-09-14 2019-06-25 纬创资通(上海)有限公司 硬件负载调整方法及电子装置
KR101773893B1 (ko) * 2015-10-21 2017-09-12 경희대학교 산학협력단 미디어 가치를 향상시키는 보조정보와 이를 원격에서 추출하고, 표현하고, 전송하는 방법 및 기기
KR101895053B1 (ko) * 2017-08-28 2018-09-05 경희대학교 산학협력단 미디어 가치를 향상시키는 보조정보와 이를 원격에서 추출하고, 표현하고, 전송하는 방법 및 기기
GB2618718B (en) * 2019-03-20 2024-03-13 V Nova Int Ltd Low complexity enhancement video coding
WO2020250599A1 (ja) * 2019-06-12 2020-12-17 ソニー株式会社 画像処理装置および方法
CN114710662A (zh) * 2019-09-20 2022-07-05 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备
WO2021054805A1 (ko) * 2019-09-20 2021-03-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2021062624A1 (zh) * 2019-09-30 2021-04-08 深圳市大疆创新科技有限公司 可移动平台的图像处理方法、装置、可移动平台及介质
US20220400287A1 (en) * 2019-11-15 2022-12-15 Hfi Innovation Inc. Method and Apparatus for Signaling Horizontal Wraparound Motion Compensation in VR360 Video Coding
WO2021100863A1 (en) * 2019-11-22 2021-05-27 Sharp Kabushiki Kaisha Systems and methods for signaling tiles and slices in video coding
CN115349263A (zh) * 2020-05-19 2022-11-15 谷歌有限责任公司 质量归一化视频转码的动态参数选择

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920006283B1 (ko) 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
EP0690377B1 (en) 1988-02-19 1999-12-08 Mitsubishi Denki Kabushiki Kaisha Digital signal processing apparatus
DE4413637C1 (de) 1994-04-20 1995-07-27 Schmidt Feinmech Fehlersichere Schaltung
US5758028A (en) 1995-09-01 1998-05-26 Lockheed Martin Aerospace Corporation Fuzzy logic control for computer image generator load management
US6041354A (en) 1995-09-08 2000-03-21 Lucent Technologies Inc. Dynamic hierarchical network resource scheduling for continuous media
JP3918951B2 (ja) * 1995-10-18 2007-05-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 種々の異なる資源レベルを持つハードウェアプラットフォーム上でマルチメディア・アプリケーションを実行可能とする方法、そのようなアプリケーションを含む物理的記録媒体、及びそのようなアプリケーションを実行するプラットフォームシステム
JP3898789B2 (ja) 1996-12-05 2007-03-28 富士通株式会社 周期プロセス負荷制御システムおよび周期プロセス負荷制御方法
JPH10234014A (ja) * 1997-02-20 1998-09-02 Matsushita Electric Ind Co Ltd 画像復号化方法、画像復号化装置、画像多重化方法、画像多重化装置、及び記録媒体
JPH10290453A (ja) * 1997-04-14 1998-10-27 Matsushita Electric Ind Co Ltd 映像伝送方法および装置
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
KR100248404B1 (ko) 1997-09-04 2000-03-15 정선종 다중 객체 환경에서 우선 순위 정보를 이용한 순화적 계산량 감소 방법
US6148324A (en) 1998-01-05 2000-11-14 Lucent Technologies, Inc. Prioritized load balancing among non-communicating processes in a time-sharing system
EP0939545A2 (en) * 1998-02-27 1999-09-01 Hitachi, Ltd. Video service system
US6434196B1 (en) * 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
JP3847481B2 (ja) * 1998-08-17 2006-11-22 富士写真フイルム株式会社 データ転送方法および装置並びに記録媒体
JP2000148127A (ja) * 1998-11-17 2000-05-26 Nec Eng Ltd 画像表示装置

Also Published As

Publication number Publication date
CN1290331C (zh) 2006-12-13
WO2002019697A2 (en) 2002-03-07
JP5314825B2 (ja) 2013-10-16
CN1404697A (zh) 2003-03-19
EP1316204A2 (en) 2003-06-04
WO2002019697A3 (en) 2002-07-11
JP2004507985A (ja) 2004-03-11
US7016412B1 (en) 2006-03-21

Similar Documents

Publication Publication Date Title
US7016412B1 (en) System and method for dynamic adaptive decoding of scalable video to balance CPU load
US6501797B1 (en) System and method for improved fine granular scalable video using base layer coding information
US10250664B2 (en) Placeshifting live encoded video faster than real time
KR100681168B1 (ko) 미세 입상 스케일 가능한 비디오를 위한 잔류 신호의인코딩 및 디코딩 시스템 및 그 방법
US8085855B2 (en) Video quality adaptation based upon scenery
US6788740B1 (en) System and method for encoding and decoding enhancement layer data using base layer quantization data
US20110274180A1 (en) Method and apparatus for transmitting and receiving layered coded video
KR20070090240A (ko) 미세 입자 스케일러빌리티를 위한 디지털 비디오의 실시간트랜스코딩을 위한 시스템 및 방법
KR20020064932A (ko) 미세 입상 비디오 인코딩을 위한 공간적 스케일러빌리티
JP2010501141A (ja) デジタル映像の可変解像度エンコードおよびデコード技術
KR20010074974A (ko) 스케일링가능 비디오 코딩을 위한 시스템 및 방법
JP2006134326A (ja) クライアントのディスプレイ状態に基づいてサーバからクライアントへのマルチメディアデータの送信を制御するための方法、クライアントのディスプレイ状態に基づいてクライアントでのマルチメディアデータの復号化を適合させるための方法、クライアントのディスプレイ状態に基づいてサーバからクライアントへのマルチメディアデータの送信を制御するためのモジュール、クライアントのディスプレイ状態に基づいてクライアントにおけるマルチメディアデータの復号化を適合させるためのモジュール、及びクライアント‐サーバシステム
US6785334B2 (en) Method for transmission control in hybrid temporal-SNR fine granular video coding
KR20060096004A (ko) 효율적인 공간-시간적인-snr 스케일러빌러티 비디오코딩 및 스트리밍을 위한 개선된 데이터 파티셔닝과 미세한입도 스케일러빌러티를 결합하는 시스템 및 방법
WO2023202159A1 (zh) 视频播放方法及装置
Lei et al. Video transcoding gateway for wireless video access
US20060109914A1 (en) Method and apparatus for preventing error propagation in a video sequence
Psannis et al. MPEG-4 interactive video streaming over wireless networks.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application