KR101094677B1 - 통신 네트워크에서 데이터를 인코딩하는 방법 및 시스템 - Google Patents

통신 네트워크에서 데이터를 인코딩하는 방법 및 시스템 Download PDF

Info

Publication number
KR101094677B1
KR101094677B1 KR1020097019868A KR20097019868A KR101094677B1 KR 101094677 B1 KR101094677 B1 KR 101094677B1 KR 1020097019868 A KR1020097019868 A KR 1020097019868A KR 20097019868 A KR20097019868 A KR 20097019868A KR 101094677 B1 KR101094677 B1 KR 101094677B1
Authority
KR
South Korea
Prior art keywords
multimedia data
frame
moving
smoothing
bit
Prior art date
Application number
KR1020097019868A
Other languages
English (en)
Other versions
KR20090123911A (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 KR20090123911A publication Critical patent/KR20090123911A/ko
Application granted granted Critical
Publication of KR101094677B1 publication Critical patent/KR101094677B1/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/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
    • 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
    • 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/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/179Methods 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 scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

통신 네트워크에서 데이터를 인코딩하는 방법 및 시스템이 제시된다. 일 양태에서, 멀티미디어 데이터를 프로세싱하는 방법이 제공된다. 이 방법은 멀티미디어 데이터의 하나 이상의 부분과 연관된 평활성 인자를 검출하는 단계, 및 평활성 인자에 기초하여 평활화가 필요하다고 결정하는 단계를 포함한다. 이 방법은 또한 선택된 멀티미디어 데이터를 멀티미디어 데이터의 제 1 선택된 부분에서 멀티미디어 데이터의 제 2 선택된 부분으로 이동시키는 단계를 포함하며, 여기서 평활성 인자는 조정된다. 일 양태에서, 멀티미디어 데이터의 하나 이상의 부분과 연관된 평활성 인자를 검출하고, 평활성 인자에 기초하여 평활화가 필요하다고 결정하도록 구성된 검출기를 포함하는 장치가 제공된다. 이 장치는 또한 선택된 멀티미디어 데이터를 멀티미디어 데이터의 제 1 선택된 부분에서 멀티미디어 데이터의 제 2 선택된 부분으로 이동시키도록 구성된 인코더를 포함한다.
멀티미디어 데이터, 평활성 인자, 평활화, 검출기, 인코더

Description

통신 네트워크에서 데이터를 인코딩하는 방법 및 시스템{METHODS AND SYSTEMS FOR ENCODING DATA IN A COMMUNICATION NETWORK}
우선권 주장
본 특허 출원은 2007년 3월 1일에 출원되고 발명의 명칭이 "Method and Apparatus for Bit Rate Smoothing Across Time and Layers"인 미국 가특허출원 제 60/892,518호에 대해 우선권 주장하며, 이는 본 출원의 양수인에게 양도되고, 모든 목적을 위해 여기에 전부 참조로서 포함된다.
배경기술
기술분야
본 출원은 일반적으로 멀티미디어 신호 프로세싱에 관한 것으로, 더 상세하게는, 비디오 인코딩 및 디코딩 방법 및 시스템에 관한 것이다.
배경기술
무선 통신 네트워크와 같은 데이터 네트워크는 단일 단말기에 대해 커스터마이즈된 서비스와 다수의 단말기에 제공된 서비스 사이에서 트레이드-오프되어야 한다. 예를 들어, 다수의 리소스-제한된 포터블 디바이스 (예를 들어, 가입자, 사용자, 핸드셋 등) 에 멀티미디어 컨텐츠를 분배하는 것은 복잡한 문제이다. 따라서, 네트워크 관리자, 컨텐츠 판매업자, 및 서비스 제공자가 컨텐츠 및/또는 다른 네트워크 서비스를 신속하고 효율적인 방식으로 그리고 대역폭 이용효율 (bandwidth utilization) 및 전력 효율을 증가시키는 방식으로 분배하는 방식을 갖는 것이 매우 중요하다.
현재의 컨텐츠 전송/미디어 분배 시스템에서, 멀티미디어 컨텐츠는 분배 네트워크를 통한 통신을 위해 송신 슈퍼프레임으로 패킹 (packing) 된다. 각 슈퍼프레임은 충분한 비디오 프레임으로 패킹되어 수신 디바이스에서 소정의 지속 시간의 프리젠테이션을 생성할 수 있다. 슈퍼프레임이 수신됨에 따라, 수신 디바이스는 비디오 프리젠테이션을 렌더링하기 위해 디코딩되는 비디오 프레임 스트림으로 수신된 비디오 프레임을 연쇄 (concatenate) 시키도록 동작한다.
불행하게도, 임의의 특정 슈퍼프레임은 후속 슈퍼프레임보다 많거나 적은 데이터를 포함할 수도 있다. 그 결과, 멀티미디어 컨텐츠를 전달하는 슈퍼프레임의 스트림은 슈퍼프레임 사이에서 변동하는 비트-레이트를 표시하는 "버스티니스(burstiness)" 또는 비트-레이트 "가변성 (variability)" 을 나타낼 수도 있다. 이러한 버스티니스는 바람직하지 않은 방식으로 수신 디바이스의 성능에 영향을 미칠 수도 있다.
따라서, 시간 및/또는 계층에 걸쳐 송신된 멀티미디어 데이터의 버스티니스 및/또는 비트-레이트 가변성을 평활화하는 방식이 필요하다.
개요
하나 이상의 양태에서, 송신된 멀티미디어 데이터를 평활화하는 방법 및 장치를 포함하는 평활화 시스템이 제공된다. 예를 들어, 평활화 시스템은 시간 및/또는 계층에 걸쳐 송신된 멀티미디어 데이터의 버스티니스 및/또는 비트-레이트 가변성을 평활화하도록 동작한다.
일정 양태에서, 멀티미디어 데이터를 프로세싱하는 방법이 제공된다. 이 방법은 멀티미디어 데이터의 하나 이상의 부분과 연관된 평활성 인자를 검출하는 단계, 및 평활성 인자에 기초하여 평활화가 필요하다고 결정하는 단계 중 하나 이상의 단계를 포함할 수 있다. 이 방법은 또한 선택된 멀티미디어 데이터를 멀티미디어 데이터의 제 1 선택된 부분에서 멀티미디어 데이터의 제 2 선택된 부분으로 이동시키는 단계를 포함할 수 있으며, 여기서 평활성 인자는 조정된다.
일정 양태에서, 멀티미디어 데이터를 프로세싱하는 장치가 제공된다. 이 장치는 멀티미디어 데이터의 하나 이상의 부분과 연관된 평활성 인자를 검출하는 것, 및 평활성 인자에 기초하여 평활화가 필요하다고 결정하는 것 중 하나 이상을 행하도록 구성된 검출기를 포함할 수 있다. 이 장치는 또한 선택된 멀티미디어 데이터를 멀티미디어 데이터의 제 1 선택된 부분에서 멀티미디어 데이터의 제 2 선택된 부분으로 이동시키도록 구성된 인코더를 포함할 수 있으며, 여기서 평활성 인자는 조정된다.
일정 양태에서, 멀티미디어 데이터를 프로세싱하는 장치가 제공된다. 이 장치는 멀티미디어 데이터의 하나 이상의 부분과 연관된 평활성 인자를 검출하는 수단; 및 평활성 인자에 기초하여 평활화가 필요하다고 결정하는 수단 중 하나 이상의 수단을 포함할 수 있다. 이 장치는 또한 선택된 멀티미디어 데이터를 멀티미디어 데이터의 제 1 선택된 부분에서 멀티미디어 데이터의 제 2 선택된 부분으로 이동시키는 수단을 포함할 수 있으며, 여기서 평활성 인자는 조정된다.
일정 양태에서, 코드의 하나 이상의 부분을 포함하며 하나 이상의 머신 상에서 실행가능한 명령이 저장된 머신 판독가능 매체가 제공된다. 코드의 하나 이상의 부분은 멀티미디어 데이터의 하나 이상의 부분과 연관된 평활성 인자를 검출하는 코드를 포함할 수 있다. 이 코드의 하나 이상의 부분은 또한 평활성 인자에 기초하여 평활화가 필요하다고 결정하는 코드를 포함할 수 있다. 이 코드의 하나 이상의 부분은 또한 선택된 멀티미디어 데이터를 멀티미디어 데이터의 제 1 선택된 부분에서 멀티미디어 데이터의 제 2 선택된 부분으로 이동시키는 코드를 포함할 수 있으며, 여기서 평활성 인자는 조정된다.
일정 양태의 다른 실시형태는 이하 개시되는 도면의 간단한 설명, 설명, 및 청구의 범위의 검토 후에 명백해진다.
도면의 간단한 설명
본 명세서에서 설명하는 전술한 양태는 첨부 도면과 함께 취해지는 경우에 다음의 설명을 참조하여 보다 더욱 명백해진다.
도 1 은 평활화 시스템의 양태를 포함하는 예시적인 네트워크를 도시한다.
도 2 는 평활화 시스템의 양태에 이용하기 위한 예시적인 평활화 로직을 도시한다.
도 3a 내지 도 3d 는 평활화 시스템의 양태에 따른 평활화 프로세싱을 설명한 실시예를 도시한다.
도 4 는 평활화 시스템의 양태에 이용하기 위한 예시적인 방법을 도시한다.
도 5 는 평활화 시스템의 양태에 이용하기 위한 예시적인 평활화 로직을 도 시한다.
설명
하나 이상의 양태에서, 시간 및/또는 계층에 걸쳐 멀티미디어 송신을 평활화하도록 동작하는 평활화 시스템이 제공된다. 일 양태에서, 평활화 시스템은 멀티미디어 송신과 연관된 버스티니스 및/또는 비트-레이트 가변성을 표시하는 평활성 인자를 검출한다. 평활성 인자를 조정하는 것이 바람직하면, 평활화 시스템은 평활성 인자를 조정하도록 멀티미디어 송신의 비디오 프레임을 인코딩 및/또는 이동시키도록 동작한다. 그 결과, 컨텐츠를 디코딩 및 렌더링하고자 시도할 수도 있는 수신 디바이스에 대한 프로세싱 부담이 감소된다. 이 시스템은 무선 네트워크 환경에서 이용하는데 적절하지만, 통신 네트워크, 인터넷과 같은 공중 네트워크, VPN (virtual private network) 과 같은 사설 네트워크, 근거리 네트워크, 광역 네트워크, 장거리 네트워크, 또는 임의의 다른 타입의 데이터 네트워크를 포함하지만 이에 한정되지 않는 유선 또는 무선 네트워크 환경 중 임의의 타입에서 이용될 수도 있다.
다음의 상세한 설명은 설명되는 일정 양태에 관한 것이지만; 본 개시물은 청구범위에 의해 정의 및 커버되는 다수의 상이한 방식으로 구현될 수 있다. 본 설명에서는, 전체에 걸쳐 동일한 부분이 동일한 부호로 지칭되는 도면을 참조한다.
서론
컨텐츠 전송/미디어 분배 시스템에서, 멀티미디어 컨텐츠는 송신 슈퍼프레임으로 패킹되어 통신 네트워크를 통해 디바이스에 전송된다. 예를 들어, 통신 네트워크는 OFDM (Orthogonal Frequency Division Multiplexing) 을 이용하여 네트워크 서버로부터 하나 이상의 이동 디바이스로 송신 슈퍼프레임을 방송할 수도 있다. 이 분배 시스템은 OFDM 기술을 이용하는 것에 한정되지 않고, CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), 및 TCP/IP 와 같은 전송 제어 프로토콜과 같은 다른 기술이 또한 이용될 수도 있다는 것을 유의하여야 한다.
다수의 서브-프레임을 포함할 수도 있는 송신 슈퍼프레임은 선택된 양의 멀티미디어 데이터 (예를 들어, 특정 수의 서브-프레임, 일정량의 시간, 대역폭 이용효율 등) 를 송신하도록 구성될 수도 있다. 예를 들어, 송신 슈퍼프레임은 복수의 멀티미디어 채널을 전달하도록 구성될 수도 있고, 각 채널은 수신 디바이스에서 선택된 지속 시간 (즉, 1 초) 의 멀티미디어 프리젠테이션을 생성하기에 충분한 멀티미디어 데이터를 제공할 수 있다. 따라서, 30 초 멀티미디어 프리젠테이션을 전달하는 채널은 30 개의 송신 슈퍼프레임을 이용하여 송신될 수도 있다.
통상적으로, 멀티미디어 컨텐츠는, 일반적으로 수신되는 경우에 프로세싱될 필요가 있는 실시간 또는 근접 실시간 스트리밍 비디오 프레임을 포함한다. 비디오 프레임 각각은 대응하는 사이즈를 갖는 수개 타입의 비디오 프레임 중 하나로 구성될 수도 있다. 예를 들어, 일 타입의 비디오 프레임은 독립적으로 디코딩가능한 인트라-코딩된 프레임 (I-프레임) 이다. I-프레임은 완전한 비디오 이미지를 제공하는데 필요한 데이터 모두를 포함하고, 따라서 다량의 데이터를 포함할 수도 있다. 다른 비디오 프레임 타입은 시간-예측된 P-프레임, 또는 I-프레 임 및/또는 다른 P-프레임 및/또는 B-프레임을 참조하는 양방향-예측된 B-프레임을 포함한다. P-프레임 및 B-프레임이 독립적으로 디코딩가능하지 않기 때문에 (즉, 다른 프레임을 참조하기 때문에), 이들은 더 적은 데이터를 포함하고, 그 사이즈는 통상적으로 I-프레임보다 작다. 추가적으로, 통신 네트워크는 또한 멀티-계층 송신을 용이하게 할 수도 있다. 예를 들어, 송신 슈퍼프레임은 일정 비디오 프레임을 위해 기본 계층을, 그리고 다른 비디오 프레임을 위해 하나 이상의 향상 계층을 전달할 수도 있다. 따라서, 전달된 계층의 수는 또한 송신 슈퍼프레임의 전체 사이즈에 기여한다.
멀티미디어 컨텐츠의 송신 중에, 각 송신 슈퍼프레임은 수신 디바이스에서 소정의 지속 시간의 프리젠테이션을 생성하기에 충분한 비디오 프레임으로 패킹될 수 있다. 따라서, 각 송신 슈퍼프레임은 I, P, 및 B 프레임 타입의 몇몇 조합을 포함하는 일정 수의 비디오 프레임을 포함한다. 예를 들어, 제 1 송신 슈퍼프레임은 I 및 P 프레임 타입을 포함할 수도 있고, 후속 송신 슈퍼프레임은 P 및 B 프레임 타입을 포함할 수도 있다. 송신 슈퍼프레임이 수신됨에 따라, 수신 디바이스는 비디오 프리젠테이션을 렌더링하기 위해 디코딩되는 비디오 프레임 스트림으로 수신된 비디오 프레임을 연쇄시키도록 동작한다.
멀티미디어 프로세싱 시스템은 MPEG (Moving Picture Experts Group)-1, -2 및 -4 표준, ITU (International Telecommunication Union)-T H.263 표준, 및 ITU-T H.264 표준과 그 대응물, ISO/IEC MPEG-4, 파트 10, 즉, AVC (Advanced Video Coding) 와 같은 국제 표준에 기초하는 인코딩 방법을 이용하여 멀티미디어 데이터 를 인코딩하는 비디오 인코더를 포함할 수도 있으며, 이들 각각은 모든 목적을 위해 참조로서 본 명세서에서 전부 포함된다. 이러한 인코딩 방법, 그리고 확장하면 디코딩 방법은 일반적으로 송신 및/또는 저장을 위해 멀티미디어 데이터를 압축하는 것에 관한 것이다. 압축은 멀티미디어 데이터로부터 리던던시를 제거하는 프로세스로서 널리 생각될 수 있다.
비디오 신호는 프레임 (전체 픽처), 또는 필드 (예를 들어, 인터리빙된 비디오 스트림은 교호 홀수 또는 짝수 라인의 픽처의 필드를 포함함) 를 포함하는 픽처의 시퀀스에 관하여 기술될 수도 있다. 또한, 각 프레임 또는 필드는 2 개 이상의 슬라이스, 또는 프레임이나 필드의 서브부분을 더 포함할 수도 있다. 비디오 인코딩 방법은 각 프레임을 압축하기 위해 무손실 또는 손실성 압축 알고리즘을 이용함으로써 비디오 신호를 압축한다. 인트라-프레임 코딩 (본 명세서에서는 인트라-코딩으로도 지칭됨) 은 프레임을 그 프레임만을 이용하여 인코딩하는 것을 지칭한다. 인터-프레임 코딩 (본 명세서에서는 인터-코딩으로도 지칭됨) 은 프레임을 다른 "참조" 프레임에 기초하여 인코딩하는 것을 지칭한다. 예를 들어, 비디오 신호는 종종, 프레임의 시간 시퀀스에서 서로 가까이에 있는 프레임이 서로 매칭 또는 적어도 부분적으로 매칭하는 적어도 일부를 가지는 시간 리던던시를 나타낸다.
비디오 인코더와 같은 멀티미디어 프로세서는 프레임을 픽셀의 서브세트로 파티셔닝함으로써 이 프레임을 인코딩할 수도 있다. 이들 픽셀의 서브세트는 블록 또는 매크로블록으로 지칭될 수도 있고, 예를 들어, 16×16 픽셀, 또는 보다 많거나 적은 픽셀의 어레이를 포함하는 매크로블록을 포함할 수도 있다. 인코더는 각 16×16 매크로블록을 서브블록으로 또한 파티셔닝할 수도 있다. 각 서브블록은 추가 서브블록을 더 포함할 수도 있다. 예를 들어, 16×16 매크로블록의 서브블록은 16×8 및 8×16 서브블록을 포함할 수도 있다. 16×8 및 8×16 서브블록의 각각은, 예를 들어, 8×8 서브블록을 포함할 수도 있고, 이 8×8 서브블록은, 예를 들어, 4×4, 4×2 및 2×4 서브블록을 포함할 수도 있는 식이다. 용어 "블록"은 매크로블록 또는 임의의 사이즈의 서브블록 중 어느 하나를 지칭할 수도 있다.
인코더는 인터-코딩 모션 보상 기반 알고리즘을 이용하여 순차 프레임들 사이의 시간 리던던시를 이용할 수 있다. 모션 보상 알고리즘은 블록과 적어도 부분적으로 매칭하는 하나 이상의 참조 프레임의 일부를 식별한다. 이 블록은 참조 프레임(들)의 매칭하는 부분에 대해 프레임에서 시프트될 수도 있다. 이 시프트는 하나 이상의 모션 벡터(들)로 특성화된다. 참조 프레임(들)의 부분적으로 매칭하는 부분과 블록 사이의 임의의 차이는 하나 이상의 잔여(들)에 관하여 특성화될 수도 있다. 인코더는 프레임의 특정 파티셔닝에 대한 잔여 및 모션 벡터 중 하나 이상을 포함하는 데이터로서 프레임을 인코딩할 수도 있다. 프레임을 인코딩하기 위한 블록의 특정 파티션은, 예를 들어, 인코딩으로부터 야기되는 프레임의 컨텐츠에 대해, 인코딩 사이즈를 왜곡, 또는 인지된 왜곡과 밸런싱하는 비용 함수를 대략적으로 최소화함으로써 선택될 수도 있다.
인터-코딩은 인트라-코딩보다 더 높은 압축 효율을 가능하게 한다. 그러 나, 인터-코딩은 참조 데이터 (예를 들어, 참조 프레임 또는 참조 필드) 가 채널 에러 등으로 인해 손실되는 경우에 문제를 발생시킬 수 있다. 에러로 인한 참조 데이터의 손실에 더해, 참조 데이터는 또한 인터-코딩된 프레임에서 비디오 신호의 초기 획득 또는 재획득으로 인해 이용불가능할 수도 있다. 이들 경우에, 인터-코딩된 데이터의 디코딩은 가능하지 않을 수도 있거나 바람직하지 않은 에러 및/또는 에러 전파를 야기할 수도 있다. 이들 시나리오는, 예를 들어, 비디오 스트림의 동기화의 손실을 야기할 수 있다.
독립적으로 디코딩가능한 인트라-코딩된 프레임은 비디오 신호의 동기화를 가능하게 한다. MPEG-x 및 H.26x 표준은 GOP (group of pictures) 로 알려진 것을 이용하는데, 이는 I-프레임, 및 GOP 내의 I-프레임 및/또는 다른 P 및/또는 B 프레임을 참조하는 시간-예측된 P-프레임 또는 양방향-예측된 B-프레임을 포함한다. 더 긴 GOP 는 증가된 압축 레이트에 바람직하지만, 더 짧은 GOP 는 더 신속한 획득 및 동기화를 허용한다. I-프레임의 수를 증가시키는 것은 더 신속한 획득 및 동기화를 허용하지만, 더 낮은 압축을 희생할 것이다. 평활화 시스템의 양태는 후술한다. 평활화 시스템은 상술한 인코딩/디코딩 기술, 포맷, 및/또는 표준 중 임의의 것을 이용할 수도 있다는 것을 유의하여야 한다.
설명된 양태
도 1 은 평활화 시스템의 양태를 포함하는 예시적인 네트워크 (100) 를 도시한다. 네트워크 (100) 는 데이터 네트워크 (106) 를 이용하여 복수의 디바이스 (104) 와 통신하는 서버 (102) 를 포함한다. 일 양태에서, 서버 (102) 는 임의 의 타입의 통신 링크 (108) 를 이용하여 네트워크 (106) 와 통신하도록 동작한다. 네트워크 (106) 는 OFDM, CDMA, TDMA, TCP/IP, 및/또는 임의의 다른 적절한 기술을 포함하는 네트워크와 같은 유선 및/또는 무선 네트워크 중 임의의 타입일 수도 있다. 네트워크 (106) 는, 예를 들어, OFDM 링크 또는 임의의 다른 적절한 타입의 무선 통신 링크 (110) 를 이용하여 디바이스 (104) 와 통신한다. 서버 (102) 는 디바이스 (104) 에 멀티미디어 컨텐츠를 송신하도록 동작한다. 명확화를 목적으로, 네트워크 (100) 의 동작은 디바이스 (112) 를 참조하여 후술한다. 그러나, 이 시스템은 디바이스 (104) 중 임의의 디바이스와 함께 이용하는데 적절하다.
일 양태에서, 서버 (102) 는 네트워크 (106) 를 통한 송신을 위해 멀티미디어 컨텐츠를 수신하도록 동작하는 프레이밍 로직 (114) 을 포함한다. 예를 들어, 일 양태에서, 멀티미디어 컨텐츠는 I, P, 및 B 프레임 중 하나 이상을 포함하는 비디오 프레임의 스트림을 포함한다. 일 양태에서, 멀티미디어 컨텐츠는 또한, I-프레임의 저 품질/해상도 버전이고 신속한 채널 획득 및 동기화를 제공하도록 구성된 채널 전환 비디오 (CSV; channel switch video) 프레임을 포함할 수도 있다. CSV 프레임은 이하 C-프레임으로 지칭된다.
일 양태에서, 프레이밍 로직 (114) 은, 예를 들어, 선택된 프리젠테이션 시간 간격을 나타낼 수 있는 슈퍼프레임 (SF) 의 시퀀스로 멀티미디어 컨텐츠를 패킹하도록 동작한다. 양태는 또한 일정 수의 비디오 프레임 (및 그에 따른 가변 시간 간격) 뿐만 아니라, 다른 SF-정의 기준에 의해 정의되는 슈퍼프레임을 포함할 수 있다. 예를 들어, 일 양태에서, 각 슈퍼프레임은 멀티미디어 컨텐츠의 1초 프리젠테이션을 생성하는데 충분한 데이터를 포함한다. 따라서, 116 에서 도시된 바와 같이, 프레이밍 로직 (114) 은 멀티미디어 컨텐츠를 나타내는 비디오 프레임의 스트림을 슈퍼프레임의 시퀀스로 패킹하는 목표를 갖고 동작한다. 슈퍼프레임은 복수의 채널을 포함할 수도 있고, 이 슈퍼프레임은 각 채널에 대한 멀티미디어 데이터로 패킹된다는 것을 유의하여야 한다. 그러나, 명확화를 목적으로, 본 명세서에서는 하나의 채널만이 논의되었지만, 평활화 시스템의 양태는 슈퍼프레임에서 임의의 수의 채널에 동등하게 적용가능하다.
송신기 (118) 는 슈퍼프레임을 수신하고 이들을 방송 (120) 에 의해 도시된 바와 같이 네트워크 (106) 를 통해 방송하도록 동작한다. 디바이스 (112) 는 수신기 (122) 에서 방송 (120) 을 수신한다. 수신기 (122) 는 방송을 복조하고, 슈퍼프레임에 포함된 비디오 프레임은 디코더 (124) 로 패스된다. 디코더 (124) 는 비디오 프레임을 디코딩하도록 동작하고, 이는 이후에 렌더링 로직 (126) 에 의해 디바이스 (112) 상에서 렌더링된다.
일 양태에서, 서버 (102) 는 송신 슈퍼프레임과 연관된 평활성 인자를 검출하도록 동작하는 평활화 로직 (128) 을 포함한다. 예를 들어, 평활성 인자는 슈퍼프레임이 버스티니스 및/또는 비트-레이트 가변성을 나타낸다고 표시할 수도 있다. 평활성 인자는 또한 송신 슈퍼프레임의 임의의 특성 또는 상태를 표시할 수도 있고, 그 특성 또는 상태에 기초하여, 본 명세서에서 설명된 평활화 프로세스가 수행될 수 있다.
버스티니스의 경우에, 평활화 로직 (128) 은 네트워크 (106) 를 통한 송신 전에 멀티미디어 컨텐츠를 포함하는 송신 슈퍼프레임의 비트-레이트를 평활화하도록 동작한다. 예를 들어, 선택된 수의 비디오 프레임은 슈퍼프레임 (116) 각각으로 패킹된다. 각 슈퍼프레임에서의 비디오 프레임의 타입에 따라, 각 슈퍼프레임의 전체 비트-레이트는 크게 달라져서, 바람직하지 않은 버스티니스를 야기할 수도 있다.
일 양태에서, 평활화 로직 (128) 은 슈퍼프레임 사이에서의 비트-레이트 가변성을 평활화하도록 슈퍼프레임 경계 (시간) 에 걸쳐 비디오 프레임을 프로세싱하도록 동작한다. 예를 들어, 일 양태에서, 평활화 로직 (128) 은 프로세싱될 2 개 이상의 슈퍼프레임을 선택하도록 동작한다. 슈퍼프레임 중 하나에서, I-프레임이 저품질로, 그에 따라 더 적은 데이터를 포함하도록 인코딩된다. 또한, I-프레임 다음의 P-프레임이 I-프레임으로부터 추출된 데이터를 갖도록 인코딩된다. 그 다음에, 인코딩된 I-프레임 및 P-프레임은 상이한 슈퍼프레임으로 위치된다. 따라서, 보통 다량의 데이터를 포함하는 I-프레임은 더 작은 "씨닝된 (thined)" I-프레임, 또는 It-프레임으로 인코딩될 수 있다. 보통 더 적은 양의 데이터를 포함하는 다음 P-프레임은 오리지널 I-프레임으로부터 제거된 데이터를 포함할 수 있는 "패트닝된 (fattened)" P-프레임, 또는 Pf-프레임으로 인코딩될 수 있다. 씨닝된 It-프레임 및 패트닝된 Pf-프레임은 상이한 슈퍼프레임에 위치하는데, 이는 그 오리지널 위치와 상이할 수도 있거나 상이하지 않을 수도 있다. 그 결과, 슈퍼프레임의 시퀀스의 평활성이 조정된다. 예를 들어, 슈퍼프레임의 시퀀스의 전체 비트-레이트 가변성이 조정되어, 더 낮은 가변성을 가진다.
평활화 로직 (128) 은 수개의 기술을 이용하여 송신 슈퍼프레임의 평활성 인자를 조정하도록 동작하며, 여기서 선택된 비디오 프레임은 상이한 슈퍼프레임으로 씨닝되고, 패트닝되고, 이동하며/이동하거나 비디오 계층 사이에서 이동한다. 예를 들어, 상기에서 언급된 인코딩 기술 및/또는 임의의 다른 적절한 인코딩 기술 중 임의의 기술이 설명된 것과 같이 비디오 프레임을 인코딩하는데 이용될 수도 있다. 다른 양태에서, 슈퍼프레임이 다중 계층을 전달하면, 평활화 시스템은 계층들 사이의 더 우수한 밸런스를 획득하기 위해 계층들 사이에서 비디오 프레임을 이동시키도록 동작한다.
다른 양태에서, 평활화 시스템은 슈퍼프레임 사이에서의 비트-레이트 가변성을 평활화하도록 동작하지 않지만, 대신에 비트-레이트 가변성을 증가시키도록 동작한다. 예를 들어, 송신 슈퍼프레임들 사이에 증가된 비트-레이트 가변성을 가지는 것이 바람직할 수도 있다. 이 경우에, 평활화 시스템은 하나 이상의 송신 슈퍼프레임의 전체 비트-레이트 및/또는 비트-레이트 가변성을 증가시키도록, 평활성 인자를 조정하기 위해 유사한 인코딩 기술을 이용하도록 동작한다.
평활화 로직 (128) 의 동작의 더욱 상세한 설명은 본 문서의 다른 섹션에서 제공된다. 도 1 에 도시된 평활화 시스템은 일 구현예일 뿐이고 다른 구현예가 양태의 범위 내에서 가능하다는 것을 유의하여야 한다.
도 2 는 평활화 시스템의 양태에 이용하기 위한 예시적인 평활화 로직 (200) 을 도시한다. 예를 들어, 평활화 로직 (200) 은 도 1 에 도시된 평활화 로직 (128) 으로서 이용하는데 적절하다. 평활화 로직 (200) 은 버퍼 (202), 검출기 (204), 및 인코더 (206) 를 포함하는데, 이들은 모두 데이터 버스 (208) 에 연결되어 있다. 버퍼 (202), 검출기 (204), 인코더 (206) 및/또는 데이터 버스 (208) 중 하나 이상이 결합되고/결합되거나 하나 이상의 물리 및/또는 논리 컴포넌트로 분할될 수도 있다는 것을 이해하여야 한다.
버퍼 (202) 는 네트워크를 통한 송신을 위해 멀티미디어 비디오 프레임을 포함하는 하나 이상의 슈퍼프레임을 버퍼링하도록 동작가능한 임의의 적절한 메모리 또는 저장 디바이스를 포함한다. 예를 들어, 일 양태에서, 슈퍼프레임은 프레이밍 로직 (114) 에 의해 발생되어 216 에 도시된 바와 같이 평활화 로직 (200) 에 입력된다. 예를 들어, 슈퍼프레임 (210, 212, 및 214) 은 프레이밍 로직 (114) 에 의해 발생되어 평활화 로직 (200) 에 입력된다. 버퍼 (202) 는 임의의 원하는 수의 슈퍼프레임을 버퍼링 (또는 저장) 하기에 충분하게 크다. 예를 들어, 일 양태에서, 버퍼 (202) 는 멀티미디어 컨텐츠의 10초 프리젠테이션을 나타내는 10 개의 슈퍼프레임을 버퍼링하는 용량을 가진다. 본 설명을 목적으로, 버퍼 (202) 에는 슈퍼프레임 (212 및 214) 만이 도시되지만, 버퍼 (202) 는 임의의 수의 슈퍼프레임을 홀드하도록 구성될 수도 있다.
슈퍼프레임 (212 및 214) 은 I-프레임, P-프레임, B-프레임, C-프레임 및/또는 임의의 다른 타입의 프레임을 포함하지만 이에 한정되지 않는 임의의 포맷으로 될 수도 있는 비디오 프레임으로 패킹된다. 예를 들어, 슈퍼프레임 (212 및 214) 은 각각 4 개의 비디오 프레임으로 패킹된다. 버퍼 (202) 에 저장된 비디오 프레임은 데이터 버스 (208) 를 통해 검출기 (204) 및 인코더 (206) 에 의해 액세스가능하다.
일 양태에서, 검출기 (204) 는 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 엘리먼트, 가상 머신, 소프트웨어, 및/또는 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상을 포함한다. 검출기 (204) 는 버퍼링된 슈퍼프레임과 연관된 평활성 인자를 검출하도록 동작한다. 예를 들어, 일 양태에서, 평활성 인자는 슈퍼프레임에서의 데이터량으로부터 및/또는 슈퍼프레임 사이에서의 데이터량의 차이로부터 결정된다. 예를 들어, 평활성 인자는 버퍼링된 슈퍼프레임의 버스티니스 (즉, 전체 비트-레이트 및/또는 비트-레이트 가변성) 를 표시할 수도 있다. 다른 양태에서, 평활성 인자는 송신 슈퍼프레임의 임의의 다른 특성을 표시할 수 있고, 검출기 (204) 는 이에 기초하여 또는 임의의 다른 목적을 위해 평활화가 요구된다고 결정하도록 동작할 수 있다. 따라서, 평활화 시스템은 임의의 목적을 위해 평활화 프로세스를 수행하고/수행하거나 멀티미디어 컨텐츠의 송신 및 렌더링에 관련된 임의의 원하는 목표를 달성하도록 동작할 수 있다.
일 양태에서, 검출기 (204) 는 슈퍼프레임이 선택된 임계값을 초과하는 비트-레이트를 가지는지 여부를 판정하기 위해 평활성 인자를 테스트하도록 동작한다. 예를 들어, 검출기 (204) 는 선택된 슈퍼프레임에 포함된 비디오 데이터의 양이 소정의 임계값을 초과하는지 여부를 검출한다. 다른 양태에서, 검출기 (204) 는 연속적인 슈퍼프레임의 비트-레이트의 변화량이 선택된 임계값을 초과하는지 여 부를 판정하기 위해 평활성 인자를 테스트하도록 동작한다. 예를 들어, 검출기 (204) 는 버퍼 (202) 에서의 슈퍼프레임을 슈퍼프레임 별로 프로세싱하도록 동작한다. 각 슈퍼프레임의 비트-레이트가 검출되고, 비트-레이트의 변화량이 선택된 임계값 (즉, 버스티니스) 을 초과하면, 검출기 (204) 는 인코더 (206) 에 통지하며 검출된 버스티니스와 연관된 이들 슈퍼프레임을 식별한다.
다른 양태에서, 검출기 (204) 는 평활성 인자에 기초하여 버스티니스의 결여를 검출한다. 예를 들어, 송신 슈퍼프레임과 연관된 버스티니스 및/또는 높은 비트-레이트 가변성을 가지는 것이 바람직할 수도 있다. 이 경우에, 검출기 (204) 는 평활성 인자를 결정하고, 평활성 인자가 버스티니스의 결여 및/또는 높은 비트-레이트 가변성의 결여를 표시하는 때를 검출한다. 이 경우에, 검출기 (204) 는 인코더 (206) 에 통지하며 버스티니스의 결여와 연관된 이들 슈퍼프레임을 식별하여, 슈퍼프레임들 사이의 버스티니스가 증가될 수 있다.
본 설명을 목적으로, 검출기 (204) 는 슈퍼프레임 (212) 과 연관된 평활성 인자가 원하는 임계값 및/또는 범위를 초과하였음을 검출하였다고 가정한다. 예를 들어, 슈퍼프레임 (212) 은 슈퍼프레임 (214) 에 관하여 높은 비트-레이트를 가지고, 그 결과, 비트-레이트 가변성 임계값이 초과된다. 그 다음에, 검출기 (204) 는 이 상태에 관해 인코더 (206) 에 통지하고, 슈퍼프레임 (212 및 214) 을 식별한다.
일 양태에서, 검출기 (204) 는 평활화 프로세스를 야기할 수도 있는 여분의 데이터를 인접 슈퍼프레임이 취할 수 있도록 인접 슈퍼프레임이 적당한 사이즈로 이루어진 것을 확인 (즉, 체크 및/또는 검증) 하기 위해 버퍼 (202) 에서의 하나 이상의 슈퍼프레임의 사이즈를 결정하도록 동작한다. 인접 슈퍼프레임이 더 많은 데이터를 취할 수 있다고 결정되면, 검출기 (204) 는 평활화 프로세스를 계속하도록 인코더 (206) 에 통지한다. 본 설명을 목적으로, 평활화 프로세스가 계속될 수 있도록 슈퍼프레임 (214) 이 추가 데이터를 취할 수 있다고 검출기 (204) 가 결정하였다고 가정된다.
일 양태에서, 인코더 (206) 는 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 엘리먼트, 가상 머신, 소프트웨어, 및/또는 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상을 포함한다. 일 양태에서, 인코더 (206) 는 I-프레임의 사이즈를 감소시켜 씨닝된 It-프레임을 생성하기 위해 I-프레임을 인코딩하도록 동작한다. 씨닝된 I-프레임으로부터 절약된 비트는 다음의 P-프레임을 인코딩하는데 이용되어, 이 P-프레임의 사이즈 및 품질을 증가시킴으로써 패트닝된 Pf-프레임을 생성한다. 씨닝된 It-프레임 및 패트닝된 Pf-프레임이 슈퍼프레임 경계에 걸쳐 나타나도록 배열함으로써, 선택된 슈퍼프레임의 전체 비트-레이트는 시간에 걸쳐 평활화될 수 있다.
일례로서, 검출기 (204) 가 평활성 인자를 검출하였고, 슈퍼프레임 (212) 과 슈퍼프레임 (214) 사이의 비트-레이트의 변화량이 선택된 임계값을 초과한다고 결정하였다고 가정된다. 인코더 (206) 는 먼저 슈퍼프레임 (212) 이 I-프레임 (218) 을 포함한다고 결정한다. 일 양태에서, 인코더 (206) 는 I-프레임 (218) 을 씨닝하고 이 I-프레임으로부터의 데이터를 P-프레임 (220) 으로 인코딩하도록 동작한다. 프로세스가 완료되는 경우, 슈퍼프레임 (212) 은 씨닝된 It-프레임 (222) 을 포함하고, 슈퍼프레임 (214) 은 패트닝된 Pf-프레임 (224) 을 포함한다. 그 결과, 비트-레이트 평활화를 제공하도록, 슈퍼프레임 (212) 의 비트-레이트가 감소하고 슈퍼프레임 (214) 의 비트-레이트가 증가한다. 그 다음에, 평활화된 슈퍼프레임은 226 에 도시된 바와 같이 버퍼 (202) 로부터 출력된다.
다른 양태에서, 인코더 (206) 는 또한 하나의 슈퍼프레임에서 다른 하나의 슈퍼프레임으로 프레임을 이동시킴으로써 하나 이상의 슈퍼프레임의 시간 경계를 조정하도록 동작할 수 있다. 예를 들어, 비트-레이트 평활화의 목적으로, It-프레임 (또는 정규 I-프레임) 은 후속 슈퍼프레임으로 이동함으로써, 그 슈퍼프레임에서의 비디오 프레임의 총수를 증가시킬 수도 있는데, 이는 슈퍼프레임들 사이의 시간 경계에 대한 효과적인 조정이다. 또 다른 양태에서, 인코더 (206) 는 송신 슈퍼프레임에서 전송되는 계층을 더 잘 밸런싱하도록 이들 계층 사이에서 비디오 프레임을 이동시키도록 동작한다.
따라서, 동작 중에, 인코더 (206) 는 평활화 시스템의 양태에서, 다음의 기능 중 하나 이상의 기능을 독자적으로 또는 이를 임의로 조합하여 수행하도록 동작할 수 있다.
1. I-프레임을 씨닝하여 It-프레임을 생성.
2. 씨닝된 I-프레임에 대한 품질 정제 (quality refinement) 로 P-프레임을 패트닝하여 Pf-프레임을 생성.
3. 하나의 슈퍼프레임으로부터 다른 하나의 슈퍼프레임으로 It-프레임 (또는 I 프레임) 을 이동시킴.
4. 하나의 슈퍼프레임으로부터 다른 하나의 슈퍼프레임으로 Pf-프레임 (또는 P 프레임) 을 이동시킴.
5. 하나의 슈퍼프레임으로부터 다른 하나의 슈퍼프레임으로 C-프레임을 이동시킴.
6. 슈퍼프레임에 의해 전달되는 기본 계층과 향상 계층 사이에서 임의의 타입의 프레임을 이동시킴.
일 양태에서, 평활화 시스템은 머신-판독가능 매체 상에 저장된 하나 이상의 프로그램 명령 ("명령") 또는 하나 이상의 "코드" 세트를 포함하며, 이는 적어도 하나의 머신, 예를 들면, 평활화 로직 (200) 에서의 하나 이상의 프로세싱 머신에 의해 실행되는 경우에, 본 명세서에서 설명한 기능을 제공한다. 예를 들어, 코드 세트는 플로피 디스크, CDROM, 메모리 카드, FLASH 메모리 디바이스, RAM, ROM, 또는 평활화 로직 (200) 에 인터페이스하는 임의의 다른 타입의 메모리 디바이스 또는 머신-판독가능 매체와 같은 머신-판독가능 매체로부터 평활화 로직 (200) 으로 로딩될 수도 있다. 다른 양태에서, 코드 세트는 외부 디바이스 또는 네트워크 리소스로부터 평활화 로직 (200) 으로 다운로딩될 수도 있다. 코드 세트는 실행되는 경우, 본 명세서에서 설명한 것과 같은 평활화 시스템의 양태를 제공한 다.
평활화 실시예
다음은 4 가지 실시예 상황에서 비트-레이트 평활화를 제공하는 평활화 로직 (200) 의 예시적인 동작을 설명한다. 평활화 시스템은 쉽게 변경되어 다양한 상황에서 비트-레이트 평활화의 양태를 제공하고, 설명된 상황은 이들 다양한 구현예를 한정하도록 구성되지 않는다는 것을 유의하여야 한다. 예를 들어, 평활화 시스템은 전체 비트-레이트, 비트-레이트 가변성에 기초하여, 및/또는 임의의 다른 이유로 평활화를 제공하도록 동작할 수 있다는 것을 유의하여야 한다. 도 3a 내지 도 3d 를 참조하여 설명한 다음의 실시예에서, 평활화 시스템의 동작 중에 프로세싱 또는 이동하였던 프레임을 표시하는데 음영이 이용된다.
비계층화 모드
비계층화 모드에서, 평활화 시스템의 양태는 비트-레이트를 일시적으로 평활화하기 위해 SF 경계에 걸친 프레임의 이동 및/또는 프로세싱을 제공한다. 일반적으로, I, B, P, C 등과 같은 임의의 타입의 프레임이 이동될 수 있다. 일 양태에서, 2 개 이상의 프레임의 품질은 공동으로 조정될 수 있으며, 이는 더 우수한 평활화 효과를 생성할 수도 있다. 채널 전환/획득이 또한 고려될 수 있다. 예를 들어, SF 에서 I-프레임에 의해 제공된 장면 전환이 있으면, 중복되는 C-프레임은 그 SF 에서 전송될 필요가 없다. 따라서, I-프레임이 SF 경계를 지나 이동하는 경우, C-프레임이 또한 이동, 삭제 및/또는 삽입되어 리던던시를 방지하며, 이는 여전히 적절한 채널 전환/획득을 용이하게 할 수도 있다. 일 양태에 서, 평활화 로직 (200) 은 다음의 기능을 수행하도록 구성된다.
도 3a 는 평활화 시스템의 양태에 따른 비계층화 모드의 비트-레이트 평활화의 실시예를 도시한다. 도 3a 는 입력 버퍼 (202) 에 존재하는 2 개의 슈퍼프레임, 즉, SF(i) 및 SF(i+1) 을 도시한다. SF(i+1) 의 비트-레이트가 선택된 임계값을 초과한다고, 또는 프레임 SF(i) 와 SF(i+1) 사이의 비트-레이트의 변화량이 선택된 임계값을 초과한다고 검출기 (204) 가 결정하였으므로, 과도한 버스티니스를 초래하였다고 결정되었다고 가정된다. SF(i+1) 의 사이즈를 감소시켜 SF(i) 와 SF(i+1) 사이의 비트-레이트 변화량을 평활화하기 위해, 인코더 (206) 는 다음과 같이 동작한다.
SF(i+1) 에서, I-프레임 (302) 은 씨닝되어, SF(i) 로 이동하는 It-프레임 (304) 을 생성한다. 여분의 데이터는 SF(i+1) 에 남아 있는 패트닝된 Pf-프레임 (Pf(i+1,2)(306) 으로 통합된다. It-프레임 (304) 의 이동이 SF(i+1) 가 독립적으로 디코딩가능한 프레임을 가지지 않게 하기 때문에, C-프레임 (308) 은 SF(i) 로부터 제거될 수 있고, C-프레임 (310) 으로서 도시된 바와 같이, C-프레임은 SF(i+1) 에 삽입될 수 있다.
계층화 모드
일 양태에서, 평활화 시스템은 기본 계층에 하나 이상의 향상 계층을 더한 것을 포함하는 비디오 프레임의 총 비트 레이트에 관련된 버스티니스를 감소시키도록 동작한다. 다른 양태에서, 향상 계층(들)은 다양한 프레임 타입을 전송하여 기본 계층과 향상 계층(들) 사이의 비트-레이트 밸런싱을 허용하는데 이용될 수 있다.
기본 계층과 향상 계층을 밸런싱하는 목적으로, B-프레임은 기본 계층 또는 향상 계층 중 어느 하나를 통해 전송될 수 있다. 일정 환경에서, I-프레임, P-프레임, 및 C-프레임은 향상 계층에 놓일 수도 있다. 따라서, 기본 계층으로 프레임을 전송할지 또는 향상 계층으로 프레임을 전송할지는 기본 계층과 향상 계층 사이의 비트-레이트 밸런스에 좌우될 수도 있다. 단순화를 위해, 도 3b 내지 도 3d 의 기본 계층 및 향상 계층에 위치할 수 있는 B-프레임이 도시되지 않고, I 및 P 프레임의 실제 개수는 이들 도면에서 도시된 것보다 더 많을 수 있다. 일 양태에서, 평활화 로직 (200) 은 다음의 기능을 수행하도록 구성된다.
도 3b 는 평활화 시스템의 양태에 따른 계층화 모드의 비트-레이트 평활화의 실시예를 도시한다. 도 3b 는 2 개의 슈퍼프레임, 즉, SF(i) 및 SF(i+1) 을 도시하고, 또한 이들 슈퍼프레임에 의해 전달되는 기본 (Base) 및 향상 (Enh) 계층을 도시한다. 슈퍼프레임 SF(i) 및 SF(i+1) 이 입력 버퍼 (202) 에 존재한다고 가정된다. 또한, SF(i) 의 비트-레이트가 선택된 임계값을 초과한다고, 또는 SF(i) 와 SF(i+1) 사이의 비트-레이트의 변화량이 선택된 임계값을 초과한다고 검출기 (204) 가 결정하였으므로, 과도한 버스티니스를 초래하였다고 결정되었거나 또는 SF(i) 에서의 I-프레임 (312) 이 SF(i) 에서의 2 개의 계층을 밸런싱하는 것을 어렵게 한다고 가정된다. SF(i) 의 사이즈를 감소시켜 더 우수한 밸런스를 얻기 위해, 인코더 (206) 는 다음과 같이 동작한다.
장면 전환은 SF(i) 의 끝에 도시된 I-프레임 (312) 에 의해 표시되는데, 이는 기본 계층에 버스티니스를 초래한다. 일 양태에서, 평활화 시스템은 I-프레임 (312) 을 씨닝하도록 동작하고, 결과적으로 발생된 It-프레임 (314) 은 SF(i) 의 기본 계층의 비트-레이트를 감소시킨다. I-프레임 (312) 다음으로 오는 P-프레임 (316) 이 또한 인코딩되어 SF(i+1) 에서 패트닝된 Pf-프레임 (318) 을 생성함으로써, I-프레임 (312) 을 씨닝한 결과로서 손실된 품질을 복구한다. 단순화를 위해, C-프레임은 SF(i+1) 의 향상 계층에만 제공된다.
도 3c 는 평활화 시스템의 양태에 따른 계층화 모드의 비트-레이트 평활화의 실시예를 도시한다. 도 3c 는 2 개의 슈퍼프레임, 즉, SF(i) 및 SF(i+1) 을 도시하고, 또한 이들 슈퍼프레임에 의해 전달되는 기본 (Base) 및 향상 (Enh) 계층을 도시한다. 슈퍼프레임 SF(i) 및 SF(i+1) 이 입력 버퍼 (202) 에 존재한다고 가정된다. SF(i+1) 의 비트-레이트가 선택된 임계값을 초과한다고, 또는 SF(i) 와 SF(i+1) 사이의 비트-레이트의 변화량이 선택된 임계값을 초과한다고 검출기 (204) 가 결정하였으므로, 과도한 버스티니스를 초래하였다고 결정되었거나 또는 SF(i+1) 에서의 I-프레임 (320) 이 SF(i+1) 에서의 2 개의 계층을 밸런싱하는 것을 어렵게 한다고 가정된다. SF(i+1) 의 사이즈를 감소시켜 더 우수한 밸런스를 얻기 위해, 인코더 (206) 는 다음과 같이 동작한다.
장면 전환은 SF(i+1) 의 시작에서 I-프레임 (320) 에 의해 표시된다. I-프레임 (320) 은 더 낮은 품질로 인코딩되어, 슈퍼프레임 SF(i) 로 이동하는 씨닝된 It-프레임 (322) 을 형성한다. P-프레임 (324) 은 씨닝된 It-프레임으로부터의 데이터로 패트닝되어, Pf-프레임 (326) 을 생성한다. It-프레임 (322) 이 획득 및 동기화에 이용될 수 있기 때문에, SF(i) 에서 중복 C-프레임 (328) 을 가질 필요가 없어서, 이는 SF(i) 로부터 제거되고 , C-프레임 (330) 이 SF(i+1) 에 삽입되어 SF(i+1) 의 획득을 허용한다. SF(i) 에서 더 우수한 밸런싱을 위해, 332 에 도시된 SF(i) 에서 마지막 2 개의 P-프레임은 334 에 도시된 바와 같이 향상 계층으로 이동한다.
도 3d 는 평활화 시스템의 양태에 따른 계층화 모드의 비트-레이트 평활화의 실시예를 도시한다. 도 3d 는 2 개의 슈퍼프레임, 즉, SF(i) 및 SF(i+1) 을 도시하고, 또한 이들 슈퍼프레임에 의해 전달되는 기본 (Base) 및 향상 (Enh) 계층을 도시한다. 슈퍼프레임 SF(i) 및 SF(i+1) 이 입력 버퍼 (202) 에 존재한다고 가정된다. SF(i+1) 의 비트-레이트가 선택된 임계값을 초과한다고, 또는 SF(i) 와 SF(i+1) 사이의 비트-레이트의 변화량이 선택된 임계값을 초과한다고 검출기 (204) 가 결정하였으므로, 과도한 버스티니스를 초래하였다고 결정되었거나 또는 SF(i+1) 에서의 I-프레임 (336) 이 SF(i+1) 에서의 2 개의 계층을 밸런싱하는 것을 어렵게 한다고 가정된다. SF(i+1) 의 사이즈를 감소시켜 더 우수한 밸런스를 얻기 위해, 인코더 (206) 는 다음과 같이 동작한다.
I-프레임 (336) 이 도시된 바와 같이 SF(i+1) 의 중간에 있으면, 비트-레이트 평활화를 제공하기 위해 이전 2 가지 방법 중 어느 하나가 수행될 수 있다. 두번째 방법이 수행되면, I-프레임 (336) 이 씨닝되어, 씨닝된 It-프레임 (338) 을 형성하며, 이는 SF(i) 로 이동한다. I-프레임 (336) 앞의 P-프레임 (340) 은 또한 342 에 도시된 바와 같이, SF(i) 로 이동한다. P-프레임 (340) 은 기본 계층 또는 향상 계층 중 어느 하나에 위치할 수 있고, 본 실시예에서는, SF(i) 의 밸런스를 향상시키기 위해 향상 계층에 도시된다. SF(i+1) 에서의 획득을 허용하기 위해, SF(i) 에 위치한 C-프레임 (344) 이 제거되고, SF(i+1) 에 C-프레임 (346) 이 삽입된다. I-프레임 (336) 과 연관된 P-프레임 (348) 이 패트닝되어, 패트닝된 Pf-프레임 (350) 을 생성한다.
도 4 는 평활화 시스템의 양태에 이용하기 위한 예시적인 방법 (400) 을 도시한다. 명확화를 위해, 이 방법 (400) 은 본 명세서에서 도 2 에 도시된 평활화 로직 (200) 을 참조하여 설명된다. 예를 들어, 일 양태에서, 평활화 로직 (200) 은 하나 이상의 프로세싱 머신 상에서 하나 이상의 코드 세트 또는 명령을 실행하여, 이하에서 설명되는 기능을, 전체적으로 또는 선택적으로 결합하여, 감소시켜 및/또는 재순서화하여 수행한다.
블록 402 에서, 하나 이상의 슈퍼프레임이 버퍼링된다. 일 양태에서, 멀티미디어 컨텐츠를 포함하는 슈퍼프레임은 프레이밍 로직 (114) 으로부터 수신되고, 버퍼 (202) 에 버퍼링된다.
블록 404 에서, 버퍼링된 슈퍼프레임에 관해서 평활화가 요구되는지 여부에 관한 판정이 이루어진다. 일 양태에서, 검출기 (204) 는 평활화가 요구되는지 여부를 표시하는 평활성 인자를 결정 및 테스트하도록 동작한다. 예를 들어, 평활성 인자는 선택된 슈퍼프레임의 비트-레이트가 선택된 임계값을 초과하면 바람직하지 않은 버스티니스를 표시할 수도 있다. 다른 양태에서, 평활성 인자는 슈퍼프레임들 사이의 비트-레이트의 변화량이 선택된 임계값을 초과하면 바람직하지 않은 버스티니스를 표시할 수도 있다. 일 양태에서, 검출기 (204) 는 버퍼링된 슈퍼프레임에서 버스티니스 또는 임의의 언밸런스를 검출하도록 동작한다. 검출기 (204) 는 임의의 이유 또는 목적을 위해 평활화가 요구된다고 결정하도록 동작할 수 있다는 것을 유의하여야 한다. 평활화가 요구되지 않으면, 이 방법은 블록 414 로 진행한다. 평활화가 요구되면, 이 방법은 블록 406 으로 진행한다.
블록 406 에서, 요구된 평활화와 연관된 제 1 슈퍼프레임 및 제 2 슈퍼프레임 (SF(i) 및 SF(i+1)) 이 식별된다. 예를 들어, 검출기 (204) 는 2 개의 슈퍼프레임을 결정하도록 동작하는데, 이 슈퍼프레임 사이에서 비트-레이트는 큰 변화량을 경험한다. 슈퍼프레임의 아이덴티티는 인코더 (206) 로 패스된다.
블록 408 에서, 제 1 식별된 슈퍼프레임 SF(i) 에 I-프레임이 있는지 여부에 관한 판정이 이루어진다. 예를 들어, 인코더 (206) 가 이 판정을 한다. I-프레임이 있으면, 이 방법은 블록 410 으로 진행한다. 제 1 식별된 슈퍼프레임 SF(i) 에 I-프레임이 없으면, 이 방법은 블록 416 으로 진행한다.
블록 410 에서, 제 1 식별된 슈퍼프레임 SF(i) 에서의 I-프레임이 인코딩되 어, 씨닝된 It-프레임을 생성한다. 예를 들어, 인코더 (206) 는 I-프레임을 인코딩하여 I-프레임의 해상도 및/또는 품질을 감소시킴으로써 씨닝된 It-프레임을 생성하도록 동작한다.
블록 412 에서, 제 2 슈퍼프레임에서의 P-프레임이 인코딩되어, 패트닝된 Pf-프레임을 형성한다. 예를 들어, 인코더 (206) 는 제 2 식별된 슈퍼프레임 SF(i+1) 에서의 선택된 P-프레임을 인코딩하여, 씨닝된 It-프레임을 생성하기 위해 제거된 데이터가 P-프레임으로 인코딩됨으로써 패트닝된 Pf-프레임을 생성하도록, 동작한다. 그 결과, 제 1 식별된 슈퍼프레임 SF(i) 는 사이즈 (및 그에 따른 비트-레이트) 의 감소를 경험하고, 제 2 식별된 슈퍼프레임 SF(i+1) 은 사이즈 (및 그에 따른 비트-레이트) 의 증가를 경험하는데, 이는 슈퍼프레임과 연관되는 검출된 버스티니스를 감소시킨다.
블록 416 에서, I-프레임이 제 2 식별된 슈퍼프레임 SF(i+1) 에 위치하고 I-프레임이 씨닝되어 씨닝된 It-프레임을 생성한다고 결정되었다. 예를 들어, 인코더 (206) 는 씨닝된 It-프레임을 생성하기 위해 I-프레임을 인코딩하도록 동작한다.
블록 418 에서, 씨닝된 It-프레임에 후속하는 P-프레임이 인코딩되어, 패트닝된 Pf-프레임을 생성한다. 일 양태에서, 인코더 (206) 는 It-프레임으로부터 도출된 데이터로 Pf-프레임을 인코딩하도록 동작한다.
블록 420 에서, 제 2 식별된 슈퍼프레임 SF(i+1) 에서의 It-프레임 및 임의의 이전 P-프레임은 제 1 식별된 슈퍼프레임 SF(i) 로 이동한다. 예를 들어, 인코더 (206) 는 SF(i+1) 에서의 It-프레임 및 임의의 이전 P-프레임을 제 1 식별된 슈퍼프레임 SF(i) 로 이동시키도록 동작한다. 이는 도 3d 에 도시되어 있다.
블록 422 에서, 제 1 식별된 슈퍼프레임 SF(i) 에 C-프레임이 있는지 여부에 관한 판정이 이루어진다. 일 양태에서, 인코더 (206) 가 이 판정을 한다. 제 1 슈퍼프레임 SF(i) 에 C-프레임이 없으면, 이 방법은 블록 414 로 진행한다. 제 1 슈퍼프레임 SF(i) 에 C-프레임이 있으면, 이 방법은 블록 424 로 진행한다.
블록 424 에서, 제 1 식별된 슈퍼프레임 SF(i) 에서의 C-프레임이 제거되고, 제 2 식별된 슈퍼프레임 SF(i+1) 에 C-프레임이 삽입된다. 일 양태에서, 인코더 (206) 가 이 기능을 수행한다. 예를 들어, 도 3d 의 제 1 슈퍼프레임 SF(i) 에 도시된 C-프레임 (344) 이 제거되고, 제 2 슈퍼프레임 SF(i+1) 에 C-프레임 (346) 이 삽입된다.
블록 414 에서, 필요하다면 하나 이상의 슈퍼프레임의 계층이 밸런싱된다. 일 양태에서, 인코더 (206) 는 하나 이상의 슈퍼프레임의 기본 계층과 향상 계층을 밸런싱하도록 동작한다. 예를 들어, 프레임을 인코딩하고 이들을 슈퍼프레임들 사이에서 이동시킨 후에, 기본 계층으로부터 향상 계층으로 또는 반대로 프레임을 이동시킴으로써 기본 계층과 향상 계층의 사이즈를 밸런싱하는 것이 바람직할 수도 있다.
따라서, 방법 (400) 은 평활화 시스템의 양태를 제공하도록 동작한다. 방법 (400) 은 일 구현예일 뿐이고 다른 구현예가 양태의 범위 내에서 가능하다는 것을 유의하여야 한다.
도 5 는 평활화 시스템의 양태에 이용하기 위한 예시적인 평활화 로직 (500) 을 도시한다. 예를 들어, 평활화 로직 (500) 은 도 1 에 도시된 평활화 로직 (128) 으로서 이용하는데 적절하다. 일 양태에서, 평활화 로직 (500) 은 하나 이상의 코드 세트를 실행하여 본 명세서에서 설명된 것과 같은 평활화 시스템의 양태를 제공하도록 구성된 하나 이상의 모듈을 포함하는 적어도 하나의 프로세스에 의해 구현된다. 예를 들어, 각 모듈은 하드웨어, 소프트웨어, 또는 이의 임의의 조합을 포함한다.
평활화 로직 (500) 은 평활성 인자를 검출하는 수단을 포함하는 제 1 모듈 (502) 을 포함하며, 이는 일 양태에서 검출기 (204) 를 포함한다. 평활화 로직 (500) 은 또한 평활화가 요구된다고 결정하는 수단을 포함하는 제 2 모듈 (504) 을 포함하며, 이는 일 양태에서 검출기 (204) 를 포함한다. 평활화 로직 (500) 은 또한 선택된 멀티미디어 데이터를 이동시키는 수단을 포함하는 제 3 모듈 (506) 을 포함하며, 이는 일 양태에서 인코더 (206) 를 포함한다. 평활화 로직 (500) 은 일 구현예일 뿐이고 다른 구현예가 양태의 범위 내에서 가능하다는 것을 유의하여야 한다.
본 명세서에서 개시된 양태와 관련하여 설명된 다양하고 설명적인 로직, 논 리 블록, 모듈, 및 회로는 범용 프로세서, DSP (digital signal processor), ASIC (application specific integrated circuit), FPGA (field programmable gate array) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 본 명세서에서 설명된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로는, 이 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
본 명세서에 개시된 양태와 관련하여 설명된 방법 또는 알고리즘의 단계는 직접 하드웨어로, 프로세서에 의해 실행된 소프트웨어 모듈로, 또는 이 둘의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독 및 정보를 저장 매체에 기록할 수 있도록 프로세서에 연결된다. 다른 방법으로는, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 사용자 단말기에 상주할 수도 있다. 다른 방법으로는, 프로세서 및 저장 매체는 사용자 단말기에 이산 컴포넌트로서 상주할 수도 있다.
당업자가 본 발명을 실시 또는 이용하는 것이 가능하도록, 개시된 양태의 설명이 제공된다. 이들 양태에 대한 다양한 변경이 당업자에게는 보다 명백할 수도 있고, 본 명세서에서 정의된 일반 원리는 다른 양태에, 예를 들어, 인스턴트 메시징 서비스 또는 임의의 일반 무선 데이터 통신 애플리케이션에서 본 발명의 사상 또는 범위를 벗어나지 않고 적용될 수도 있다. 따라서, 본 발명은 본 명세서에서 설명된 양태에 제한되려는 것이 아니라, 본 명세서에서 개시된 원리 및 신규한 특징에 부합하는 최광 범위에 따르는 것으로 의도된다. 단어 "예시적인 (examplary)"은 "실시예, 실례, 또는 예시의 역할을 하는 것"을 의미하는 것으로 본 명세서에서 배타적으로 이용된다. "예시적인"으로 본 명세서에서 설명된 임의의 양태는 반드시 다른 양태보다 바람직하거나 또는 유리하다고 해석되는 것은 아니다.
따라서, 평활화 시스템의 양태가 본 명세서에서 예시 및 설명되었지만, 이 양태의 사상 또는 본질적인 특성을 벗어나지 않고 이 양태에 대한 다양한 변경이 이루어질 수 있다. 따라서, 본 명세서의 개시물 및 설명은 다음의 청구범위에서 개시되는 본 발명의 범위를 제한하려는 것이 아니라 예시하는 것으로 의도된다.

Claims (40)

  1. 멀티미디어 데이터를 프로세싱하는 방법으로서,
    다중의 프레임들에 걸쳐 상기 멀티미디어 데이터의 하나 이상의 부분과 연관된 버스티니스 및 비트-레이트 가변성 중 적어도 하나를 나타내는 평활성 인자를 검출하는 단계;
    상기 평활성 인자에 기초하여 평활화가 필요한지 여부를 결정하는 단계; 및
    상기 멀티미디어 데이터의 제 1 선택된 부분을 상기 멀티미디어 데이터의 제 2 선택된 부분으로 이동시킴으로써 상기 평활성 인자를 조정하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 검출하는 단계는, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값을 초과하는 때를 검출하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  3. 제 1 항에 있어서,
    상기 검출하는 단계는, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값 아래에 있는 때를 검출하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  4. 제 1 항에 있어서,
    상기 검출하는 단계는, 상기 멀티미디어 데이터의 적어도 2 개의 부분 사이의 비트-레이트 변화량이 선택된 임계값을 초과하는 때를 검출하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  5. 제 1 항에 있어서,
    상기 이동시키는 단계는, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분 및 상기 제 2 선택된 부분 중 적어도 하나의 부분과 연관된 지속 시간을 조정하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  6. 제 1 항에 있어서,
    상기 이동시키는 단계는, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분과 상기 제 2 선택된 부분 사이에서 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  7. 제 1 항에 있어서,
    상기 이동시키는 단계는, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  8. 제 1 항에 있어서,
    상기 이동시키는 단계는,
    제 1 비디오 프레임 사이즈가 감소되어 선택된 데이터가 제거되는 씨닝된 (thinned) 비디오 프레임을 생성하도록, 제 1 비디오 프레임을 인코딩하는 단계; 및
    제 2 비디오 프레임 사이즈가 증가되어 패트닝된 (fattened) 프레임을 생성하도록, 상기 선택된 데이터를 포함시키기 위해 제 2 비디오 프레임을 인코딩하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  9. 제 8 항에 있어서,
    상기 이동시키는 단계는, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 상기 씨닝된 프레임과 상기 패트닝된 프레임 중 적어도 하나의 프레임을 이동시키는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  10. 제 1 항에 있어서,
    적어도 상기 하나 이상의 부분과 연관된 기본 계층 사이즈와 향상 계층 사이즈를 밸런싱하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  11. 멀티미디어 데이터를 프로세싱하는 장치로서,
    다중의 프레임들에 걸쳐 상기 멀티미디어 데이터의 하나 이상의 부분과 연관된 버스티니스 및 비트-레이트 가변성 중 적어도 하나를 나타내는 평활성 인자를 검출하고, 상기 평활성 인자에 기초하여 평활화가 필요하다고 결정하도록 구성된 검출기; 및
    선택된 멀티미디어 데이터를 상기 멀티미디어 데이터의 제 1 선택된 부분에서 상기 멀티미디어 데이터의 제 2 선택된 부분으로 이동시킴으로써 상기 평활성 인자를 조정하도록 구성된 인코더를 포함하며,
    상기 평활성 인자는 조정되는, 멀티미디어 데이터의 프로세싱 장치.
  12. 제 11 항에 있어서,
    상기 검출기는, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값을 초과하는 때를 검출하도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  13. 제 11 항에 있어서,
    상기 검출기는, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값 아래에 있는 때를 검출하도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  14. 제 11 항에 있어서,
    상기 검출기는, 상기 멀티미디어 데이터의 적어도 2 개의 부분 사이의 비트- 레이트 변화량이 선택된 임계값을 초과하는 때를 검출하도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  15. 제 11 항에 있어서,
    상기 인코더는, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분 및 상기 제 2 선택된 부분 중 적어도 하나의 부분과 연관된 지속 시간을 조정하도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  16. 제 11 항에 있어서,
    상기 인코더는, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분과 상기 제 2 선택된 부분 사이에서 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  17. 제 11 항에 있어서,
    상기 인코더는, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  18. 제 11 항에 있어서,
    상기 인코더는,
    제 1 비디오 프레임 사이즈가 감소되어 선택된 데이터가 제거되는 씨닝된 (thinned) 비디오 프레임을 생성하도록, 제 1 비디오 프레임을 인코딩하고;
    제 2 비디오 프레임 사이즈가 증가되어 패트닝된 (fattened) 프레임을 생성하도록, 상기 선택된 데이터를 포함시키기 위해 제 2 비디오 프레임을 인코딩하도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  19. 제 18 항에 있어서,
    상기 인코더는, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 상기 씨닝된 프레임과 상기 패트닝된 프레임 중 적어도 하나의 프레임을 이동시키도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  20. 제 11 항에 있어서,
    상기 인코더는, 적어도 상기 하나 이상의 부분과 연관된 기본 계층 사이즈와 향상 계층 사이즈를 밸런싱하도록 구성되는, 멀티미디어 데이터의 프로세싱 장치.
  21. 멀티미디어 데이터를 프로세싱하는 장치로서,
    다중의 프레임들에 걸쳐 상기 멀티미디어 데이터의 하나 이상의 부분과 연관된 버스티니스 및 비트-레이트 가변성 중 적어도 하나를 나타내는 평활성 인자를 검출하는 수단;
    상기 평활성 인자에 기초하여 평활화가 필요한지 여부를 결정하는 수단; 및
    상기 멀티미디어 데이터의 제 1 선택된 부분을 상기 멀티미디어 데이터의 제 2 선택된 부분으로 이동시킴으로써 상기 평활성 인자를 조정하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  22. 제 21 항에 있어서,
    상기 검출하는 수단은, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값을 초과하는 때를 검출하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  23. 제 21 항에 있어서,
    상기 검출하는 수단은, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값 아래에 있는 때를 검출하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  24. 제 21 항에 있어서,
    상기 검출하는 수단은, 상기 멀티미디어 데이터의 적어도 2 개의 부분 사이의 비트-레이트 변화량이 선택된 임계값을 초과하는 때를 검출하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  25. 제 21 항에 있어서,
    상기 이동시키는 수단은, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분 및 상기 제 2 선택된 부분 중 적어도 하나의 부분과 연관된 지속 시간을 조정하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  26. 제 21 항에 있어서,
    상기 이동시키는 수단은, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분과 상기 제 2 선택된 부분 사이에서 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  27. 제 21 항에 있어서,
    상기 이동시키는 수단은, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  28. 제 21 항에 있어서,
    상기 이동시키는 수단은,
    제 1 비디오 프레임 사이즈가 감소되어 선택된 데이터가 제거되는 씨닝된 (thinned) 비디오 프레임을 생성하도록, 제 1 비디오 프레임을 인코딩하는 수단; 및
    제 2 비디오 프레임 사이즈가 증가되어 패트닝된 (fattened) 프레임을 생성하도록, 상기 선택된 데이터를 포함시키기 위해 제 2 비디오 프레임을 인코딩하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  29. 제 28 항에 있어서,
    상기 이동시키는 수단은, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 상기 씨닝된 프레임과 상기 패트닝된 프레임 중 적어도 하나의 프레임을 이동시키는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  30. 제 21 항에 있어서,
    적어도 상기 하나 이상의 부분과 연관된 기본 계층 사이즈와 향상 계층 사이즈를 밸런싱하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  31. 코드의 하나 이상의 부분을 포함하며 하나 이상의 머신 상에서 실행가능한 명령이 저장된 머신 판독가능 매체로서,
    상기 코드의 하나 이상의 부분은,
    다중의 프레임들에 걸쳐 멀티미디어 데이터의 하나 이상의 부분과 연관된 버스티니스 및 비트-레이트 가변성 중 적어도 하나를 나타내는 평활성 인자를 검출하는 코드;
    상기 평활성 인자에 기초하여 평활화가 필요한지 여부를 결정하는 코드; 및
    선택된 멀티미디어 데이터를 상기 멀티미디어 데이터의 제 1 선택된 부분에서 상기 멀티미디어 데이터의 제 2 선택된 부분으로 이동시킴으로써 상기 평활성 인자를 조정하는 코드를 포함하며,
    상기 평활성 인자는 조정되는, 머신 판독가능 매체.
  32. 제 31 항에 있어서,
    상기 검출은, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값을 초과하는 때를 검출하는 것을 포함하는, 머신 판독가능 매체.
  33. 제 31 항에 있어서,
    상기 검출하는 코드는, 상기 멀티미디어 데이터의 적어도 하나의 부분과 연관된 비트-레이트가 선택된 임계값 아래에 있는 때를 검출하는 코드를 포함하는, 머신 판독가능 매체.
  34. 제 31 항에 있어서,
    상기 검출하는 코드는, 상기 멀티미디어 데이터의 적어도 2 개의 부분 사이의 비트-레이트 변화량이 선택된 임계값을 초과하는 때를 검출하는 코드를 포함하는, 머신 판독가능 매체.
  35. 제 31 항에 있어서,
    상기 이동시키는 코드는, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분 및 상기 제 2 선택된 부분 중 적어도 하나의 부분과 연관된 지속 시간을 조정하는 코드를 포함하는, 머신 판독가능 매체.
  36. 제 31 항에 있어서,
    상기 이동시키는 코드는, 상기 멀티미디어 데이터의 상기 제 1 선택된 부분과 상기 제 2 선택된 부분 사이에서 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키는 코드를 포함하는, 머신 판독가능 매체.
  37. 제 31 항에 있어서,
    상기 이동시키는 코드는, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 하나 이상의 비디오 프레임과 연관된 데이터를 이동시키는 코드를 포함하는, 머신 판독가능 매체.
  38. 제 31 항에 있어서,
    상기 이동시키는 코드는,
    제 1 비디오 프레임 사이즈가 감소되어 선택된 데이터가 제거되는 씨닝된 (thinned) 비디오 프레임을 생성하도록, 제 1 비디오 프레임을 인코딩하는 코드; 및
    제 2 비디오 프레임 사이즈가 증가되어 패트닝된 (fattened) 프레임을 생성하도록, 상기 선택된 데이터를 포함시키기 위해 제 2 비디오 프레임을 인코딩하는 코드를 포함하는, 머신 판독가능 매체.
  39. 제 38 항에 있어서,
    상기 이동시키는 코드는, 상기 하나 이상의 부분과 연관된 계층 경계와 시간 경계 중 적어도 하나의 경계를 지나 상기 씨닝된 프레임과 상기 패트닝된 프레임 중 적어도 하나의 프레임을 이동시키는 코드를 포함하는, 머신 판독가능 매체.
  40. 제 31 항에 있어서,
    적어도 상기 하나 이상의 부분과 연관된 기본 계층 사이즈와 향상 계층 사이즈를 밸런싱하는 코드를 더 포함하는, 머신 판독가능 매체.
KR1020097019868A 2007-03-01 2007-05-07 통신 네트워크에서 데이터를 인코딩하는 방법 및 시스템 KR101094677B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89251807P 2007-03-01 2007-03-01
US60/892,518 2007-03-01
US11/739,076 2007-04-23
US11/739,076 US20080212599A1 (en) 2007-03-01 2007-04-23 Methods and systems for encoding data in a communication network
PCT/US2007/068382 WO2008105883A1 (en) 2007-03-01 2007-05-07 Methods and systems for encoding data in a communication network

Publications (2)

Publication Number Publication Date
KR20090123911A KR20090123911A (ko) 2009-12-02
KR101094677B1 true KR101094677B1 (ko) 2011-12-20

Family

ID=38739371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097019868A KR101094677B1 (ko) 2007-03-01 2007-05-07 통신 네트워크에서 데이터를 인코딩하는 방법 및 시스템

Country Status (7)

Country Link
US (1) US20080212599A1 (ko)
EP (1) EP2127379A1 (ko)
JP (1) JP2010520677A (ko)
KR (1) KR101094677B1 (ko)
CN (1) CN101627632B (ko)
TW (1) TW200901770A (ko)
WO (1) WO2008105883A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100118938A1 (en) * 2008-11-12 2010-05-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for generating a stream of data
FR2949036B1 (fr) * 2009-08-10 2012-05-04 Canon Kk Procede et dispositif de transmission de donnees entre un dispositif emetteur et un dispositif recepteur, avec gestion de troncature, produit programme d'ordinateur et moyen de stockage correspondants
FR2957743B1 (fr) * 2010-03-19 2012-11-02 Canon Kk Procede de gestion d'une transmission de donnees par un dispositif emetteur, avec gestion de codage source, produit programme d'ordinateur, moyen de stockage et dispositif emetteur correspondants
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
US9456383B2 (en) 2012-08-27 2016-09-27 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9247448B2 (en) 2012-08-27 2016-01-26 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
KR20150060149A (ko) * 2013-11-26 2015-06-03 삼성전자주식회사 멀티미디어 데이터를 분산 처리하는 저장 장치 및 방법
EP3343801A1 (en) * 2016-12-30 2018-07-04 Eutelsat S.A. Method for protection of signal blockages in a satellite mobile broadcast system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147163A1 (en) 2003-12-30 2005-07-07 Microsoft Corporation Scalable video transcoding
GB2426664A (en) 2005-05-10 2006-11-29 Toshiba Res Europ Ltd Transmitting scalable MPEG video over a wireless network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2675130B2 (ja) * 1989-03-29 1997-11-12 株式会社日立製作所 画像データ転送再生方法および転送再生装置
US7082162B2 (en) * 1999-04-17 2006-07-25 Pts Corporation Segment-based encoding system including segment-specific metadata
JP2000333167A (ja) * 1999-05-21 2000-11-30 Fuurie Kk 映像データの伝送方法および映像データの記録方法
US6643327B1 (en) * 2000-05-05 2003-11-04 General Instrument Corporation Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures
JP2004515163A (ja) * 2000-11-29 2004-05-20 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー リアルタイムデータの送信および受信
US7450610B2 (en) * 2003-06-03 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for allocating channel time to applications in wireless PAN
US7653085B2 (en) * 2005-04-08 2010-01-26 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over data network
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147163A1 (en) 2003-12-30 2005-07-07 Microsoft Corporation Scalable video transcoding
GB2426664A (en) 2005-05-10 2006-11-29 Toshiba Res Europ Ltd Transmitting scalable MPEG video over a wireless network

Also Published As

Publication number Publication date
CN101627632B (zh) 2012-01-25
TW200901770A (en) 2009-01-01
EP2127379A1 (en) 2009-12-02
WO2008105883A1 (en) 2008-09-04
US20080212599A1 (en) 2008-09-04
CN101627632A (zh) 2010-01-13
KR20090123911A (ko) 2009-12-02
JP2010520677A (ja) 2010-06-10

Similar Documents

Publication Publication Date Title
KR101094677B1 (ko) 통신 네트워크에서 데이터를 인코딩하는 방법 및 시스템
KR100983169B1 (ko) 프레임 정보 테이블을 이용한 프레임 레벨 멀티미디어 디코딩
US8612498B2 (en) Channel switch frame
US7693220B2 (en) Transmission of video information
KR100942395B1 (ko) 다층 비디오 설계를 위한 레이트 제어
JP5007012B2 (ja) ビデオ符号化方法
US8320464B2 (en) Method and apparatus to construct bi-directional predicted frames for temporal scalability
KR100977490B1 (ko) 스트리밍 애플리케이션들에서 미디어 포착을 인에이블하는방법 및 장치
US10425661B2 (en) Method for protecting a video frame sequence against packet loss
WO2003092296A1 (en) Moving picture data code conversion/transmission method and device, code conversion/reception method and device
KR20160007564A (ko) 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝
KR20110033240A (ko) 스케일러블 비디오 코딩(svc)디코딩에서 향상 계층의 패킷 분실에 기인한 오류 은폐를 위한 방법
JP5502798B2 (ja) チャネル交換フレーム
CN110636288B (zh) 视频解码、编码方法和装置及电子设备
Carreira et al. Selective motion vector redundancies for improved error resilience in HEVC
JPWO2003092295A1 (ja) 動画像伝送システム、動画像符号化装置、動画像復号化装置、及び動画像伝送プログラム
WO2002019709A1 (en) Dual priority video transmission for mobile applications
WO2005091632A1 (en) Transmission of video information
Carreira et al. A robust video encoding scheme to enhance error concealment of intra frames
Kazemi End-to-end distortion modeling and channel adaptive optimization of mixed layer multiple description coding scheme
Tian et al. Improved H. 264/AVC video broadcast/multicast
Duong Distributed Coding Based Multiple Descriptions for Robust Video Transmission over Error-Prone Networks
WO2001015458A2 (en) Dual priority video transmission for mobile applications
Murugan Multiplexing H. 264 video with AAC audio bit streams, demultiplexing and achieving lip synchronization during playback
Superiori et al. Smart sorting of H. 264/AVC encoded sequences for applications over UMTS networks

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
LAPS Lapse due to unpaid annual fee