KR20130125779A - 통신 네트워크에서의 인텔리전트 폐기를 위해 데이터를 우선순위화하는 시스템 및 방법 - Google Patents

통신 네트워크에서의 인텔리전트 폐기를 위해 데이터를 우선순위화하는 시스템 및 방법 Download PDF

Info

Publication number
KR20130125779A
KR20130125779A KR1020137015158A KR20137015158A KR20130125779A KR 20130125779 A KR20130125779 A KR 20130125779A KR 1020137015158 A KR1020137015158 A KR 1020137015158A KR 20137015158 A KR20137015158 A KR 20137015158A KR 20130125779 A KR20130125779 A KR 20130125779A
Authority
KR
South Korea
Prior art keywords
frame
frames
priority value
slice
priority
Prior art date
Application number
KR1020137015158A
Other languages
English (en)
Other versions
KR101489413B1 (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 KR20130125779A publication Critical patent/KR20130125779A/ko
Application granted granted Critical
Publication of KR101489413B1 publication Critical patent/KR101489413B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/234327Processing 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 decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

패킷들을 선택적으로 폐기함으로써, 용량 및 스펙트럼 구속형 다중 액세스 통신 시스템의 시스템 성능을 최적화하는 시스템 및 방법을 제공한다. 본 명세서에서 제공하는 시스템과 방법은 제어 응답을 이용하여 통신 시스템에 변경을 가할 수 있다. 이러한 제어 응답의 일례는, 용량 구속 상태 하에서의 네트워크 패킷들의 최적의 폐기(본 명세서에서는 '인텔리전트 폐기'라고도 함)를 포함한다. 일부 실시예들은 인지된 실제 시스템 처리량을 향상시키도록 패킷들을 선택적으로 폐기함으로써 상호작용 응답을 제공하는 한편, 다른 실시예들은 초과가입을 완화시키도록 서비스 품질에 대한 데이터 패킷들의 상대적 영향에 기초하여 데이터 패킷들을 선택적으로 폐기함으로써 반응형 응답을 제공하고, 다른 실시예들은 예측되는 초과가입에 기초하여 패킷들을 폐기함으로써 적극적 응답을 제공하고, 다른 실시예들은 이러한 응답들의 조합을 제공한다.

Description

통신 네트워크에서의 인텔리전트 폐기를 위해 데이터를 우선순위화하는 시스템 및 방법{SYSTEMS AND METHODS FOR PRIORITIZATION OF DATA FOR INTELLIGENT DISCARD IN A COMMUNICATION NETWORK}
본 발명은 일반적으로 통신 시스템 분야에 관한 것으로서, 더욱 상세하게는, 용량 및 스펙트럼 구속형(capacity and spectrum contrained) 다중 액세스 통신 시스템에서 패킷들을 선택적으로 폐기함으로써 시스템 성능을 최적화하는 시스템 및 방법에 관한 것이다.
용량 및 스펙트럼 구속형 다중 액세스 통신 시스템에서는, 두 개의 목표, 즉, 정보의 성공적인 전달 및 이러한 송신에 의한 다른 전달 방해의 최소화라는 목표가 편재하고 있다. 흔히, 이러한 목표들은 서로 충돌하며, 따라서 시스템 최적화를 위한 기회를 제공하게 된다.
셀룰러 네트워크에서, 예를 들어, 긍정적인 사용자 경험의 생성은 정보 수송을 위한 성공 기준이다. 흔히, 이 계량은 특정한 사용자 작업이나 애플리케이션의 서비스 품질로서 더 정의된다. 대조적으로, 이 활동은, 다른 네트워크 사용자들에 끼치는 영향에 의해 관찰될 수 있고, 구체적으로, 제한된 시스템 자원의 사용량 및 채널 간섭의 생성을 통해 관찰될 수 있다.
패킷들을 선택적으로 폐기함으로써, 용량 및 스펙트럼이 구속된 다중 액세스 통신 시스템의 시스템 성능을 최적화하는 시스템 및 방법을 제공한다. 본 명세서에서 제공하는 시스템 및 방법은 제어 응답을 이용하여 통신 시스템에 변경을 가할 수 있다. 이러한 제어 응답의 일례는, 용량 구속 상태 하에서 네트워크 패킷들의 최적의 폐기(본 명세서에서, "인텔리전트 폐기"(intelligent discard)라고도 함)를 포함한다.
일 양태에 따르면, 네트워크 상태에 응답하여 비디오 송신을 관리하는 시스템은, 비디오 스트림의 각 프레임마다 우선순위 값(priority value)을 결정하도록 구성된 결정 모듈과, 프레임들의 우선순위 값에 적어도 부분적으로 기초하여 하나 이상의 프레임을 폐기하도록 구성된 선택 모듈을 포함하고, 각 프레임은 프레임 타입을 갖고, 각 프레임의 우선순위 값은 상기 프레임 타입에 적어도 부분적으로 기초한다.
추가 일 양태에 따르면, 각 프레임은 슬라이스 타입을 갖는 하나 이상의 슬라이스를 포함하고, 결정 모듈은, 슬라이스 타입에 적어도 부분적으로 기초하여 그 하나 이상의 슬라이스에 대한 우선순위 값을 결정하도록 구성된다. 또한, 선택 모듈은 슬라이스들의 우선순위 값들에 기초하여 하나 이상의 슬라이스를 폐기하도록 구성된다. 폐기된 슬라이스들은 잉여(redundant) 슬라이스들일 수 있다. 또한, 슬라이스들을 교체하는 우선순위 값의 결정은 동적일 수 있다. 추가 일 양태에 따르면, 각 슬라이스는 복수의 데이터 파티션을 포함하고, 각 데이터 파티션은 타입을 갖고, 결정 모듈은, 각 데이터 파티션마다 우선순위 값을 결정하도록 구성되고, 각 데이터 파티션의 우선순위 값은 프레임 타입에 적어도 부분적으로 기초한다.
추가 일 양태에 따르면, 결정 모듈은, 프레임의 슬라이스들에 대한 우선순위 값들에 적어도 부분적으로 기초하여 각 프레임에 대한 우선순위 값을 결정하도록 구성된다.
다른 일 양태에 따르면, 각 슬라이스는 매크로블록 타입을 갖는 하나 이상의 매크로블록을 포함하고, 각 슬라이스의 우선순위는 슬라이스 내의 매크로블록들의 매크로블록 타입들에 적어도 부분적으로 기초하여 결정된다. 대안으로, 각 슬라이스에 대한 우선순위 값은 슬라이스의 크기에 적어도 부분적으로 기초한다. 또한, 각 프레임의 우선순위 값은 프레임의 크기에 적어도 부분적으로 기초할 수 있다. 또한, 각 프레임의 우선순위 값은 인접하는 프레임이 폐기되었는지 여부에 적어도 부분적으로 기초할 수 있다.
추가 일 양태에 따르면, 각 프레임은 매크로블록 타입을 갖는 하나 이상의 매크로블록을 포함하고, 각 슬라이스의 우선순위는 슬라이스 내의 매크로블록들의 매크로블록 타입들에 적어도 부분적으로 기초하여 결정된다.
추가 일 양태는, 네트워크 상태에 응답하여 비디오 송신을 관리하는 시스템에 관한 것으로서, 픽처들의 그룹(group of pictures; GOP)의 각 프레임마다 우선순위 값을 결정하도록 구성된 결정 모듈을 포함하고, 프레임들 중 하나 이상은 디코딩을 위해 다른 프레임에 의존하고, 각 프레임의 우선순위 값은 해당 프레임에 의존하는 프레임들의 개수에 적어도 부분적으로 기초한다.
추가 양태에 따르면, 네트워크 상태에 응답하여 비디오 송신을 관리하는 컴퓨터 구현 방법은, 하나 이상의 디바이스에 송신할 픽처들의 그룹(GOP) 내의 복수의 프레임을 수신하는 단계와, GOP 내의 각 프레임을 송신하는 데 이용가능한 대역폭이 불충분하다고 결정하는 단계와, GOP 내의 각 프레임마다 우선순위 값을 결정하는 단계로서, 프레임들 중 하나 이상은 디코딩을 위해 서로 의존하고, 각 프레임의 우선순위 값은 해당 프레임에 의존하는 프레임들의 개수에 적어도 부분적으로 기초하는 것인, 우선순위 값을 결정하는 단계와, 각 프레임의 우선순위 값에 기초하여 프레임들 중 하나 이상을 폐기하는 단계와, 비폐기 프레임들(non-discarded frames)을 하나 이상의 디바이스에 송신하는 단계를 포함한다.
또 다른 일 양태에 따르면, 네트워크 상태에 응답하여 비디오 송신을 관리하는 컴퓨터 구현 방법은, 하나 이상의 디바이스에 송신할 비디오 스트림 내의 복수의 프레임을 수신하는 단계와, 비디오 스트림 내의 각 프레임을 송신하는 데 이용가능한 대역폭이 불충분하다고 결정하는 단계와, 비디오 프레임 내의 각 프레임마다 우선순위 값을 결정하는 단계로서, 각 프레임은 프레임 타입을 갖고, 각 프레임의 우선순위 값은 프레임 타입에 적어도 부분적으로 기초하는 것인, 우선순위 값을 결정하는 단계와, 각 프레임의 우선순위 값에 기초하여 프레임들 중 하나 이상을 폐기하는 단계와, 비폐기 프레임들을 하나 이상의 디바이스에 송신하는 단계를 포함한다.
본 발명의 다른 특징들과 장점들은, 다음에 따르는 본 발명의 양태들을 예를 들어 예시하는 상세한 설명으로부터 명백하다.
본 발명의 상세는, 그의 구조와 동작의 둘 모두에 관하여, 첨부 도면의 연구 에의해 부분적으로 얻어질 수 있으며, 도면에 있어서 동일한 참조 부호는 동일한 부분을 나타낸다:
도 1은 일 실시예에 따라 본 명세서에서 개시하는 시스템 및 방법이 구현될 수 있는 무선 통신 네트워크의 블록도;
도 2a는 일 실시예에 따라 본 명세서에서 개시하는 시스템 및 방법이 구현될 수 있는 다른 무선 통신 네트워크의 블록도;
도 2b는 일 실시예에 따라 도 3 내지 도 6에 도시한 시스템 및 방법을 구현하는 데 사용될 수 있는 기지국 또는 액세스 포인트의 블록도;
도 3은 일 실시예에 따라 무선 통신 네트워크에서의 간섭 상황의 영향을 완화시키는 시스템의 논리적 블록도;
도 4는 일 실시예에 따라 도 3에 도시한 시스템을 사용하는 시스템 환경 및 무선 주파수(RF) 네트워크의 피드포워드 및 피드백 조절을 생성하는 데 사용될 수 있는 방법의 흐름도;
도 5는 일 실시예에 따라 무선 통신 네트워크에서의 간섭 상황의 영향을 완화시키는 방법의 흐름도;
도 6은 일 실시예에 따라 무선 통신 네트워크에서의 간섭 상황의 영향을 완화시키는 방법의 흐름도;
도 7은 일 실시예에 따라 무선 통신 네트워크에서의 간섭 상황의 영향을 완화시키는 시스템의 논리적 블록도;
도 8a는 일 실시예에 따른 픽처들의 그룹 내의 복수의 프레임의 도면;
도 8b는 일 실시예에 따른 픽처들의 그룹 내의 복수의 프레임의 도면;
도 9는 일 실시예에 따라 픽처들의 그룹 내의 프레임들에 대한 우선순위를 결정하는 방법의 흐름도;
도 10은 일 실시예에 따른 픽처들의 그룹 내의 복수의 프레임의 도면;
도 11은 일 실시예에 따른 픽처들의 그룹 내의 복수의 프레임의 도면;
도 12는 일 실시예에 따른 픽처들의 그룹 내의 복수의 프레임의 도면;
도 13은 일 실시예에 따른 픽처들의 그룹 내의 복수의 프레임의 도면;
도 14는 일 실시예에 따른 픽처들의 그룹 내의 복수의 프레임의 도면;
도 15는 일 실시예에 따라 픽처들의 그룹 내의 프레임들에 대한 부담(burden)을 결정하는 방법의 흐름도;
도 16은 일 실시예에 따른 가중 인자 벡터의 도면;
도 17은 일 실시예에 따른 가중 인자 벡터의 도면;
도 18은 일 실시예에 따른 프레임 부담 테이블 및 프레임 우선순위 벡터의 도면;
도 19는 일 실시예에 따라 픽처들의 그룹 내의 프레임들에 대한 부담을 결정하는 방법의 흐름도;
도 20은 일 실시예에 따른 프레임 부담 테이블 및 프레임 우선순위 벡터의 도면;
도 21은 일 실시예에 따른 가중 인자 테이블의 도면;
도 22는 일 실시예에 따라 프레임의 우선순위를 결정하는 방법의 흐름도;
도 23은 일 실시예에 따라 프레임의 우선순위를 결정하는 방법의 흐름도.
일부 실시예들은 기지국 또는 기타 디바이스에서 구현될 수 있는 다변량 제어 시스템을 위한 방법 및 시스템을 제공한다. 제어 시스템은, 용량 및 스펙트럼 구속형 다중 액세스 통신 네트워크에서의 다양한 간섭 상황들의 영향들을 완화시키도록 구성될 수 있다. 다른 실시예들에서, 제어 시스템은 전체적인 대역폭 요구를 조절하거나 변경하도록 구성될 수 있다. 본 명세서에서 제공하는 시스템 및 방법은 제어 응답을 이용하여 통신 시스템에 변경을 가할 수 있다. 이러한 제어 응답의 일례는, 용량 구속 상태 하에서 용량 구속 상태 하에서 네트워크 패킷들의 최적의 폐기(본 명세서에서, "인텔리전트 폐기"라고도 함)를 포함한다. 일부 실시예들은, 인지된 실제 시스템 처리량을 향상시키도록 패킷들을 선택적으로 폐기함으로써 상호작용 응답을 제공하는 한편, 다른 실시예들은 초과가입(oversubscription)을 완화시키도록 서비스 품질에 대한 데이터 패킷들의 상대적 영향에 기초하여 데이터 패킷들을 선택적으로 폐기함으로써 반응형 응답을 제공하고, 다른 실시예들은 예측되는 초과가입에 기초하여 패킷들을 폐기함으로써 적극적 응답(proactive response)을 제공하고, 다른 실시예들은 이러한 응답들의 조합을 제공한다.
일 실시예에 따르면, 이웃하는 셀들로부터의 간섭에 대하여 강건성을 위해 그리고 이웃하는 셀들에 대한 간섭의 완화를 위해 송신 및 무선 액세스 네트워크(RAN)/무선 주파수(RF) 파라미터들을 최적화할 수 있는 상호작용 응답 기술을 제공한다. 이러한 최적화는, 활성 서비스들의 세트에 대한 처리량 레벨 및 연관된 품질 스코어를 결정하고 고려함으로써 수행된다. 패킷들을 선택적으로 폐기함으로써, 인지된 실제 시스템 처리량이 제어되는 고품질 사용자 경험을 유지할 수 있다.
일 실시예에 따르면, 이웃하는 셀들 간의 간섭을 완화시키도록 RAN/RF 파라미터들을 변경하거나 송신 파라미터들의 수정으로 인해 야기되는 초과가입을 완화시키도록, 선택된 데이터 패킷들의 서비스 품질에 대한 상대적 영향에 기초하여 그 선택된 데이터 패킷들을 폐기할 수 있는 반응형 응답 기술을 제공한다. 가변되는 이용가능 대역폭에 반응하여 패킷들을 반응적으로 폐기함으로써, 소정량의 대역폭에 대하여 인지되는 사용자 경험의 품질을 향상시킬 수 있고, 소정량의 대역폭에 대하여 유지될 수 있는 서비스의 개수를 증가시킬 수 있다.
일 실시예에 따르면, 초과가입을 예측하고 예상되는 초과가입 전에 패킷들 또는 효율적인 폐기를 위한 마킹 패킷들을 선택적으로 폐기함으로써 시스템 처리량 및 사용자 경험의 품질을 개선할 수 있는 적극적 응답 기술을 제공한다. 예상되는 초과가입에 반응하여 패킷들을 적극적으로 폐기함으로써, 소정량의 대역폭에 대하여 인지되는 사용자 경험의 품질을 향상시킬 수 있고, 소정량의 대역폭에 대하여 및 대역폭의 소정량의 변경에 대하여 유지될 수 있는 서비스의 개수를 증가시킬 수 있다. 일 실시예에서, 송신 및 RAN/RF 파라미터들을 최적하도록 패킷들을 적극적으로 선택적으로 폐기하여 이러한 파라미터 변경을 필요로 하는 이벤트를 예상하여 이웃하는 셀들로부터의 간섭에 대한 강건성을 증가시키고 이웃하는 셀들에 대한 간섭을 완화시킬 수 있다. 대역폭 제안 이벤트가 발생하기 전에 인텔리전트 폐기를 적극적으로 적용하고 인텔리전트 폐기를 고려하여 송신 및 RAN/RF 파라미터들을 적극적으로 수정함으로써, 이러한 대역폭 제한 이벤트가 발생할 때까지 인텔리전트 폐기의 적용 및 RAN/RF 파라미터들의 수정을 대기함으로써 얻을 수 있는 것보다, 양호한 사용자 경험 전이를 제공할 수 있다.
일부 실시예들은 기지국에서 구현될 수 있는 다변량 제어 시스템을 위한 시스템 및 방법을 제공한다. 이 제어 시스템은, 용량 및 스펙트럼 구속형 다중 액세스 통신 네트워크에서의 다양한 간섭 상황들의 영향을 완화시키도록 구성될 수 있다. 다른 실시예들에서, 제어 시스템은 전체적 대역폭 요구를 조절하거나 변경하도록 구성될 수 있다.
본 명세서에서 개시하는 시스템 및 방법은 유선 및 무선 기술들을 비롯한 다양한 용량 제한 통신 시스템들에 적용될 수 있지만, 이러한 예로 한정되지는 않는다. 예를 들어, 본 명세서에서 개시하는 시스템 및 방법은 (롱 텀 에볼루션(LTE), LTE Advanced, WiMax를 비롯한) 셀룰러 2G, 3G, 4G, 와이파이(WiFi), 울트라 모바일 브로드밴드(UMB), 케이블 모뎀, 및 기타 유선 또는 무선 기술들과 함께 사용될 수 있다. 특정 실시예들을 설명하도록 본 명세서에서 사용되는 구(phrase)와 용어는 특정한 기술 또는 표준에 적용될 수 있지만, 본 명세서에서 개시하는 시스템 및 방법은 이러한 특정 표준에 한정되지 않는다.
특정 실시예들을 설명하도록 본 명세서에서 사용되는 구와 용어는 특정한 기술 또는 표준에 적용될 수 있지만, 설명하는 방법은 모든 기술에 걸쳐 여전히 적용 가능하다.
일 실시예에 따르면, 패킷들의 인텔리전트 폐기를 포함한, 본 명세서에서 개시하는 시스템 및 방법은, 스케줄링을 수행하는 통신 시스템 내의 임의의 엔티티(entity) 내에서 실시할 수 있다. 이는, 매크로셀, 피코셀, 기업급 펨토셀, 주거급 펨토셀, 중계기의 임의의 형태, 또는 기지국의 다른 임의의 형태에 의한 다운링크 대역폭의 스케줄링을 포함한다. 일 실시예에 따르면, 인텔리전트 폐기는, 사용자 디바이스, 고정형 및 이동형 중계 디바이스들을 비롯하여, 업링크 방향으로 송신을 행하는 디바이스의 임의의 형태에 의해 수행될 수 있다. 일 실시예에 따르면, 인텔리전트 폐기는, 디바이스들의 액션들을 집중적으로 제어하는 코어 네트워크에 내장된 스케줄링 알고리즘에 의해 수행될 수 있다. 일 실시예에 따르면, 인텔리전트 폐기는 인텔리전트 폐기를 행할 수 있는 것으로 알려져 있는 사용자 디바이스 등의 다른 엔티티가 사용할 업링크 대역폭을 할당하는 기지국 등의 엔티티에 의해 예측가능하게 수행될 수 있다. 기지국과 사용자 디바이스는, 사용자 디바이스가 인텔리전트 폐기 기능을 갖는지 여부를 협상할 수 있고, 또는 일부 실시예들에서, 사용자 디바이스가 인텔리전트 폐기 기능을 갖는지는 사용자 디바이스의 모델 식별에 기초하여 결정될 수 있다.
기본 배치
도 1은, 일 실시예에 따라 본 명세서에서 제공하는 시스템 및 방법을 구현할 수 있는 무선 통신 네트워크의 블록도이다. 도 1은 매크로셀, 피코셀 및 기업급 펨토셀을 포함하는 통신 시스템의 통상적인 기본 배치를 도시한다. 통상적인 배치에서, 매크로셀들은, (피코셀과 기업급 또는 주거급 펨토셀을 포함한) 스몰 폼 팩터(small form factor; SFF) 기지국들에 의해 사용되는 하나의 또는 다수의 주파수 채널과는 분리되어 있는 하나의 또는 다수의 주파수 채널 상에서 송수신을 행할 수 있다. 다른 실시예들에서, 매크로셀들과 SFF 기지국들은 동일한 주파수 채널들을 공유할 수 있다. 지리 및 채널 가용성의 다양한 조합들은 통신 시스템의 처리량에 영향을 끼칠 수 있는 다양한 간섭 상황들을 생성할 수 있다.
도 1은 통신 네트워크(100)에서의 통상적인 피코셀 및 기업급 펨토셀 배치를 도시한다. 매크로 기지국(110)은 표준 백홀(170)을 통해 코어 네트워크(102)에 접속된다. 가입자국들(150(1), 150(4))은 매크로 기지국(110)을 통해 코어 네트워크에 접속될 수 있다. 도 1에 도시한 네트워크 구성에서, 오피스 빌딩(120(1))은 커버리지 섀도우(104)를 야기한다. 표준 백홀(170)을 통해 코어 네트워크(102)에 접속될 수 있는 피코국(130)은 커버리지 섀도우(104) 내의 가입자국들(150(2), 150(5))에 커버리지를 제공할 수 있다.
오피스 빌딩(120(2))에서, 기업급 펨토셀(140)은 가입자국들(150(3), 150(6))에 건물내 커버리지를 제공한다. 기업급 펨토셀(140)은 기업 게이트웨이(103)에 의해 제공되는 광대역 접속(160)을 이용함으로써 ISP 네트워크(101)를 통해 코어 네트워크(102)에 접속될 수 있다.
도 2a는 일 실시예에 따라 본 명세서에서 개시하는 시스템 및 방법이 구현될 수 있는 다른 무선 통신 네트워크의 블록도이다. 도 2a는 주거 환경에 배치된 주거급 펨토셀들과 매크로셀들을 포함하는 통신 네트워크(200)에서의 통상적인 기본 배치를 도시한다. 매크로셀 기지국(110)은 표준 백홀(170)을 통해 코어 네트워크(102)에 접속될 수 있다. 가입자국들(150(1), 150(4))은 매크로 기지국(110)을 통해 코어 네트워크에 접속될 수 있다. 주거지(220) 내에서, 주거급 펨토셀(240)은 가입자국들(150(7), 150(8))에 가정용 커버리지(in-home coverage)를 제공할 수 있다. 주거급 펨토셀들(240)은 케이블 모뎀이나 DSL 모뎀(203)에 의해 제공되는 광대역 접속(260)을 이용함으로써 ISP 네트워크(101)를 통해 코어 네트워크(102)에 접속될 수 있다.
도 2b는 액세스 포인트 또는 기지국의 고 레벨 블록도이다. 기지국은 무선 신호들을 송수신하는 모뎀 섹션(272)을 포함한다. 모뎀은 또한 수신 신호의 특성을 측정하고 결정한다. 제어 및 관리 섹션(270)은 일반적으로 기지국의 동작을 담당한다. 본 명세서에서 설명하는 일부 실시예들에서, 제어 및 관리 섹션(270)은 도 3 내지 도 6과 함께 본 명세서에서 설명하는 시스템 및 방법을 구현한다.
간섭 상황
다양한 간섭 상황들로 인해, 통신 네트워크의 인지된 실제 성능이 감소할 수 있다. 예를 들어, 3세대 파트너십 프로젝트(3GPP)는, 본 명세서에 그 전문이 참고로 원용되는 기술 보고서(3GPP TR 25.967)에서 다수의 간섭 상황들을 식별하였다. 간섭 상황들의 일부 예로는, (1) 매크로셀 기지국의 업링크(UL)에 간섭하는 가입자국으로부터 SFF 기지국으로의 UL 송신, (2) 매크로셀 기지국 다운링크(DL)에 간섭하는 SFF 기지국의 DL 송신, (3) SFF 기지국 업링크에 간섭하는 가입자국으로부터 매크로셀 기지국으로의 UL 송신, (4) SFF 기지국 DL에 간섭하는 매크로 기지국의 DL 송신, (5) SFF 기지국의 UL에 간섭하는 가입자국으로부터 SFF 기지국으로의 UL 송신, (6) SFF 기지국 DL에 간섭하는 SFF 기지국의 DL 송신, 및 (7) 다른 기술들에 대한 간섭 및 다른 기술들의 시스템으로부터 간섭이 있다.
회피 및 완화 기술
도 3은 일 실시예에 따라 전술한 바와 같은 용량 및 스펙트럼 구속형 다중 액세스 통신 네트워크에서 다양한 간섭 상황들의 영향들을 완화시키기 위한 다변량 제어 시스템의 기능 요소들의 일례를 도시하는 논리적 블록도이다. 시스템의 기능은 제어 시스템의 기능을 명확하게 예시하도록 도 3에 모듈들로 세분되어 있다. 제어 시스템은, 도 1, 도 2a, 도 2b에 도시한 매크로셀 기지국(110), 피코국(130) 및 주거급 펨토셀(240) 등의 매크로셀 기지국, 피코셀 또는 펨토셀에서 구현될 수 있다. 대안으로, 부분들은 기지국 제어기(BSC)에 또는 코어 네트워크(102)의 다른 요소들에 분포될 수 있다.
일 실시예에서, 시스템은, (1) 간섭 회피 및 (2) 간섭 완화의 경우에 최적의 응답을 제공하도록 구성될 수 있다. 제어 시스템은 RF/RAN 파라미터들을 최적으로 제어함으로써 무선 주파수(RF) 인터페이스를 회피할 수 있다. 또한, 제어 시스템은, 간섭을 회피할 수 없는 경우 또는 간섭 회피나 완화로 인해 대역폭 가용성이 감소하는 경우 패킷 서비스 품질(quality of service; "QoS")을 유지할 수 있다.
일 실시예에 따르면, 제어 시스템은 입력 파라미터들의 다양한 타입들을 사용할 수 있다. 일 실시예에서, 이러한 입력 파라미터들은 정책 파라미터들과 환경 파라미터들로 구분될 수 있다. 정책 파라미터 모듈(310)은 정책 파라미터들을 수신하도록 구성될 수 있고, 환경 파라미터 모듈(320)은 환경 파라미터들을 수신하도록 구성될 수 있다. 정책 파라미터 모듈(310)에 의해 수신되는 정책 파라미터들은 예를 들어 네트워크 제공자에 의해 정의되는 동작 요건들이다. 이러한 정책 파라미터들은 시스템 요건들의 두 개의 그룹으로, 즉, QoS 정책과 간섭 정책으로 세분될 수 있다. 일 실시예에서, 정책 파라미터들은, 시간/날짜에 의한, 서비스 레벨 협의(SLA)에 의한, 수동 정의 QoS 파라미터에 의한, 또는 이들의 조합에 의한, 애플리케이션 레벨에서의 QoS 정책들을 포함할 수 있다. 또한, 정책 파라미터들은, 수신 신호 세기 인디케이터(RSSI), 비트당 에너지 대 잡음 전력 스펙트럼 밀도 비(Eb/No), 캐리어 대 간섭 비(C/I), 잡음 플로어(불필요 신호들과 잡음원의 모두의 합으로부터 생성되는 신호의 측정값) 등의 다양한 간섭 관련 파라미터들, 또는 다른 간섭 관련 파라미터들에 관한 정책들을 포함할 수 있다. 제어 시스템은, 정책 파라미터들을 사용하여 간섭을 회피하도록 취해질 수 있는 액션들의 타입들을 결정할 수 있고 간섭을 회피할 수 없는 경우 간섭을 완화시킬 수 있다.
환경 파라미터 모듈(320)에 의해 수신되는 환경 입력 파라미터들은 시스템 환경과 RF 네트워크의 동작 상태를 설명하는 실시간 정보를 포함한다. 이 정보는, 기지국(예를 들어, 도 1, 도 2a, 도 2b에 예시한 바와 같은 매크로셀, 피코셀 또는 펨토셀)에서 얻을 수 있고 또는 가입자국에 의해 보고될 수 있으며, 또한 이웃하는 셀들에 관한 정보를 포함할 수 있다. 환경 파라미터 모듈(320)은 입력 파라미터들의 두 개의 카테고리로, 즉, 자기 환경 파라미터 및 원격 환경 파라미터로 더 세분될 수 있다. 자기 환경 파라미터는 제어 시스템이 구현되는 국에 관한 또는 이러한 국에 의해 얻어지는 환경 파라미터이다. 예를 들어, 일 실시예에서, 자기 환경 파라미터는 RF 및 백홀 펨토셀 또는 피코셀 포트들의 층 1 내지 7의 파라미터들을 포함할 수 있다. 원격 환경 파라미터는 기지국의 동작 환경에 영향을 끼칠 수 있는 근처의 기지국을 동작시키는 사용자 장비 및/또는 다른 셀들에 관한 것이나 이러한 사용자 장비 및/또는 다른 셀들로부터 얻어지는 것이다. 예를 들어, 일 실시예에서, 원격 환경 파라미터는, 사용자 장비(UE), 코어 네트워크, 및 진화형 노드 B(eNB 또는 eNodeB) 등의 기지국, e(H)NB 디바이스로 총칭되는 진화형 홈 노드 B 디바이스(eHNB 또는 Home eNodeB) 등의 피코국 및 펨토셀에 의해 정의되는 기타 이웃하는 셀들의 층 1 내지 7의 파라미터를 포함할 수 있다.
정책 파라미터와 환경 파라미터로부터, 제어 설정점, 실시간 프로파일, 패턴을 포함한 파라미터들의 추가 세트들을 도출할 수 있다. 제어 설정점 모듈(315)은 네트워크 제공자로부터 정책 파라미터 모듈(310)에 의해 수신되는 정책 입력으로부터 제어 설정점을 도출하도록 구성되거나, 수동으로 도출될 수 있다. 제어 설정점은 제어 루프 타겟 값으로서 사용될 수 있는 양적 파라미터를 포함한다. 이러한 양적 파라미터는 QoS 파라미터 및 간섭 파라미터로 구분될 수 있다. QoS 파라미터의 일부 예로는, 비디오 콘텐츠에 대한, 프레임 크기 및 프레임 레이트, 및 패킷 타입에 의한 프레임 에러 레이트(FER)가 있다. QoS 파라미터의 일부 추가 예로는, 음성 콘텐츠에 대한, 평균 의견 스코어("MOS"), 레이턴시, 지터가 있다. QoS 파라미터의 추가 예로는, 데이터 콘텐츠에 대한 처리량 및 비트 에러 레이트(BER)가 있다. 간섭 관련 파라미터들은, 수신 신호 세기 인디케이터(RSSI), 비트당 에너지 대 잡음 전력 스펙트럼 밀도 비(Eb/No), 캐리어 대 간섭 비(C/I), 잡음 플로어(불필요 신호들과 잡음원의 모두의 합으로부터 생성되는 신호의 측정값) 등의 다양한 간섭 관련 파라미터들을 포함할 수 있지만, 이러한 예로 한정되지는 않는다. 제어 설정점들은, 시스템 환경과 RF 네트워크의 실시간 프로파일(325)에 기초하여 통신 네트워크의 현재 상태를 평가하도록 그리고 피드백 신호를 생성해서 네트워크의 동작 상태를 조절해야 하는지를 결정하도록 제어 시스템의 평가 모듈(330)에 의해 사용될 수 있다.
실시간 프로파일 모듈(325)은 환경 파라미터 모듈(320)에 의해 수신되는 환경 입력 파라미터들에 기초하여 통신 시스템의 실시간 프로파일을 생성하도록 구성된다. 일 실시예에서, 실시간 프로파일은 통신 네트워크의 현재 동작 상태를 반영하는 양적 파라미터들을 포함한다. 실시간 프로파일은 QoS 및 간섭 관련 파라미터들을 포함할 수 있다. QoS 관련 파라미터들의 일부 예로는, BER, 처리량, 레이턴시/지터, 프로토콜 관련 파라미터들, 및 애플리케이션 관련 파라미터들이 있다. 간섭 관련 파라미터들은, 수신 신호 세기 인디케이터(RSSI), 비트당 에너지 대 잡음 전력 스펙트럼 밀도 비(Eb/No), 캐리어 대 간섭 비(C/I), 잡음 플로어(불필요 신호들과 잡음원의 모두의 합으로부터 생성되는 신호의 측정값) 등의 다양한 간섭 관련 파라미터들을 포함할 수 있지만, 이러한 예로 한정되지는 않는다. 일 실시예에 따르면, 실시간 프로파일은 데이터그램, 스프레드시트, 또는 통신 네트워크의 현재 동작 상태의 다른 표현을 포함할 수 있다.
패턴 모듈(335)은 피드포워드 제어 응답들을 생성하는 데 사용될 수 있는 이력 양적 파라미터 패턴들(historical quantitative parameter patterns)의 세트를 포함하는 패턴들을 생성하도록 구성된다. 패턴들은, 환경 파라미터 모듈(320)에 의해 수신되는 환경 파라미터들 및 실시간 프로파일 모듈(325)에 의해 생성되는 실시간 프로파일로부터 도출될 수 있다. 이러한 패턴들은 네트워크에 사용 패턴을 반영할 수 있다. 예를 들어, 일 실시예에서, 패턴들은 날짜 및/또는 시간, 특정 애플리케이션이나 프로토콜, 및/또는 특정 UE에 관한 특정 드라이버들을 포함할 수 있다.
제어 설정점 모듈(315)에 의해 생성되는 제어 설정점들 및 실시간 프로파일 모듈(325)에 의해 생성되는 실시간 프로파일은, 실시간 프로파일에 표시된 통신 네트워크의 현재 동작 파라미터들을 제어 설정점들과 비교하여 네트워크의 현재 동작 상태가 정책 파라미터들에 포함된 동작 요건들을 충족하는지를 결정하는 평가 모듈(330)에 의해 평가될 수 있다. 네트워크의 현재 동작 상태가 정책 파라미터들에 기술된 요건을 충족하지 않으면, 평가 모듈(330)은 통신 시스템의 동작 파라미터들을 조절할 필요가 있음을 가리키는 피드백 신호를 생성할 수 있다.
제어 응답 모듈(340)은 평가 모듈(330)로부터 피드백 신호를 수신하도록 구성된다. 제어 응답 모듈(340)(본 명세서에서는 최적화 모듈이라고도 함)은, 사업자 정책의 요건들을 충족하고자 통신 네트워크의 동작 파라미터들을 최적화하도록 구성된다. 제어 응답 모듈(340)은 평가 모듈(330)로부터 수신되는 피드백 신호에 기초하여 제어 신호를 생성하도록 구성될 수 있다. 제어 신호는 두 개의 카테고리, 즉, "자기"(self) 및 "원격"(remote)으로 분류된다. 자기 제어 신호는 기지국의 동작 파라미터를 변경하도록 기지국 자체(e(H)NB)에 적용될 수 있고, 원격 제어 신호는 원격 디바이스 또는 네트워크의 구성요소의 동작 파라미터들을 변경하도록 UE, 코어 네트워크, 및 기타 e(H)NB를 포함한, 원격 디바이스 또는 네트워크의 구성요소에 적용될 수 있다.
도 4는 일 실시예에 따라 도 3에 도시한 시스템을 이용하여 RF 네트워크 및 시스템 환경의 피드포워드 및 피드백 조절을 생성하는 데 사용될 수 있는 방법의 흐름도이다. RF 네트워크 및 시스템 환경의 현재 상태 또는 새로운 현재 상태를 나타내는 갱신된 환경 입력들을 얻는다(단계 410). 환경 입력들은 통신 시스템의 환경 파라미터 모듈(320)에 의해 생성된 환경 파라미터들에 대응한다. 전술한 바와 같이, 환경 파라미터들은, 피코셀 또는 펨토셀, 가입자국과, 매크로셀, 피코셀, 펨토셀을 포함하는 이웃하는 셀 모두로부터 얻어진 RF 네트워크 및 시스템 환경에 관한 실시간 정보를 포함할 수 있다. 실시간 프로파일은 또한 갱신된 환경 입력으로부터 도출된다(단계 415). 일 실시예에서, 실시간 프로파일은 실시간 프로파일 모듈(325)에 의해 생성된 실시간 프로파일에 대응하며, 단계(410)에서 얻어진 환경 입력 파라미터들로부터 생성될 수 있다.
실시간 프로파일이 제어 설정점 모듈(315)에 의해 생성된 설정점들과 일치하는지를 결정할 수 있다(단계 420). 전술한 바와 같이, 제어 설정점들은 제어 루프 타겟 값들로서 사용될 수 있는 양적 파라미터들을 포함한다. 제어 설정점들은 네트워크 제공자에 의해 정의된 정책 파라미터들로부터 도출될 수 있다. 실시간 프로파일이 제어 설정점들과 일치하지 않으면, RF 네트워크 및 시스템 환경에 관하여 수집된 실시간 정보는, 네트워크의 동작 상태가 네트워크 제공자의 사업자 정책으로부터 돌출된 제어 설정점들로부터 이탈되었음을 가리킨다. 이에 응답하여, 피드백 조절 제어 신호를 생성(단계 440)하여 통신 네트워크를 정책 파라미터와 일치하는 동작 상태로 향하게 할 수 있다.
패턴 모듈(335)은 실시간 프로파일 및 환경 입력 파라미터들로부터 패턴들을 도출할 수 있다(단계 425). 일 실시예에서, 패턴들은 이력 양적 파라미터 패턴들의 세트를 포함한다. 패턴이 변경되었는지를 결정하고(단계 430), 패턴이 변경되었다면, 이력 양적 파라미터 패턴들을 이용하여, 통신 네트워크를 소망하는 상태로 향하게 하는 데 사용될 수 있는 다양한 동작 파라미터들을 조절하는 데 사용될 수 있는 피드포워드 제어 응답을 생성할 수 있다(단계 435).
단계(440)에서 생성된 피드백 신호 및 단계(435)에서 생성된 피드포워드 신호를 이용하여, UE, 코어 네트워크, 및 기타 e(H)NB를 비롯한 '자기' e(H)NB 및 원격 디바이스들에 적용될 수 있는 제어 신호들의 세트를 생성할 수 있다(단계 450).
네트워크 제공자가 사업자 정책을 변경하였는지를 결정한다(단계 470). 네트워크 사업자가 정책 파라미터들을 변경하였다면, 단계(410)로 복귀하기 전에 사업자 정책으로부터 제어 설정점 모듈(315)에 의해 새로운 설정점을 생성할 수 있다(단계 475). 변경하지 않았다면, 방법은 환경 입력이 수집되는 단계(410)로 복귀한다.
입력
SFF 기지국은, 제어 응답 모듈(340)을 위한 피드백 및 피드포워드 신호들을 생성하는 데 사용될 수 있는 다양한 환경 정보에 대한 액세스를 가질 수 있다. 이 정보는, 패턴 모듈(335)에 의해 생성되는 패턴 및 실시간 프로파일 모듈(325)에 의해 생성되는 실시간 프로파일을 생성하는데 사용될 수 있는 환경 파라미터들(320)의 일부일 수 있다. 이 정보는 도 4에 도시한 방법의 단계(410) 동안 SFF 기지국에 의해 수집될 수 있다. 예를 들어, 일 실시예에 따르면, 통상적으로 SFF 기지국이 이하의 환경 입력 데이터를 이용(감지, 보고 등)할 수 있다. 즉, (1) 매크로로부터의 신호 세기(BTS), (2) 다른 SFF 기지국(들)으로부터의 신호 세기, (3) 매크로 기지국 및 SFF 기지국이 공동 채널(또는 인접하는 채널)인지에 관한 인식, (4) 이웃하는 셀 식별 데이터, 및 (5) 매크로 네트워크 특정 정보 및 시스템 파라미터 임계값이다. SFF 기지국에 의해 이용가능한 추가 정보의 일부 예로는, DL 공동 채널 캐리어 RSSI, DL 인접 채널 캐리어 RSSI, 공통 파일럿 채널(CPICH) 칩당 에너지 대 총 잡음 전력(Ec/No), 수신된 총 광대역 전력(RTWP), 공중 육상 이동 네트워크(PLMN) ID, 셀 ID, 로컬 에리어 코드(LAC), 라우팅 에리어 코드(RAC), 스크램블링 코드, 공동 채널 CPICH 수신 신호 코드 전력(RSCP), 인접 채널 CPICH RSCP, P-CPICH Tx 전력, 매크로 셀 데이터 레이트, 및 매크로 셀 데드존 커버리지가 있다. 매크로 셀 데이터 레이트 및 매크로 셀 데드존 커버리지는, 매크로 국 부하, 활성 SFF 기지국의 개수, SFF 기지국부터 매크로국까지의 거리, 페이딩 환경, 시각을 비롯한 다양한 정보를 고려할 수 있다. SFF 기지국은, 타겟 SNR, 측정된 SNR, 및 수신 전력을 포함한, SFF 기지국이 이용할 수 있는 매크로국 파라미터 정보를 가질 수 있다.
조절
다음에 따르는 항목들은 감지를 통해 수신되는 환경 정보에 응답하여 SFF 기지국에 의해 단계(450)에서 조절될 수 있는 파라미터들의 타입의 일부 예들이다. 즉, (1) DL 전력, (2) UL 잡음 상승 타겟 (UL 스케줄러), (3) UL 전력, (4) 제어 채널/데이터 채널 전력 비, (5) 수신기 이득, (6) 캐리어 주파수, (7) DL 스크램블링 코드, (8) LAC 및 (9) RAC이다.
추가 입력
SFF 기지국은 추가 입력 정보에 대한 액세스를 가질 수 있다. 이 정보는 실시간 프로파일(325)과 패턴(335)을 생성하는데 사용될 수 있는 환경 파라미터들(320)의 일부일 수 있다. 이 정보는 도 4에 도시한 방법의 단계(410) 동안 SSF 기지국에 의해 수집될 수 있다. 예를 들어, 실시간 트래픽 메트릭 등의 추가 입력도 SFF 기지국에 의해 이용가능하며, 실시간 프로파일(325)을 생성하는 데 사용될 수 있다. 예를 들어, 활성 UE의 개수, 유휴 UE의 개수, UE 이동도 및 및 위치 변경의 인디케이터, 통합 UL 사용량, 통합 DL 사용량, 층 4-7 프로파일(음성, 비디오, 웹, FTP 등), 백홀 용량, 및 접속당(per connection) BER 등의 실시간 트래픽 메트릭이 있다. 접속당 BER 데이터는, 하이브리드 자동 반복 요청(HARQ)이나 기타 재시도 메커니즘 전에 또는 HARQ나 기타 재시도 메커니즘 후에 얻을 수 있다. 일부 실시예들에서, 접속당 BER은 HARQ 없이 얻을 수 있다. 일부 실시예들에서, 접속당 BER은 재시도에 관한 통계를 포함할 수 있다.
시각 데이터, 요일 데이터, 현지 공휴일 데이터, 네트워크에 들어오는 기지/미지의 UE, 통상적인 사용량 레이트, 및 통상적인 사용량 지속 기간 등의 (패턴(335) 등의) 이력 패턴 데이터도 SFF 기지국에 의해 이용가능하다. 이러한 이력 데이터는 패턴(335)을 생성하는 데 사용될 수 있고, 이 패턴은 전술한 바와 같이 피드포워드 제어 신호를 생성하는 데 사용될 수 있다.
QoS 요건 데이터, 우선순위 데이터, 패킷 검사 데이터 및 어드밴스트 안테나 입력 등의 정책 입력 데이터도 SFF 기지국에 의해 이용가능하다. 이 정책 정보는 전술한 사업자 정책 데이터(310)의 일부일 수 있다. QoS 요건 데이터는 지연 허용 데이터, 지터 허용 데이터, BER/PER 허용 데이터, 최소 승인 레이트 데이터, 및/또는 기타 QoS 관련 데이터를 포함할 수 있다. 우선순위 입력 데이터는, 사용자들 간의, 서비스의 클래스들 간의, 접속들 간의 및/또는 서비스의 동일한 클래스로부터의 패킷들 간의 우선순위에 관한 데이터를 포함할 수 있다. 패킷 검사 데이터 및 어드밴스트 안테나 입력 데이터도 SFF 기지국에 의해 이용가능하다.
조절된 추가 파라미터
초과가입을 개선하고자 단계(450)에서 추가 파라미터들을 조절할 수 있다. 일 실시예에서, 변조 및 코딩, 서브채널화(subchannelization), 프레임 내 시간, 서브채널 및 타임 호핑, 다중 입력 다중 출력(MIMO) 파라미터, 빔포밍 등의 RAN/RF 파라미터들은 통신 시스템에 대한 초과가입을 개선하는 데 사용될 수 있다. 다른 일 실시예에서, 트래픽 정책은 초과가입을 개선하는 데 사용될 수 있다. 레이트 한정, 패킷 차단, 패킷 드롭 및/또는 인텔리전트 폐기를 포함한 트래픽 정책의 다양한 타입들을 사용할 수 있다. 초과가입을 개선하는 데 사용될 수 있는 인텔리전트 폐기를 위한 다양한 기술들을 후술한다.
성능 최적화
일 실시예에 따르면, 설명한 시스템 및 방법은, QoS, 우선순위 및 정책(최적화 모듈이라고도 함)에 기초하여 확장된 RAN/RF 파라미터들을 가변함으로써 성능을 최적화하는 최적화 모듈을 포함한다. 일 실시예에 따르면, 최적화 모듈은 매크로셀, 피코셀 또는 펨토셀 기지국을 포함한 기지국에서 구현될 수 있다.
일 실시예에서, 최적화 모듈은 서비스의 클래스(CoS) 또는 접속마다 BER/PER 또는 기타 품질 메트릭 레벨을 확립하도록 구성된다. 일 실시예에서, 품질 메트릭은 기지/미지의 사용자 장비에 기초하여 우선순위화될 수 있고, 기지의 사용자 장비는 미지의 사용자 장비보다 우선하는 순위를 갖는다. 사용자 장비는 이동국, 전이국, 및 정지 가입자국을 포함할 수 있다. 다른 일 실시예에서, 품질 메트릭은 특정 UE 아이덴티티(identity)에 기초하여 우선순위화될 수 있고, 또 다른 일 실시예에서, 품질 메트릭은 애플리케이션에 기초하여 우선순위화될 수 있다.
일 실시예에 따르면, 최적화 모듈은 서비스의 클래스 또는 접속마다 요구/소망 처리량을 확립하도록 구성된다. 요구/소망 처리량은, 선택 사항으로, UE가 기지 또는 미지의 것인지에 기초하여, 특정 UE 아이덴티티에 기초하여, 또는 특정 애플리케이션에 기초하여 수정될 수 있다.
일 실시예에 따르면, 최적화 모듈은, 표준 기반 방안을 사용하여 베이스라인 간섭 상황 및 베이스라인 RAN/RF 파라미터들을 도출하도록 구성된다.
일 실시예에 따르면, 베이스라인 간섭 상황 및 베이스라인 RAN/RF 파라미터들은 통신 네트워크에서 상태들이 변경될 때마다 실시간으로 변경될 수 있다. 예를 들어, 변경되는 상태들 중 일부로는, 활성/비활성 UE들의 개수, 이웃하는 셀들의 트래픽, 왕복 지연, RSSI, 수신 빔포밍을 통한 트랙킹 등의 UE의 위치 변경의 인디케이터가 있다.
일 실시예에 따르면, 최적화 모듈은 상태가 변경됨에 따라 실제 상황 및 실제 RAN/RF 파라미터들을 실시간으로 변경할 수 있다. 예를 들어, 일 실시예에서, 서비스의 품질 메트릭 또는 BER이 임계값 미만으로 떨어지면, 요구되는 서비스의 물리적 파라미터들은 베이스라인 값보다 강건하도록 설정될 수 있다. 예를 들어, MIMO는 변경될 수 있고, 빔포밍 어드밴스트 안테나 기술들이 적용될 수 있다. 또한, 변조 및 코딩 변경을 행하여 강건성을 개선할 수 있다. 대안으로, 베이스라인 간섭 상황 및/또는 RAN/RF 파라미터들을 초과하는지 여부를 결정할 수 있다. 예를 들어, 이러한 결정은, 감지 데이터, 중앙 제어기로부터의/중앙 제어기와의 협상에 의한 승인, 이웃하는 BTS로부터의/이웃하는 BTS와의 협상에 기초할 수 있고, 또는 간섭을 최소화하도록 공간 멀티플렉싱(빔포밍 등)을 이용한다. 대안으로, 정기적인 간섭을 회피하도록 프레임에서의 시간 위치 및 서브채널(예를 들어, 직교 주파수 분할 멀티플렉싱(OFDM) 심볼, 시간 슬롯 등)을 선택할 수 있다. 대안으로, 프레임에서의 시간 위치 및 서브채널은, 간섭을 통계적으로 회피하도록 또는 잠재적으로 야기되는 간섭을 선택적으로 증가시키지만 영향의 랜덤화(randomization)를 통해 완화시키도록 랜덤화될 수 있다.
일 실시예에서, 요구가 새로운 최대 통합 처리량(활성 및 유휴 UE들을 관리하기 위한 대역폭을 포함한 DL 또는 UL)을 초과하면, 최적화 모듈은 초과가입을 완화시키도록 조치를 취할 수 있다. 일 실시예에서, 지연 허용 트래픽은 요구를 일시적으로 감소시키도록 지연될 수 있다. 예를 들어, 한 가지 방안은 라이브 비디오 등의 콘텐츠를 지연 및 버퍼링하는 것을 포함한다. 라이브 비디오는, 지연의 변동(지터)이 지연/지터 버퍼의 용량/시간 제약 내에 남아 있는 한 지연 및 버퍼링될 수 있다. 다른 일 실시예에서, "추후 사용을 위한 다운로드"의 상당한 지연을 이용하여 네트워크에 대한 요구를 감소시킨다. 예를 들어, 일 실시예에서, 콘텐츠가 수신될 때 콘텐츠로서 소모되지 않고 있는 음악 및/또는 비디오 콘텐츠(예를 들어, 넌스트리밍 콘텐츠)의 다운로드는, 네트워크에 대한 요구가 감소될 때까지 일시적으로 연기될 수 있다.
다른 일 실시예에서, 요구가 새로운 최대 통합 처리량을 초과하면, 최적화 모듈은 서비스 내의 프레임들을 선택적으로 폐기하여 네트워크에 대한 요구를 감소시킬 수 있다. 예를 들어, 일부 무빙 픽처 엑스퍼트 그룹(MPEG) 프레임들은 다른 MPEG 프레임들보다 덜 중요하며, 통신 시스템에 대한 요구를 감소시키기 위해 선택적으로 폐기될 수 있다. 또 다른 예에서, 서비스를 위한 최소 허용 가능 레이트를 초과하는 패킷들을 폐기하여 요구를 감소시킬 수 있다.
또 다른 일 실시예에서, 요구가 새로운 최대 통합 처리량을 초과하면, 호출 수락 제어(CAC)를 이용하여 서비스를 감소시킬 수 있다. 일부 실시예들에서, 서비스들은 우선순위에 기초하여 감소될 수 있으며, 일부 실시예들에서는, 서비스들이 애플리케이션에 기초하여 감소될 수 있다.
일 실시예에 따르면, 요구가 새로운 최대 통합 처리량을 초과하면 취해지는 다양한 완화 액션들은, 상태들이 개선되는 경우 역으로 될 수 있다. 예를 들어, 일 실시예에서, 히스테리시스를 이용하여 반응을 매끄럽게 할 수 있다.
도 5는 일 실시예에 따라 QoS, 우선순위, 및 정책에 기초하여 확장된 RAN/RF 파라미터들을 변경함으로써 성능을 최적화하도록 전술한 최적화 모듈에 의해 구현될 수 있는 방법을 도시하는 흐름도이다. 일 실시예에서, 도 5에 도시한 방법은 도 3에 도시한 제어 시스템에 의해 구현될 수 있다. 일 실시예에서, 도 5의 방법은 도 4의 단계(450)에서 구현될 수 있다.
방법은 단계(501)에서 시작하여, 시스템의 RAN/RF 양태들(단계 510, 512, 514) 및 시스템의 QoS 및 트래픽 양태들(단계 520, 522, 524, 526)을 병행하여 결정한다.
단계(510)에서, 베이스라인 간섭 상황은 도출되고 감시되며, RAF/RF 파라미터 설정을 위한 베이스라인이 생성된다. 일 실시예에서, 베이스라인 간섭 상황을 도출하는 데 사용되는 입력은, 3GPP TS 25.967에서 제시된 입력 등의 통상적인 입력, 및 이 문헌에서 제시된 바와 같은 추가 입력, 또는 이들 모두를 포함할 수 있다. 조절된 RAN/RF 파라미터는, 3GPP TS 25.967에서 제시된 입력 등의 통상적인 입력, 및 이 문헌에서 제시된 바와 같은 추가 RAN/RF 파라미터, 또는 이들 모두를 포함할 수 있다. 일 실시예에서, 단계(510)는 평가 모듈(330)에 의해 수행될 수 있다.
단계(512)에서는, RF 네트워크와 시스템 환경의 현재 상태를 나타내는 RAN/RF 파라미터들 및 간섭 상황에 영향을 끼치는 인자들 중 임의의 것이 변경되었는지를 실시간으로 결정한다. 이러한 인자들이 변경되지 않았다면, 이러한 병행 활동은 방법의 단계(530)로 계속 진행한다. 인자들이 변경되었다면, 방법은 관찰된 변경을 고려하여 베이스라인 간섭 및 RAN/RF 파라미터들을 수정하는 단계(514)로 진행하고, 방법은 결정 단계(530)로 진행한다. 일 실시예에서, 단계(512)는 평가 모듈(330)에 의해 수행될 수 있고, 단계(514)는 제어 응답 모듈(340)에 의해 수행될 수 있다.
개별적인 접속 및 서비스의 클래스에 대한 영향을 관리하고 역으로 개별적인 서비스 및 이들의 연관된 서비스의 클래스의 인터페이스 환경에 대한 영향을 관리하는 프로세스는 단계(510)와 병행하여 시작될 수 있다. 단계(520)에서는, 서비스의 클래스마다 또는 개별적인 서비스나 접속마다 최대 또는 타겟 비트 에러 레이트(BER) 또는 패킷 에러 레이트(PER)(또는 다른 품질 메트릭)를 확립한다. 각각의 개별적인 서비스 또는 접속의 실제 BER, PER, 또는 다른 품질 메트릭을 감시할 수 있다. 네트워크 제공자에 의해 제공되는 사업자 정책 정보(310)에 기초하여 최대 또는 타겟 BER 및 PER 값들을 결정할 수 있다. 또한, 단계(520)에서, 서비스의 타겟 또는 처리량 요구도 결정할 수 있다. 이러한 처리량 타겟들은, 처리량의 서로 다른 레벨들을 필요로 하는 QoS의 다수 레벨들에 대응하는 다수 레벨들을 가질 수 있다. 또한, 처리량 타겟들은 통신 프로토콜의 다양한 층들에서 사용되는 애플리케이션 또는 송신 메커니즘의 인식에 기초하여 예상 재송신을 고려할 수 있다. 일 실시예에서, 단계(520)는 제어 설정점 모듈(315)에 의해 수행될 수 있다.
단계(522)에서는, BER 또는 PER 등의 실제 에러 레이트 또는 다른 실제 품질 메트릭이 단계(510)에서 결정된 접속에 대한 타겟 임계값을 초과하는지를 결정한다. BER 또는 다른 품질 메트릭이 접속에 대한 타겟 임계값을 초과하면, 방법은 결정 단계(524)로 진행하여 보정 액션을 취하는 프로세스를 개시한다. 이와 달리, 품질 메트릭이 타겟보다 나쁘지 않으면, 방법은 결정 단계(530)로 진행한다. 일 실시예에서, 단계(522)는 평가 모듈(330)에 의해 수행될 수 있다.
단계(524)에서는, 이웃하는 셀들 내에서 활성 상태인 서비스들에 대한 더욱 큰 간섭을 야기할 수 있는 베이스라인 간섭 상황 및 베이스라인 RAN/RF 파라미터들을 초과할 수 있는 방식으로 영향을 받은 서비스 제공자가 운용하는 것이 허용될 수 있는지를 결정한다. 예를 들어, 송신 전력의 일시적인 약간의 상승(예를 들어, 0.5dB)이 이웃하는 셀들 내에서의 서비스에 대한 간섭의 허용 가능 증가에 더해질 수 있다. 영향을 받은 서비스 제공자가 베이스라인 간섭 상황 및 베이스라인 RAN/RF 파라미터들을 초과할 수 있는 방식으로 운용하는 것이 허용된다면, 방법은, 서비스를 위한 개선된 QoS에 대한 필요를 수용하도록 베이스라인 간섭 상황 및 베이스라인 RAN/RF 파라미터들을 일시적으로 조절하는 단계(514)로 진행한다. 일 실시예에 따르면, 이러한 조절은 영향을 받은 서비스 또는 접속을 위해서만 허용될 수 있으며, 또는 셀을 위해 전체적으로 허용될 수 있다. 일 실시예에서, 단계(524)는 평가 모듈(330) 및/또는 제어 응답 모듈(340)에 의해 수행될 수 있다.
결정 단계(524)에서, 베이스라인 간섭 상황이 초과될 수 없다고 결정하면, 방법은, 현재의 베이스라인 간섭 상황을 침해하지 않고 타겟 BER/PER 또는 품질 메트릭을 달성하도록 서비스의 송신 파라미터들을 수정하는 단계(526)로 진행한다. 일 실시예에서, 이는 변조 및 코딩, 송신 전력 또는 다른 조절가능 송신 파라미터들 중 임의의 것의 변경을 포함할 수 있다. 일 실시예에서, 단계(526)는 제어 응답 모듈(340)에 의해 수행될 수 있다.
일 실시예에 따르면, 파라미터들을 조절하는 경우, 요구를 충족하기 위한 대역폭 요건이 셀의 현재의 이용가능한 통합 처리량을 초과할 수 있는 가능성이 있다. 따라서, 방법의 병행 경로 모두는, 그 요구가 현재의 이용가능한 통합 처리량을 초과하는지를 결정하는 결정 단계(530)로 진행한다. 셀의 현재의 이용가능한 통합 처리량이 초과되지 않으면, 방법은 단계(501)로 복귀하여 계속 반복할 수 있다. 초과하면, 방법은 단계(501)로 복귀하여 반복하기 전에 단계(540)로 계속 진행한다. 단계(540)에서는, 초과가입을 완화시키는 방법을 선택하고 적용한다. 초과가입을 완화시키기 위한 여러 방법들을 후술한다. 일 실시예에서, 단계들(530, 540)은 제어 응답 모듈(340)에 의해 수행될 수 있다.
일 실시예에 따르면, 도 5에 도시한 방법은, 예를 들어, 주파수 분할 듀플렉스(FDD) 시스템에서 독립적으로 동작하는 업링크 인스턴스 및 다운링크 인스턴스를 포함할 수 있다. 역으로, 다른 실시예들에서, 업링크 및 다운링크 인스턴스들은 업링크 및 다운링크가 동일한 주파수에 있는 시분할 듀플렉스(TDD) 시스템에서 정보를 공유할 필요가 있을 수도 있으며, 이에 따라, 소정의 상황에서의 간섭에 기여할 수도 있다. 이는 업링크/다운링크 비를 동적으로 적응시키는 TDD 시스템의 경우에 특히 그러할 수 있다.
일 실시예에 따르면, 최적화 모듈은 또한 예상되는 적응을 수행하여 잠재적 초과가입을 감소시키도록 이력 데이터에 기초하여 성능을 최적화하는 다른 방법을 구현할 수 있다. 일 실시예에 따르면, 최적화 모듈은 사업자 정책(310)을 갱신하는 데 사용될 수 있는 이러한 제2방법을 구현할 수 있다. 간섭의 이력은 감지를 통해 및/또는 다른 네트워크 요소들(예를 들어, 코어 네트워크, BTS, UE)로부터 수신되는 공유 메트릭의 사용을 통해 구축될 수 있다. 간섭 데이터는 다양한 시간 프레임들에 대한 간섭 패턴들의 픽처를 구축하기 위해 날짜 및/또는 시간에 의해 그룹화될 수 있다. 예를 들어, 간섭 데이터는, 시각에 의해, 요일에 의해, 또는 데이터를 공휴일이나 비공휴일로 마킹함으로써 그룹화될 수 있다. 감지 및/또는 공유 메트릭은 또한 SFF 기지국의 고유한 셀 및/또는 이웃하는 셀을 위한 트래픽 메트릭을 포함할 수 있다. 셀은 또한 더욱 최근의 데이터에 더욱 높은 중요도를 부여하도록 가중 평균화, 지수 평균화, 또는 다른 일부 방법을 사용하는 "메모리 트레일 오프(memory trail off)를 이용한 갱신"을 포함할 수 있다.
구축된 간섭의 이력에 기초하여 선제 결정을 내릴 수 있다. 예를 들어, 소정의 엄격한 CAC, 정책, 및/또는 전력 제어가 초과가입의 가능성을 감소시키는 데 일조할 수 있는지를 결정할 수 있다. 일 실시예에서, 마찬가지로 강건성 대 BER/PER를 트레이드 오프할지를 결정할 수 있다.
일 실시예에 따르면, 예상하지 못한 사용 패턴이 제2방법에서 설명한 예측성 간섭 방법을 방해하는 경우에, 도 5에 도시하고 전술한 제1방법에 기초한 실시간 감시를 이용할 수 있다. 일 실시예에서, 예측 데이터는 베이스라인 상황에 사용될 수 있고, 제1방법은 시스템의 실시간 최적화에 사용될 수 있다. 다른 일 실시예에서, 제2방법을 이용하여 생성된 예측 데이터는 사업자 정책(310)을 갱신하는 데 사용될 수 있고, 제1방법은 갱신된 정책을 적용하는 데 사용될 수 있다.
인텔리전트 폐기
도 5를 참조해 보면, 단계(526)에서 송신 파라미터들의 수정에 의해 야기되거나 단계(514)에서 간섭 상황 및 RAN/RF 파라미터들을 변경함으로써 야기되는 초과가입을 완화시키도록 인텔리전트 폐기를 알고리즘 단계(540)의 기술들 중 하나로서 이용할 수 있다. 이는 인텔리전트 폐기의 반응 형태이다. 대안으로, 이용가능한 인텔리전트 폐기 기술들의 인식을 이용하여, 단계(520)에서의 처리량 레벨 타겟, 단계(526)에서의 송신 파라미터 수정, 및 단계(514)에서의 간섭 상황 및 RAN/RF 파라미터들에 영향을 끼칠 수 있다. 이는 인텔리전트 폐기의 상호작용 형태이다. 상호작용 형태는, 다른 시스템 정보를 이용하여 대역폭의 미래의 초과가입을 예측함으로써 더욱 적극적으로 될 수 있다.
일 실시예에 따르면, 스케줄링을 수행하는 통신 네트워크의 임의의 엔티티에 의해 인텔리전트 폐기를 실시할 수 있다. 이는, 매크로셀, 피코셀, 기업급 펨토셀, 주거급 펨토셀, 중계기를 포함하는 기지국의 임의의 형태에 의한 다운링크 대역폭의 스케줄링 또는 스케줄링의 다른 임의의 형태를 포함할 수 있다. 인텔리전트 폐기는, 고정형과 이동형 모두의 사용자 디바이스들 및 중계 디바이스들을 포함하는, 업링크 방향으로 송신을 행하는 디바이스의 임의의 형태에 의해 수행될 수 있다. 일 실시예에서, 인텔리전트 폐기는, 디바이스들의 액션들을 집중적으로 제어하는 코어 네트워크에서 구현되는 스케줄링 알고리즘에 의해 수행될 수 있다. 다른 일 실시예에서, 인텔리전트 폐기는, 또한, 인텔리전트 폐기를 행할 수 있는 사용자 디바이스 등의 다른 엔티티가 사용할 업링크 대역폭을 할당하는 기지국 등의 엔티티에 의해 예측가능하게 수행될 수 있다. 기지국과 사용자 디바이스는 사용자 디바이스가 인텔리전트 폐기 기능을 갖고 있는지 여부 또는 사용자 디바이스의 모델 식별에 기초하여 사용자 디바이스가 인텔리전트 폐기 기능을 갖는지를 알 수 있는지 여부를 협상할 수 있다. 일 실시예에 따르면, 인텔리전트 폐기를 행할 수 있는 네트워크의 다른 엔티티가 사용할 대역폭을 할당하는 기지국 등의 엔티티가 사용자 디바이스 등의 그 다른 엔티티와 협동할 수 있는 이러한 방안을 협동형 인텔리전트 폐기라 칭할 수 있다.
반응형 인텔리전트 폐기
도 5의 단계(530)에서는, 대역폭에 대한 애플리케이션 층 처리량 요구가 이용가능한 통합 처리량을 현재 초과하는지 여부 또는 특정 세션이나 접속이 그 특정 세션이나 접속의 할당된 처리량을 초과하고 있는지를 결정한다. 예를 들어, 단계(520)에서, 처리량 레벨 타겟은 관심 대상인 기지국에 의해 서비스받고 있는 활성 접속에 대하여 확립될 수 있다. 이러한 타겟 레벨들은 초당 비트 또는 초당 바이트 등의 이러한 양적 용어들로 표현될 수 있다. 일 실시예에서, 이러한 타겟 레벨들은 재송신을 위한 허용을 포함할 수 있다. 단계(526)에서 선택된 송신 파라미터들 및 단계들(510, 514)에서 선택된 RAN/RF 파라미터들에 기초하여, 처리량 레벨은, 3GPP LTE에서 사용되는 자원 블록, QAM 심볼, OFDM 심볼, 서브채널, UL/DL 비, 또는 이들의 조합 등의, 요구되는 물리층 자원으로 변환될 수 있다. 요구되는 물리층 자원은 HARQ 또는 기타 재송신을 위한 허용을 포함할 수 있다. 일단 물리층 자원으로 변환되면, 단계(530)에서 표시된 바와 같이 처리량 레벨 타겟 또는 요구를 물리층 자원과 비교할 수 있다. 이러한 비교에 따라, 물리 자원들을 위한 요구가 이용가능한 물리 자원들을 현재 초과함을 가리키는 결과가 발생할 수 있다. 이 경우, 이용가능한 물리 자원을 초과하지 않도록 물리 자원 요구의 감소가 필요하다. 이에 따라, 세션, 접속, 및/또는 애플리케이션에서 대역폭을 위한 현재 요구에서의 필요한 감소를 결정하게 된다.
대체 실시예에 따르면, 다른 알고리즘을 이용하여, 반응형 인텔리전트 폐기를 위해 사용될 수 있는 이용가능한 처리량 메트릭을 제공할 수 있는 이용가능한 물리 자원들을 물리 자원을 위한 요구가 초과하는지를 결정할 수 있다.
일단 애플리케이션층 처리량 요구가 이용가능한 물리 자원들을 초과한다고 결정하면, 단계(540)에서 개별적인 서비스들을 감소시킬 필요성을 최소화하면서 그리고 최종 사용자에 의해 인식되는 품질을 최대화하면서 인텔리전트 폐기를 이용하여 요구를 감소시킬 수 있다.
예를 들어, VoIP 서비스를 위한 자원에 대한 요구가 이용가능한 물리 자원들을 10%만큼 초과하면, 랜덤한(인텔리전트가 아닌) 표기로 인해 연속적 또는 거의 연속적 VoIP 패킷들이 폐기될 수 있다. 대조적으로, 반응형 인텔리전트 폐기는, 인식된 호출의 품질을 유지하면서 대역폭을 위한 초과 요구의 적어도 일부를 감소시키기 위해 드롭될 수 있는 패킷들의 개수를 식별할 수 있다. 예를 들어, 일 실시예에서, 인텔리전트 폐시 시스템에서, 스케줄러는 10번째마다 패킷을 폐기할 수 있다. 이는, 스케줄러에 의해 이미 큐잉(queue)되어 있는 패킷들, 또는 큐잉되고 있는 패킷들, 또는 이러한 양측 패킷들을 포함할 수 있다. 인텔리전트 폐기 알고리즘에 의해 폐기된 패킷들의 균등한 분포는 랜덤 폐기 알고리즘에 의해 폐기된 패킷들의 군집보다 최종 사용자에게 덜 눈에 띌 수 있다. 일 실시예에 따르면, 선택된 패턴이 폐기되는 연속적인 및 거의 연속적인 패킷들의 개수를 최소화하는 한, 다른 패턴들을 사용하여 폐기될 패킷들을 선택할 수 있다.
일 실시예에 따르면, 폐기 알고리즘은 또한 사용되고 있는 특정 음성 프로토콜 및 코덱에 따라 조절될 수 있다. 인텔리전트 폐기는, 품질 스코어에 의해 결정되고 오퍼레이터, 시스템, 또는 로컬 정책과 비교됨으로써 호출이 허용가능한 품질로 계속되게 할 수 있다.
다른 일례로, MPEG-2 송신에 있어서, 오디오 패킷들은 비디오 패킷들보다 중요하며, 그 이유는 사람이 MPEG-2 송신시 비디오 품질의 변화를 인식하는 것보다 오디오 품질의 변화를 쉽게 인식하기 때문이다. 또한, 비디오 패킷들은 인트라 코딩 프레임("I-프레임"), 예측 코딩 프레임("P-프레임"), 및 양방향 예측 코딩 프레임("B-프레임")으로 이루어진다. I-프레임의 손실은 통상적으로 P-프레임이나 B-프레임의 손실보다 MPEG-2의 품질에 더 유해하다. 실제로, I-프레임의 손실로 인해, P-프레임이 정확하게 수신되더라도 수신 디바이스가 P-프레임을 사용할 수 없다. 따라서, MPEG-2에서, 인텔리전트 폐기는 I-프레임보다는 P-프레임과 B-프레임을 우선적으로 폐기할 수 있고, 비디오 프레임들의 모든 형태를 오디오 프레임들보다 우선적으로 폐기할 수 있다.
MPEG-4 송신에서는, MPEG-2로부터 유도된 프레임들 간의 구별에 더하여, 공간 확장성의 11개의 레벨, 시간 확장성의 3개의 레벨, 및 비디오 애플리케이션에 따른 품질 확장성의 레벨들의 가변적인 개수가 있다. 미세한 입자 확장성은 이러한 레벨들을 확장성의 11개 레벨로 결합한다. 일 실시예에서, 패킷들에 대하여 정보로 "마킹"을 행할 수 있고, 마킹은 물리 자원들이 변경될 때 품질의 미세 입자 가변이 가능하도록 인텔리전트 폐기에 의해 사용될 수 있다.
VoIP 예에서와 같이, MPEG 예에서, 인텔리전트 폐기는 스케줄링 큐로 진입되는 폐기뿐만 아니라 이미 큐잉되어 있는 패킷들의 폐기도 수행할 수 있다. 패킷들의 퍼센트의 인텔리전트 폐기는 더욱 많은 서비스들이 시스템의 호출 수락 제어(CAC) 알고리즘에 의해 유지 및 허용되게 할 수 있다.
단계(540)에서는, 물리층 자원 제약을 충족하도록 적용된 인텔리전트 폐기를 갖는 하나보다 많은 서비스 선택이 많이 존재할 수 있다. 인텔리전트 폐기가 적용될 서비스나 서비스들을 선택하는 데 사용될 수 있는 많은 기준들이 존재한다. 예를 들어, 인텔리전트 폐기는 라운드 로빈(round robin) 방식으로 적용될 수 있고, 마찬가지로 모든 서비스들, 또는 선택된 클래스 내의 모든 서비스들, 또는 서비스들의 세트에 영향을 끼칠 수 있다. 인텔리전트 폐기는, 일부 그룹의 최종 사용자의 멤버십 또는 최종 사용자의 아이덴티티에 기초하여 적용될 수 있다. 예를 들어, 서로 다른 사용자들은 네트워크의 조작자와의 서로 다른 서비스 레벨 협의들에 비용을 더 또는 덜 지불할 수 있다. 더욱 낮은 레벨 협의를 갖는 사용자들은 더욱 높은 레벨 협의를 갖는 사용자들보다 우선적으로 영향을 받을 수 있다. 다른 네트워크로부터 로밍하고 있는 사용자들은 네트워크에 직접 가입하는 사용자들보다 우선적으로 인텔리전트 폐기에 의해 영향을 받을 수 있다. 결정은 서비스 타입이나 애플리케이션에 기초할 수 있다. 예를 들어, 스카이프(Skype) 등의 제3자 애플리케이션을 통해 행해지는 VoIP 호출은 사업자에 의해 직접 제공되는 VoIP 서비스를 통한 VoIP 호출보다 우선적으로 영향을 받을 수 있다. 어느 서비스에 영향을 줄 것인지는 총 처리량을 최대화하도록 알고리즘 방식으로 결정될 수 있다. 인텔리전트 폐기를 어떻게 적용할 것인지에 관한 결정은 시스템, 조작자, 또는 자율적 정책에 기초한다. 예를 들어, 디바이스는 시스템 또는 사업자 정책에 의해 무효화되거나 수정될 수 있는 디폴트 정책을 가질 수 있다.
어느 서비스에 영향을 끼칠 것인지에 관한 결정은, 예를 들어, 폐기된 데이터의 상대량에 관계없이 관찰된 품질이 인텔리전트 폐기에 의해 최소로 영향을 받는 서비스들에 처음으로 영향을 끼치는 상대적 열화에 기초할 수 있다. 이를 용이하게 하도록, 단계(540)는 다양한 서비스들을 위한 가능한 처리량 레벨들의 각각에 대한 스코어를 계산할 수 있다. 이러한 스코어들은 각각의 처리량 레벨에 대한 관찰된 품질의 상대 레벨을 나타낸다. 이러한 스코어들은, 음성 품질을 스코어로 나타내는 데 사용되는 MOS 스코어 등의 주관적 기준에 기초할 수 있고, 또는 서비스로부터의 특성 제거 등과 같이 양적일 수 있다. 스코어들은 어떤 서비스에 인텔리전트 폐기를 적용할 것인지 그리고 어느 정도로 적용할 것는지에 관한 결정의 일부로서 단계(540)에서 될 수 있다. 예를 들어, 대역폭을 요구하는 서비스들을 위한 가능한 처리량 레벨들의 세트에 대한 스코어들의 세트가 일단 주어지면, 다양한 처리량 레벨들에 대하여 계산된 스코어들의 세트에 기초하여 서비스들 중 하나 이상에 대하여 타겟 대역폭 레벨을 선택할 수 있고, 각 서비스에 연관된 패킷들을 선택적으로 폐기하여 서비스들의 각각에 연관된 처리량을 그 서비스에 연관된 타겟 처리량 레벨로 감소시킬 수 있다.
반응형 인텔리전트 폐기는 패킷의 송신 또는 배치에 관한 선택을 행할 수 있는 시스템의 임의의 부분에서 수행될 수 있다. 예를 들어, 일 실시예에서, 기지국, 피코국, 펨토국, 또는 중계국은 패킷들을 송수신하기 위한 송수신기를 포함할 수 있다. 바람직한 실시예에 따르면, 이러한 국들은 업링크 및/또는 다운링크에 대한 대역폭의 할당을 담당하는 미디엄 액세스 컨트롤(MAC) 층을 포함할 수 있다. MAC 층은 바람직하게 스케줄러 및 송신 전 패킷들을 저장하기 위한 버퍼를 포함하거나 이러한 스케줄러 및 버퍼에 연관될 수 있다. 일 실시예에서, 본 명세서에서 개시하는 인텔리전트 폐기 기술들은, 패킷들의 송신을 버퍼링하고 스케줄링하는 것을 담당하는 MAC 층의 부분에서 구현될 수 있다. 대안으로, MAC 스케줄러의 균등물이 집중화된 스케줄링 및 가능하게는 버퍼링도 수행하는 코어 네트워크 요소에 상주할 수 있다. 예를 들어, 일 실시예에서, MAC 스케줄러의 균등물은, 두 개 이상의 기지국 또는 기타 유사한 디바이스들 상에서의 브로드캐스트 비디오 또는 오디오 등의 데이터의 동시 송신을 협동하도록 구현될 수 있다.
일 실시예에서, 인텔리전트 폐기 기술들은 또한 데이터를 업링크 송신 전에 스케줄링하고 버퍼링하는 사용자 디바이스의 MAC 스케줄러에서 구현될 수 있다. 일 실시예에 따르면, 코어 네트워크 또는 기지국(또는 균등 디바이스)은 패킷들을 버퍼링하기 전에 마킹하여 다운링크 방향으로의 폐기 결정을 더욱 용이하게 하도록 구성될 수 있다. 대안으로, 사용자 디바이스에 의한 업링크 송신을 위한 패킷들의 버퍼링에 선행하는 기능은, 사용자 디바이스에서의 MAC 스케줄러 기능에 의한 더욱 쉬운 폐기 결정을 위해 패킷들을 마킹할 수 있다.
상호작용형 인텔리전트 폐기
전술한 반응형 인텔리전트 폐기에 더하여, 인텔리전트 폐기 알고리즘은 성능을 개선하도록 시스템 제어의 다른 양태들과 상호작용할 수 있다. 예를 들어, 이제 도 5를 참조해 보면, 일 실시예에서, 단계(510)에서 최대 송신 전력을 감소시키는 등의 특정한 RAN/RF 네트워크 조작 파라미터를 변경함으로써, 이웃하는 셀들에서 관찰되는 간섭을 감소시켜 그 이웃하는 셀들에 유익할 수 있다.
대안으로, 단계(526)에서 더욱 강건한 변조 기법을 선택하는 것도 유사한 효과를 가질 수 있다. 통상적인 시스템에서, 이러한 변경은, 이용가능한 물리 자원들이 결국 감소하여 애플리케이션 층 처리량 요구가 이용가능 대역폭을 초과함으로 인해 바람직하지 못할 수 있다. 대조적으로, 상호작용형 인텔리전트 폐기를 채용하는 시스템에서는, 단계(520)에서, 활성 서비스들에 대하여 처리량 레벨들의 세트를 계산할 수 있다. 처리량 레벨들의 세트는 단계(526)의 가능한 송신 파라미터 선택들 및 단계(510)의 가능한 RAN/RF 파라미터들을 고려하는 경우 물리 자원 요구들의 더욱 넓은 범위를 나타낸다. 이러한 품질 레벨들, 송신, 및 RAN/RF 파라미터들의 가능한 조합들을 인식함으로써, 단계(510, 526)에서 하나 이상의 서비스에 대하여 소량의 품질을 희생하면서 시스템의 강건성을 일시적으로 또는 영구적으로 상당히 증가시킬 수 있는 파라미터들을 시스템이 선택할 수 있다.
상호작용형 인텔리전트 폐기의 대체 구현
도 6은, 간섭 완화 및 전력 제어 등의 네트워크 동작의 다른 양태들이 인텔리전트 폐기를 이용하여 시스템 성능을 더욱 최적화하게 할 수 있는, 도 5에 도시한 방법의 수정 버전의 흐름도이다. 단계(620)에서, (도 5의 단계(520)에서와 같이) 서비스 또는 접속에 대하여 단일 품질(예를 들어, BER 또는 PER) 및 처리량 레벨을 생성하기보다는, 양적 품질 임계값들(예를 들어, BER 및 PER) 및/또는 처리량 레벨들의 세트를 생성할 수 있다(단계 605). 스코어를 처리량 레벨들의 각각에 적용할 수 있다. 스코어는 각각의 처리량 레벨에 대하여 관찰된 품질의 상대 레벨을 나타낸다. 일 실시예에 따르면, 스코어는 처리량 레벨들의 각각에 적용되어 각각의 처리량 레벨에 대하여 관찰된 품질의 상대 레벨을 가리킬 수 있다. 스코어들은 음성 품질을 스코어링(scoring)하는 데 사용되는 MOS 스코어 등과 같이 주관적 기준에 기초할 수 있고, 또는 스코어들은 서비스로부터 특징을 제거하는 것처럼 양적일 수 있다. 스코어들은, 어떤 서버가 인텔리전트 폐기를 적용할 것인지 그리고 어느 정도로 적용할 것인지에 관한 결정의 일부로서 단계(640)에서 사용될 수 있다.
데이터 블록(605)에 의해 예시된 스코어들과 처리량 레벨들의 세트는, 서비스 품질과 다른 시스템 동작 인자 간의 트레이드 오프를 행하도록 단계(610), 결정 단계(612), 수정 단계(614)에 의해 사용될 수 있다. 단계(626) 등의 다른 단계들도 스코어들과 처리량 레벨들의 세트를 사용하여 성능 선택을 최적화할 수 있다. 예를 들어, 처리량 레벨과 스코어에 기초하여, 방법은, 개별적인 서비스에 대한 성능 열화가 이웃하는 셀들에 야기되는 간섭의 감소에 비해 작음을 인식한 상태에서, 서비스를 위한 베이스라인 파라미터들에 더욱 강건한 변조와 더욱 낮은 전력을 적용하는 것을 단계(610)에서 선택할 수 있다. 실제로, RAN/RF 파라미터들의 변경은, 이웃하는 셀로부터의 간섭 감소 요청에 대한 반응, 또는 네트워크 관리 엔티티 또는 기타 집중적 위치 제어 기능으로부터의 간섭 감소 또는 잡음 플로어 감소 요청이나 명령, 또는 전력, 잠재적 간섭을 감소시키는 자율적 결정, 또는 네트워크 조작의 일부 다른 양태일 수 있다. 이러한 식으로, 단계(610) 및 유사한 기능들은, 적절한 RAN/RF 파라미터들을 선택하는 이전의 독립적 태스크에 적용될 수 있는 잠재적 대체 액션으로부터 발생하는 처리량 영향에 의해 시사되는 품질 영향을 평가할 수 있다.
바람직한 일 실시예에서, 상호작용형 인텔리전트 폐기 방법은, 상호작용형 인텔리전트 폐기를 구현하는 국, 사용자 디바이스, 또는 네트워크 기능의 송수신기에 의한 송신 전에 MAC 층 스케줄러 및 패킷 버퍼링 기능과 균등한 폐기 기능을 구현한다. 품질 임계값, 처리량 레벨, 스코어의 세트의 도출은, 코어 네트워크, 기지국(매크로, 피코 또는 펨토), 또는 사용자 디바이스에서 구현될 수 있는 기능에 의해 수행될 수 있으며, 인텔리전트 폐기를 수행하도록 MAC 층에서 버퍼링 및 스케줄링과 상호작용하는 상호작용형 인텔리전트 폐기 기능에 정보를 제공한다. 상호작용형 인텔리전트 폐기 기능은, 또한, RF 환경을 감시하는 물리층 기능과 상호작용할 수 있고, 코어 네트워크 기능 또는 다른 기지국이나 네트워크 요소들의 기능과 상호작용하여 이웃하는 셀들의 RF 환경에 관한 정보를 교환한다. 상호작용형 인텔리전트 폐기 내의 네트워크 대향 기능은, 서비스, 사용자 디바이스, 및 RF 환경에 관한 정보를, 코어 네트워크 기능 또는 이웃하는 디바이스들의 상호작용형 인텔리전트 폐기 기능에 제공할 수 있다. 상호작용형 인텔리전트 폐기 방법은, 소정의 정보 패킷들의 송신을 위해 RAN/RF 파라미터들을 조절하는 물리층(PHY) 제어 모듈 또는 RF에 정보를 제공할 수 있다.
적극적 인텔리전트 폐기
일 실시예에 따르면, 적극적 인텔리전트 폐기는, 초과가입 상태를 예상하여 인텔리전트 폐기를 예측가능하게 수행하고 초과가입 상태가 실제로 발생하기 전에 폐기를 수행하는 기술이다. 적극적 인텔리전트 폐기는, 네트워크 대역폭에 대하여 예상되는 요구가 예상되는 이용가능 대역폭을 초과하는 경우 그 예상되는 요구를 감소시키는 데 사용될 수 있다.
적극적 인텔리전트 폐기는 반응적으로 적용될 수 있다. 예를 들어, 이동국이 셀의 가장자리에 접근하는 경우 핸드오버를 예상함으로써 더욱 강건한 변조를 예상하고, 따라서, 물리층 자원 단위당 더욱 낮은 처리량을 예상하게 된다. 적극적 인텔리전트 폐기는 실제 이벤트 전에 폐기를 행하는 데 사용될 수 있으며, 혼잡으로 인한 데이터의 랜덤한 손실보다는 데이터의 폐기를 제어함으로써 더욱 매끄러운 핸드오버가 가능해진다.
적극적 인텔리전트 폐기는 상호작용적으로 적용될 수 있다. 예를 들여, 이웃하는 셀들에 대한 간섭 또는 이웃하는 셀들로부터의 간섭이 소정의 시각(매일 통근 등)에 증가한다는 점을 이력 데이터로부터 알 수 있다. 적극적 인텔리전트 폐기에서, 단계(612)는 RAN/RF 파라미터들에 영향을 끼치는 인자들이 변경될 것이라고 결정할 수 있고, 단계(614)에서, RAN/RF 파라미터들은, 시스템 파라미터들을 적극적으로 수정하여 인텔리전트 폐기가 품질과 처리량에 관한 시스템 정책에 기초하여 최적의 처리량 및 품질을 유지할 수 있도록, 단계(620)에 의해 생성된 스코어들 과 처리량 레벨들의 세트와 조합하여 변경이 필요하다는 가정에 기초하여 수정될 수 있다.
적극적 인텔리전트 폐기는 다양한 자극 또는 트리거 이벤트에 기초하여 수행될 수 있다. 적극적 인텔리전트 폐기의 실행을 트리거하는 데 사용될 수 있는 자극 또는 트리거 이벤트의 타입의 일부 예로는 다음과 같다.
(1) 움직임 - 디바이스가 정지되어 있지 않거나 소정의 속도 임계값을 초과하고 있다고 결정되면, 적극적 인텔리전트 폐기는 처리량 이용 가능성에 영향을 끼치는 물리적 파라미터들의 움직임으로 인한 변경들의 예상에 기초하여 인텔리전트 폐기를 수행할 필요를 예상할 수 있다.
(2) 핸드오버 예상 - 랜드오버 가능성이 소정의 임계 메트릭을 초과한다고 결정되면, 인텔리전트 폐기는 자원에서 예측되는 품질 감소의 영향을 최소화하도록 데이터를 제어 방식으로 적극적으로 폐기할 수 있다.
(3) 시각, 요일, 또는 다른 이력 패턴 - 이력 데이터는 예측가능한 시점에서 자원들의 감소가 예상될 수 있음을 나타낼 수 있다. 적극적 인텔리전트 폐기는 더욱 적은 자원들로의 매끄러운 전이를 위해 시스템을 준비할 수 있다.
(4) 셀 내의 활성/비활성 사용자 디바이스들 - 셀 내의 사용자 디바이스들의 개수는 반응형 인텔리전트 폐기가 조치를 취하게 하는 요구가 있는 변동을 예측하는 데 사용될 수 있다.
(5) 예비 자원들 - 적극적 인텔리전트 폐기는, 인텔리전트 폐기를 적극적으로 수행하여, 인텔리전트 폐기가 적용되는 경우 더욱 많은 활성 호출들을 서빙하는 호출 수락 제어 등의 다른 기능을 위해 자원들을 예비 상태로 둠으로써 서비스 품질 유지에 일조할 수 있다.
(6) 이웃 셀들에 대한 변경 - 이웃하는 셀들의 양과 구성의 변경에 관한 정보는, 이웃 셀들의 개수, 이웃 셀들의 위치, 셀 사업자, 연산의 주파수 및 대역폭, 활성/유휴 UE들의 개수, RF/RAN 파라미터들을 포함하지만, 이러한 예로 한정되지는 않는다.
또한, 적극적 인텔리전트 폐기는 폐기의 한 레벨로부터 다른 레벨로의 더욱 매끄러운 전이를 제공할 수 있어서, 지터 및 개별적인 패킷 지연 등의 서비스 품질 파라미터들에 끼치는 영향을 최소화할 수 있다.
일 실시예에서, 적극적 인텔리전트 폐기는 또한 폐기가 필요 전에 발생하는 구현에 사용될 수 있어서, 자원들의 부족 예방시 더욱 적은 처리량을 적용한다. 대체 실시예에서, 적극적 인텔리전트 폐기는 예상되는 자원 부족 기간 동안 드롭될 패킷들이 빠른 폐기를 위해 태깅(tag)되지만 예상한 자원 부족이 실제로 발생하는 경우에만 폐기되는 구현에 사용될 수 있다.
일 실시예에서, 인텔리전트 폐기는 또한 역할을 역으로 수행할 수 있다. 즉, 용량 제한이 실시되기 전에 채널로의 패킷 송신을 가속화하는 것이다. 이는 미래의 단기간 자원 제약을 회피할 수 있다.
인텔리전트 폐기를 적극적으로 구현하는 데 사용되는 이력 또는 패턴들을 생성하는 데 사용되는 이력 또는 기타 데이터는 다양한 소스들로부터 온 것일 수 있다. 예를 들어, RF 모듈은 물리적 환경에 관한 정보를 수집할 수 있다. 다른 일례로, MAC 층은, 패킷 요구와 처리량, 활성 또는 비활성 사용자 디바이스들과 서비스들의 개수에 관한 정보를 수집할 수 있다. 일 실시예에서, 정보는 입력을 이력 트렌드(historical trends)로 변환하도록 디바이스 상에서 국부적으로 처리될 수 있고, 또는, 대체 실시예에서, 정보는 이력 트렌드와 패턴으로의 변환을 위해 코어 네트워크 또는 다른 임의의 프로세서의 기능에 포워딩될 수 있다. 이력 트렌드와 패턴은, 예를 들어 상호작용형 인텔리전트 폐기가 적극적으로 적용되는 경우에 디바이스에 의해 국부적으로 사용될 수 있고 또는 디바이스들 간에 공유될 수 있다.
이하에서는, 패킷을 폐기하는 것에 관한 다양한 추가 실시예들을 설명한다. 실시예들 중 일부는 특정 표준을 참조하여 설명한다. 그러나, 본 명세서에서 설명한 실시예들을 다른 시스템과 표준에 적용할 수 있음을 인식할 것이다. 또한, 후술하는 인텔리전트 폐기의 실시예들은 반응형 인텔리전트 폐기, 적극적 인텔리전트 폐기, 및 상호작용형 인텔리전트 폐기를 포함한 전술한 시스템 및 방법을 이용하여 구현될 수 있음을 인식할 것이다. 예를 들어, 후술하는 실시예들은 도 4 내지 도 6을 참조하여 전술한 인텔리전트 폐기의 실시예들과 함께 사용될 수 있다. 또한, 후술하는 실시예들은, 도 1 내지 도 3에 대하여 설명한 시스템 등의 전술한 시스템들의 실시예들을 사용하여 구현될 수 있다.
구체적으로, 후술하는 실시예들 중 하나 이상에 따른 패킷 폐기는 스케줄링을 수행하는 통신 시스템 내의 임의의 엔티티 내에서 실시될 수 있다. 이는, 매크로셀, 피코셀, 기업급 펨토셀, 주거급 펨토셀, 중계기를 포함한 기지국의 임의의 형태 또는 기지국의 다른 임의의 형태에 의한 다운링크 대역폭의 스케줄링을 포함한다. 다른 일 실시예에서, 후술하는 실시예들 중 하나 이상에 따른 패킷 폐기는, 고정형 및 이동형 모두의 사용자 디바이스들, 및 중계 디바이스들을 포함한, 업링크 방향으로 송신을 행하는 디바이스의 임의의 형태에 의해 수행될 수 있다. 또 다른 일 실시예에 따르면, 후술하는 실시예들 중 하나 이상에 따른 패킷 폐기는, 디바이스들의 액션들을 집중적으로 제어하거나 다수의 최종 사용자 디바이스들에 공통되는 멀티캐스트 또는 브로드캐스트 비디오 서비스 등의 서비스를 스케줄링하는 코어 네트워크에 내장된 스케줄링 알고리즘에 의해 수행될 수 있다.
또 다른 일 실시예에 따르면, 후술하는 실시예들 중 하나 이상에 따른 패킷 폐기는, 사용자 디바이스 등의 다른 엔티티가 사용할 업링크 대역폭을 할당하는 기지국 등의 엔티티에 의해 예측가능하게 수행될 수 있다. 기지국 및 사용자 디바이스는, 본 명세서에서 설명하는 실시예들 중 하나 이상에 따라 사용자 디바이스가 패킷들을 폐기할 수 있는지 여부를 협상할 수 있고, 또는, 일부 실시예들에서, 사용자 디바이스가 인텔리전트 폐기 기능을 갖는 것이 사용자 디바이스의 모델 식별에 기초하여 결정될 수 있는지를 협상할 수 있다.
또 다른 일 실시예에 따르면, 후술하는 패킷들의 우선순위화는 심층 패킷 검사를 수행하는 디바이스 등의 하나의 디바이스에서 수행될 수 있고, 패킷들을 마킹할 수 있으며, 이러한 마킹은 인텔리전트 폐기를 수행하는 무선 기지국 등의 다른 디바이스에 의해 사용된다.
도 7은 도 3의 제어 응답 모듈(340)의 일 실시예의 기능 블록도이다. 전술한 바와 같이, 일 실시예에서, 요구가 네트워크에 대한 최대 통합 처리량을 초과하면, 제어 응답 모듈(340)은 서비스 내의 프레임들을 선택적으로 폐기하여 네트워크에 대한 요구를 감소시킴으로써 응답할 수 있다. 도 7의 실시예에서, 제어 응답 모듈(340)은 우선순위/부담 결정 모듈(744)("결정 모듈") 및 프레임/슬라이스 선택 모듈(746)("선택 모듈")을 포함한다. 더욱 상세히 후술하는 바와 같이, 프레임이나 슬라이스의 경우, 어떤 프레임 또는 슬라이스를 폐기할 것인지를 선택하는 것은 그 선택으로 인해 비디오를 관찰하는 경험의 품질에 상당한 영향을 끼칠 수 있다. 일 실시예에서, 결정 모듈(744)은, 값을 결정하며, 예를 들어, 다른 프레임들에 비해 해당 프레임의 상대적 중요도를 나타내는 부담 또는 우선순위를 결정한다. 이어서, 선택 모듈(746)은 결정된 값에 기초하여 폐기 또는 드롭할 하나 이상을 선택한다. 결정 모듈(744)과 선택 모듈(746)의 동작을 더욱 상세히 후술한다.
인텔리전트 폐기를 위한 우선순위화
부분적으로 전술한 바와 같이, MPEG-2, MPEG-4, 및 H.264-AVC(MPEG-4 Part 10)에서, 비디오 스트림은 서로 다른 타입의 프레임들로 인코딩되며, 즉, 때때로 인트라 프레임이라고 칭하는 인트라 코드 프레임 즉 I 프레임, 예측 코딩 프레임 즉 P 프레임, 및 양방향 예측 코딩 프레임 즉 B 프레임으로 인코딩된다. 프레임은 관찰 디바이스의 프레임 레이트에서 관찰 스크린 상에 표시되는 것을 나타낸다. 예를 들어, 미국에서 사용되는 NTSC 표준은 초당 29.97개의 프레임으로 동작한다. 이 프레임들은 매크로블록들로 이루어진다. 하나의 매크로블록은 하나의 프레임의 16×16 화소 영역에 해당한다.
서로 다른 프레임 타입들은, 비디오 신호의 에러 전파에 영향을 끼칠 수 있는 서로 다른 의존성을 갖는다. I 프레임들은, 다른 어떠한 프레임에도 의존하지 않도록 인코딩된다. 이는 I 프레임들이 통상적으로 가장 많은 양의 데이터를 포함하게 한다. P 프레임들은 I 프레임 또는 P 프레임에 기초하여 인코딩된다. 이는 현재의 P 프레임과 이 프레임이 의존하는 I 또는 P 프레임 간의 차이를 주로 인코딩할 수 있게 한다. 이에 따라, P 프레임들이 통상적으로 I 프레임들보다 데이터를 덜 포함할 수 있으며, 즉, P 프레임들은 더욱 작으며 송신을 위한 대역폭을 덜 소모한다. 그러나, P 프레임이 의존하는 프레임의 에러는 해당 프레임이 에러 없이 수신되더라도 에러들을 P 프레임의 디코딩 내에 전파한다. B 프레임들은 선행하는 I 프레임 또는 P 프레임 및 후속하는 I 프레임 또는 P 프레임 모두에 의존한다. 이러한 이중 의존성에 의해 B 프레임들이 통상적으로 I 프레임들이나 P 프레임들보다 데이터를 덜 포함할 수 있지만, 에러 전파를 더욱 진행시킨다. I 프레임과 P 프레임은 흔히 앵커 프레임 또는 기준 프레임이라 칭한다.
이러한 의존성은 매크로블록 레벨에서 실현된다. I 프레임들은 다른 프레임들의 매크로블록들에 의존하지 않고 인코딩되는 I 매크로블록들만을 포함한다. P 프레임들은 I 매크로블록들, P 매크로블록들, 또는 이들 모두를 포함할 수 있다. P 매크로블록들은 이전의(또는 다음의) I 프레임 또는 P 프레임에 기초하여 인코딩된다. B 프레임들은 I, P, 또는 B 매크로블록들 또는 임의의 조합을 포함할 수 있다. B 매크로블록들은 이전의 I 또는 P 프레임 및 후속하는 I 또는 P 프레임 모두에 기초하여 양방향으로 인코딩된다.
I 프레임, P 프레임, 및 B 프레임의 패턴 및 연관된 디코딩 의존성을 픽처들의 그룹(GOP) 또는 예측 구조(predictive structure)라 칭한다.
또한, H.264-AVC는 P 프레임이 다수의 I 또는 P 프레임들에 의존할 수 있도록 다중 참조 예측 구조(multi-reference predictive structure)를 이용하여 허용가능한 의존성을 증강시킨다. 이는 또한 B 프레임들이 I와 P 프레임들보다는 다른 B 프레임들에 의존할 수 있게 하는 계층 예측 구조들을 부가한다. 베이스라인 구현과 증강 모두에 관한 실시예들을 후술한다.
GOP는 I 프레임으로 시작되며, 앵커 프레임들(I 또는 P 프레임들) 간의 거리 M, 및 I 프레임들 간의 거리 N인 두 개의 수를 특징으로 할 수 있다. 앵커 프레임들 간의 갭은 B 프레임들로 채워진다. 공통 GOP 구조는, 도 8a에 도시한 개방된 GOP에서 M=3, N=12이다. GOP는, GOP의 최종 B 프레임들이 현재 GOP의 최종 P 프레임 및 다음 GOP의 I 프레임에 의존하기 때문에, 개방된 것으로 고려된다.
도 8a는 GOP의 프레임들의 관찰 순서를 도시한다. 관찰 순서는 번호 1 내지 12의 프레임으로 표시된다. 프레임 번호는 다음 GOP의 제1프레임을 가리킨다. 각각의 관찰 순서 프레임 번호 밑의 문자는 프레임의 타입, 즉, 그 프레임 번호에서의 I, P, 또는 B를 가리킨다. 화살표는 특정한 프레임이 어떤 프레임에 의존하는지를 가리킨다. 예를 들어, 프레임 4는 I 프레임 1에 의존하는 P 프레임이다. 프레임 10은 P 프레임 7에 의존하는 P 프레임이다. 프레임 5와 6은 P 프레임 4와 7에 의존하는 B 프레임들이다. I 프레임 1의 에러가 GOP의 다른 11개의 프레임 모두 및 선행하는 GOP의 최종 두 개의 B 프레임을 통해 전파될 수 있음을 알 수 있다. 게다가, 프레임 1의 손실로 인해, 프레임 2 내지 12 및 선행하는 GOP의 최종 두 개의 B 프레임을 디코더가 이용할 수 없게 된다. 프레임 1이 표시되는 시간을 지나 프레임 1을 지연시키는 것은 프레임 1의 손실과 동일한 효과를 가질 수 있다. 역으로, 이 예에서, B 프레임의 손실 또는 에러 있는 수신은 에러를 전파하지 않으며, 개별적인 B 프레임에만 영향을 끼친다. B 프레임들이 더욱 복잡한 계층을 생성하는 다른 B 프레임들에 의존할 수 있지만 다른 어떠한 프레임들도 의존하지 않는 "리프 노드"(leaf node) 프레임들이 모드들이 H.264에 존재함에 주목한다.
일부 시스템에서, 제어 및 관리 섹션(270)은, P 프레임과 B 프레임보다 I 프레임들에 더욱 큰 보호를 적용하고 비디오를 디코딩하고 표시하는 디코더의 기능에 대한 불량 신호 품질의 영향을 감소시킴으로써, 이러한 에러 전파 문제를 다룬다. 그러나, 유익하기는 하지만, 이는 이미 많은 I 프레임들이 더욱 큰 대역폭을 소모하게 한다. 이러한 방안은, 또한, 많은 비디오 디코더들에 의해 지원되지 않는 프레임들의 이상 송신(out of order transmission)이라는 문제를 야기할 수 있다.
다른 시스템들에서, 제어 응답 모듈(340)은 프레임들의 드롭에 응답할 수 있다. 한 가지 방안은 제어 응답 모듈(340)이 송신되는 프레임의 타입에 기초하여 드롭할 프레임을 선택하는 것이다. 예를 들어, I, P, B 프레임들 간의 선택이 주어지면, 제어 응답 모듈은 P 프레임들 앞의 B 프레임들 및 I 프레임들 앞의 P 프레임들을 드롭하도록 구성될 수 있다. 동일한 타입의 여러 프레임들 중 어떤 프레임을 선택할 것인지는, 예를 들어, 랜덤하게 행해질 수 있다.
대조적으로, 본 명세서에서 설명하는 다른 실시예들에서, 제어 응답 모듈(340)은, 비디오 데이터의 송신의 서비스 품질(QoS)을 인텔리전트하게 열화시켜 대역폭을 덜 사용하여 송신 매체의 혼잡에 반응하거나 매체 상의 더욱 많은 비디오 또는 데이터 서비스들을 동시에 허용하면서 관찰자의 경험 품질(quality of the experience; QoE)을 유지하도록 프레임 의존성을 분석하고 이용한다.
일 실시예에서, 제어 모듈(340)은 I, P, B 프레임들의 간단한 분류를 넘어서 프레임들의 상대적 중요도를 결정한다. 전술한 바와 같이, 인코더가 후속 프레임을 사용하는 기능 및 에러 전파에 기인하는 중요도가 있다. 그러나, 동일한 에러 전파 중요도를 갖는 프레임들의 분포에 기초하는 중요도의 요소도 있다. 이들 모두를 도 8b를 참조하여 설명한다.
도 8b는 도 8a에서 사용된 동일한 의존성을 갖는 동일한 GOP를 도시한다. 또한, 각 프레임 순서 번호와 프레임 타입이 있는 열에는 우선순위, 부담, 및 대체 부담 표현을 가리키는 값들이 있다. 일 실시예에서, 우선순위, 부담, 및 대체 부담 값들은 결정 모듈(744)에 의해 결정된다. 우선순위 및 부담 값들이 결정 모듈(744)에 의해 결정되는 방식을 더욱 상세히 후술한다.
일부 실시예들에서, 도시한 프레임 우선순위 및 부담 값들은, 예를 들어, 송신 디바이스에 선행하는 심층 패킷 검사(DPI) 디바이스에 의한 마킹에 적절하다. 따라서, 결정 모듈(744)에 대하여 여기서 설명한 기능은, 도 3에 대하여 설명한 시스템을 포함하는 디바이스가 아닌 디바이스를 포함하는 다른 디바이스에 의해 수행될 수 있다. 이러한 경우에, 선택 모듈(746)은 이전에 결정된 우선순위 부담 값들을 사용하여 드롭할 프레임들을 선택한다. 그러나, 설명을 위해, 우선순위 및 부담 결정 기능은 결정 모듈(744)에 대하여 설명한다. 일부 실시예들에서, 설명한 결정 모듈(744)의 기능은 실시간 프로파일 모듈(325)에 포함되고 구현될 수 있고, 또는 유익하게 그 기능을 예를 들어 데이터 스트림이 비디오 스트림임을 결정하는 환경 파라미터 모듈(320), 예를 들어 비디오 프레임의 우선순위를 실시간으로 평가하는 실시간 프로파일 모듈(325), 및 예를 들어 시간 경과에 따른 관찰을 통해 GOP 구조를 결정하는 패턴 모듈(335) 간에 분포시킬 수 있다.
본 설명에서, 더욱 낮은 우선순위 번호는 더욱 큰 프레임 중요도를 가리키지만, 역의 관계를 이용할 수 있다는 점도 명백하다. 이러한 우선순위들은, 송신 디바이스가 송신 매체의 혼잡 또는 초과가입에 직면한 경우 프레임들을 인텔리전트하게 폐기할 수 있게 하는 상대적 중요도를 가리킨다. 더욱 높은 우선순위 번호를 갖는 프레임들은 더욱 낮은 우선순위 번호를 갖는 프레임들보다 선행하여 폐기된다.
도 8b의 GOP에 대하여, 일 실시예에서, I 프레임은 다른 모든 프레임들이 유용할 수 있도록 송신될 필요가 있으며, 이에 따라 결정 모듈은 프레임 1에서의 I 프레임에 우선순위 값 1을 할당한다. P 프레임들은 I 프레임과의 의존성을 연결하여, 결정 모듈이 첫 번째 P 프레임에 I 프레임보다 낮은 우선순위(높은 번호)를 할당하지만, 후속하는 P 프레임보다는 높은 우선순위(낮은 번호)를 할당한다. 이러한 패턴에 이어, 결정 모듈은 GOP의 P 프레임들에 우선순위 번호 2, 3, 4를 각각 부여한다. 당업자라면, 낮은 우선순위 번호가 낮은 실제 우선순위에 매핑될 수 있고 높은 우선순위 번호가 높은 실제 우선순위에 매핑될 수 있음을 인식할 것이다.
일 실시예에서, B 프레임이 다른 프레임들에 의존하므로, 결정 모듈은 B 프레임이 의존하고 있는 임의의 프레임들보다 낮은 우선순위(높은 번호)를 B 프레임에 할당한다. 이는, 송신 순서로 프레임 번호 8, 9, 11, 12의 B 프레임들 모두가 우선순위 4를 갖고 최저 우선순위 P 프레임인 P 프레임 번호 10에 의존하므로, 이러한 B 프레임들에 대하여 잘 적용된다. 그러나, B 프레임들 2와 3은, P 프레임 4에 의존하지 않더라도 해당 P 프레임 4보다 덜 중요하다. 이는 두 가지 이유 때문이다. 첫 번째, 전술한 바와 같이, B 프레임 2 또는 B 프레임 3의 폐기는 에러를 전파하지 않는 한편 P 프레임 4의 폐기는 B 프레임 8, 9, 11, 12의 폐기를 필요로 한다는 점이다. 두 번째, P 프레임들은 GOP에서 균일하게 분포된다. P 프레임들의 폐기는 단순히 하나의 프레임을 연이어 놓치는 것이 아니라 많은 프레임들을 연이어 놓치게 하는 경향이 있다. 따라서, 일 실시예에서, 결정 모듈은 B 프레임들에 임의의 P 프레임들보다 낮은 우선순위(높은 번호)를 할당한다.
중요한 점은, 모든 B 프레임들 자체가 중요도에 있어서 완전하게 균일하지 않다는 점이다. 구체적으로, B 프레임의 중요도는 인접하는 B 프레임이 폐기되는지 여부에 기초하여 변할 수 있다. 이는, 소정의 상황에서, 다수의 연속 프레임들을 드롭하는 것이 연속하지 않은 프레임들을 드롭하는 경우보다 비디오 품질에 악영향을 끼치기 때문에 발생한다. 예를 들어, B 프레임 5가 폐기되면, 후속하여 B 프레임 6을 폐기함으로 인해 2개의 프레임이 연이어 폐기된다. 그러나, B 프레임 12를 후속하여 폐기하면 이러한 상황이 발생하지 않는다.
장점으로는, 결정 모듈은 중요도의 이러한 변화를 예측 및 고려할 수 있다. 이를 위해, 일 실시예에서, 결정 모듈은 초기 우선순위 번호 5를 GOP의 모든 B 프레임들에 할당한다. 그러나, 연속하는 B 프레임들이 있는 경우, GOP에서 더욱 높은 프레임 번호를 갖는 B 프레임에는 결정 모듈에 의해 더욱 낮은 우선순위(높은 번호)가 할당된다. 따라서, 도 8b의 예에서, 결정 모듈은 B 프레임들에 우선순위 5와 6을 교대로 할당하여, 이웃하는 B 프레임이 폐기된 후 이러한 프레임들의 중요도의 변화를 예측한다. 다른 일 실시예에서, 결정 모듈은 모든 B 프레임들에 동일한 우선순위 값들을 할당하고, 선택 모듈(746)은 혹시라도 폐기가 필요하다면 다발 형태라기보다는 균일하게 폐기할 B 프레임들을 선택할 수 있다.
우선순위를 결정하기 위한 결정 모듈의 기능은 다음과 같이 요약할 수 있다. 즉, I 프레임에는 우선순위 1이 할당된다. 우선순위 y를 갖는 프레임에 의존하는 P 프레임에는 우선순위 y+1이 할당된다. z가 임의의 P 프레임의 최고 우선순위 번호이면, 모든 B 프레임들에는 우선순위 z+1이 할당되거나, 두 개의 앵커 프레임들 간의 B 프레임들에는 우선순위 z+1, z+2, ... z+(M-l)이 할당되고, 여기서 M은 앵커 프레임들 간의 간격이다. 대안으로, 두 개의 앵커 프레임들 간의 B 프레임들에는 우선순위 z+(M-l), z+(M-2), z+1이 할당된다.
다른 일 실시예에서, 결정 모듈은, 얼마나 많은 다른 프레임들이 프레임에 의존하는지에 적어도 부분적으로 기초하여 그 프레임의 중요도를 결정할 수 있다. 예를 들어, 도 8b의 GOP의 위치 1에서의 I 프레임은 자신에 직접적으로 또는 간접적으로 의존하는 13개의 다른 프레임들을 갖는다. 이는, 이 GOP가 개방되어 있으므로, 이 GOP 내의 나머지 11개의 프레임, 및 I 프레임에 의존하는 이전 GOP의 최종 두 개의 B 프레임들을 포함한다. B 프레임들 모두는 다른 프레임들이 의존하는 0을 갖는다. P 프레임들 4, 7, 10은, 이들에 의존하는 10, 7, 4 프레임들을 각각 갖는다. 이러한 의존성에 기초한 값 결정을 본 명세서에서는 부담(burden)이라 칭한다. 도 8b는 GOP의 프레임들에 대한 부담 값들을 도시한다.
도 9는 GOP의 프레임들을 위한 부담을 결정하는 방법(910)의 일 실시예를 설명한다. 전술한 바와 같이, 방법은 결정 모듈(744)에 의해 구현될 수 있다. 다른 일 실시예에서, 방법은 다른 디바이스 또는 모듈에 의해 구현될 수 있다. 설명을 위해, 방법은 결정 모듈을 이용하여 설명한다. 단계(915)에서, 결정 모듈은 값 N, GOP 내의 프레임들의 개수, 및 GOP 내의 앵커(I 또는 P) 프레임들 간의 거리인 M을 결정한다. 도 8b의 GOP 예에서, N=12, M=3이다. 이러한 결정은 GOP 내의 프레임들을 분석함으로써 행해질 수 있다. 대안으로, 이러한 값들이 미리 결정되었다면, 결정 모듈은 이전에 결정된 값들을 얻을 수 있다.
결정 단계(920)에서, 결정 모듈은, 고려되고 있는 현재 프레임이 B 프레임인지를 결정한다. B 프레임이라면, 방법은 단계(925)로 진행하여 결정 모듈이 현재의 B 프레임에 부담 0을 할당한다. 일 실시예에서, 할당된 부담은 GOP 또는 프레임에 연관된 데이터 구조에 저장될 수 있다. 할당 후에, GOP 내의 다음 프레임이 현재 프레임으로 되고, 방법은 결정 단계(920) 전의 지점(927)으로 복귀한다.
결정 단계(920)로 복귀하여, 현재 프레임이 B 프레임이 아니면, 방법은 단계(930)로 진행한다. 단계(930)에서, 결정 모듈은 현재 프레임의 프레임 관찰 순서(FVO)를 결정한다. 다시, 이 값은 GOP 내의 프레임들을 분석함으로써 또는 이전에 결정된 FVO를 얻음으로써 결정될 수 있다. 단계(935)에서, 결정 모듈은 이하의 식 1의 결과와 동일한 현재의 프레임에 부담을 할당한다.
[식 1]
부담 = (N-l) + M - FVO
할당 후에, GOP 내의 다음 프레임이 현재 프레임으로 되고, 방법은 결정 단계(920) 전의 지점(927)으로 복귀한다. 이 프로세스는, 결정 모듈이 GOP 내의 각 프레임에 대하여 부담 값을 할당 완료할 때까지 반복된다.
도 8b에 도시한 바와 같이, 부담 결정시, 결정 모듈은, 대안으로, 각 프레임을 부담 자체로서 간주할 수도 있다. 본 실시예에서, 결정 모듈은 부담 1을 각 B 프레임에 할당한다. 앵커 프레임들에는 이하의 식 2에 따른 부담을 할당한다.
[식 2]
부담 = N + M - FVO
전술한 양측의 부담 계산을 이용함으로써, 선택 모듈(746)은 우선 최저 부담을 갖는 프레임들을 폐기함으로써 그러한 폐기 프레임들을 인텔리전트하게 선택할 수 있다. 부담이 동일한 프레임들에 대해서는, 선택 모듈은, 폐기가 필요한 경우, 균일하게, 즉, 인접하는 프레임들의 집단이 아니도록 폐기를 행할 수 있다. 대안으로, 선택 모듈은 크기에 기초하여 부담이 동일한 프레임들 중에서 폐기할 프레임을 선택할 수 있다. 예를 들어, 두 개의 B 프레임은, 하나가 나머지 하나보다 I 또는 P 매크로블록들을 더 포함하기 때문에, 서로 다른 크기일 수 있다. 이용가능 대역폭 자원들이 더욱 큰 B 프레임의 송신을 허용한다면, 선택 모듈은, 더욱 작은 B 프레임이 정보를 덜 포함하고 그 손실도 덜하며, 따라서 더욱 큰 B 프레임을 폐기하는 것보다는 비디오 품질을 덜 열화시키므로, 더욱 큰 B 프레임보다는 더욱 작은 B 프레임을 폐기를 위해 우선적으로 선택할 수 있다. 그러나, 이용가능 대역폭 자원들이 더욱 큰 B 프레임의 크기로 인해 그 B 프레임의 송신을 수용하지 않으면, 선택 모듈은 더욱 작은 B 프레임 대신에 더욱 큰 B 프레임을 폐기할 수 있다.
도 10은 B 프레임을 포함하지 않는 GOP를 도시한다. 도 9에 대하여 전술한 방법은, MPEG-1 및 H.264-AVC 베이스라인 프로파일로부터의 GOP, 또는 B 프레임들에 의해 야기되는 추가 디코딩 지연을 필요로 하지 않는 애플리케이션을 위한 MPEG-2, MPEG-4, 또는 H.264-AVC GOP 등의, 이러한 타입의 GOP에서 잘 기능한다. 이러한 프레임들은, 양방향 의존성을 갖는 B 프레임이 없으므로, 본질적으로 개방되지 않는다. 결정 모듈은 이러한 타입의 GOP를 분석하는 데 동일한 방법들을 사용할 수 있다.
도 11은 앵커 프레임들 간의 다른 타입의 GOP의 3개의 B 프레임을 도시한다(M=4). 도 9에 대하여 전술한 방법은 이러한 타입의 GOP에서도 잘 기능한다. 구체적으로, 결정 모듈은 이러한 타입의 GOP를 분석하는데 동일한 방법들을 사용할 수 있다.
계층 및 다중 참조 예측 GOP 구조
전술한 바와 같이, 계층 또는 다중 참조 GOP 예측 구조들을 허용하는 H.264-AVC 등의 표준들 내에 특징들이 존재한다. 계층 GOP의 경우에, B 프레임들은 이전의 및/또는 후속하는 B 프레임들에 의존할 수 있다. 다중 참조 GOP들을 사용함으로써, P 프레임들이 하나 이상의 P 또는 I 프레임들에 의존할 수 있다.
도 12는 계층 GOP의 일례를 도시한다. 구체적으로, 도 12는 관찰 순서로 12 프레임(N=12) 계층 GOP 구조를 도시한다. 순서는 I 프레임으로 시작하고, 개방 GOP에는 다음 GOP의 I 프레임에 대한 기준 I'이 포함된다. P 프레임은 없으며, B 프레임들의 서브세트는 다른 B 프레임들을 참조한다. 예를 들어, B4는 I1과 B7 모두를 참조하고, B3은 I1과 B4를 참조한다. 관계들의 계층 세트는 비계층 GOP를 분석하는 경우 보이지 않는 B 프레임들 간의 중요도 및 용도의 대조를 구별을 생성한다. 이는, 결정 모듈이 GOP를 통한 에러들의 전파를 분석하는 경우 및 프레임 부담과 우선순위를 계산하는 경우 고려하기 위한 추가 정보를 제공한다.
예를 들어, 일 실시예에서, 제어 응답 모듈(340)은, 이용가능한 용량을 충족하도록 단일 B 프레임을 폐기할 것을 요구할 수 있으며, 이에 따라 프레임들 B2, B3, B5, B6, B8, B9, B11 또는 B12는 프레임들 B4, B7, B10보다 선호되며, 이는 전자 리스트가 후속 프레임들에 폐기 영향을 끼치지 않는 모든 '리프' 노드들을 포함하기 때문이다. 본 실시예에서, 제어 응답 모듈(340)은 다른 프레임들이 의존하는 노드 대신에 리프 노드를 폐기한다.
도 13은 다중 참조 GOP의 일례를 도시한다. 이 예에서, 프레임 P2는 단지 하나의 기준 프레임 I1을 갖는다. 그러나, 프레임 P3은 선행하는 두 개의 프레임 P2와 I1을 참조한다. 프레임 P4는 P3, P2, I1을 참조한다. 이러한 추가 참조에 의해, 데이터 압축을 개선하고, GOP 내의 이후 P 프레임들의 크기를 감소시킨다.
일 실시예에서, 결정 모듈은 대체 결정 프로세스를 도 12와 도 13의 GOP 등의 계층 및 다중 참조 GOP 구조에 적용한다. 일 실시예에서, 결정 모듈은 GOP 내에서 각 프레임에 의존하는 프레임들의 양에 기초하여 해당 프레임에 부담을 할당한다. 이러한 평가를 행할 때, 결정 모듈은 두 개의 의존성 클래스, 즉, 직접적 및 간접적 의존성을 고려한다. 도 14는 설명을 위해 4개의 일반적 프레임들 F1 내지 F4의 세트를 도시한다. 프레임 F2는, 프레임 F2가 자신의 정보의 디코딩을 위해 프레임 F1을 직접 참조하므로, 프레임 F1에 직접 의존한다. 프레임 F3은, 프레임 F3이 프레임 F2를 직접 참조하고 프레임 F2가 프레임 F1을 직접 참조하므로, 프레임 F1에 간접적으로 의존하는 제1레벨이다. 확장하여, 프레임 F4는 프레임 F1에 간접적으로 의존하는 제2레벨이다.
도 15는 직접적 프레임 부담을 계산하는 방법(1510)을 도시한다. 전술한 바와 같이, 방법은 결정 모듈(744)에 의해 구현될 수 있다. 다른 일 실시예에서, 방법은 다른 디바이스나 모듈에 의해 구현될 수 있다. 설명을 위해, 방법은 결정 모듈을 이용하여 설명한다.
단계(1520)에서, 결정 모듈은 현재 처리되고 있는 GOP의 크기 또는 길이인 N을 계산한다. 단계(1530)에서, 결정 모듈은 선행하는 I 프레임에 대하여 1로 시작하여 각 프레임에 프레임 번호를 할당한다. 일 실시예에서, 이러한 프레임 번호들은 프레임들의 프레임 관찰 순서이다. 단계(1540)에서, 결정 모듈은 중간 부담 정보를 저장하기 위한 크기 N×N의 테이블 D를 생성한다. 결정 모듈은 또한 크기 N의 가중 벡터 X를 생성한다. 다른 일 실시예에서, 결정 모듈은 새로운 테이블과 벡터를 생성하는 것 대신에 기존의 테이블과 벡터를 이용한다. 단계(1550)에서, 결정 모듈은 테이블의 값들의 각각을 제로로 함으로써 테이블 D를 초기화한다. 또 다른 일 실시예에서, 테이블은 미리 초기화되었을 수도 있다.
단계(1560)에서, 결정 모듈은 테이블 D에서 서로 직접 의존하는 프레임들 간의 매핑을 생성한다. 구체적으로, GOP의 각 프레임 i마다, 결정 모듈은 GOP 내의 다른 모든 프레임들 j에 대한 의존성을 검사 및 기록한다. 일단 프레임 i의 프레임 j에 대한 의존성이 식별되면, 값 1이 테이블 D의 위치(i,j)에 할당되며, 여기서 i는 열을 나타내고 j는 행을 나타낸다. 예를 들어, 프레임 2가 고려 중인 현재 프레임 (i)이고 프레임 1(j)에 의존하면, 결정 모듈은 테이블 D의 위치(2,1)에 값 1을 할당한다. 당업자라면, i가 열이고 j가 행인 표기 D(i.j)는 표기가 알고리즘 전체에 걸쳐 일관성 있게 사용되는 한 표기 D(j,i)와 논리적으로 등가라는 점을 인식할 것이다.
단계(1570)에서, 결정 모듈은 프레임마다 가중치 부여된 직접 프레임 우선순위를 결정한다. 구체적으로, 프레임 j마다, 결정 모듈은 값들을 I의 모든 값들에 대하여 테이블 D(i,j)의 합산한 후 1을 더한다. 이 합이 프레임 j에 대한 직접적인 의존성의 개수이다. 이어서, 결정 모듈은 그 합을 가중 벡터 X로부터의 가중치 X(j)로 승산한다. 그 결과 얻어지는 값들은 결정 모듈에 의해 길이 N 벡터에 저장될 수 있다. 그 결과 벡터에서의 값들은 GOP 내의 프레임들의 가중치 부여된 직접 프레임 우선순위를 나타낸다.
도 18은 직접 프레임 부담 테이블 D를 도시한다. 도 18의 테이블 D는, 도 12에 도시한 GOP를 사용하여 도 15에 대하여 설명한 방법에 따라, 생성되었다. 도시한 바와 같이, 테이블 D의 각 엔트리(i,j)는 프레임(i)이 프레임(j)에 의존하는지를 가리킨다. 예를 들어, 프레임 B3이 이 GOP의 B4에 의존하므로, 값 1이 D(3,4)에 위치한다. 그 결과, 프레임 j마다 가중치 부여된 직접 우선순위가 또한 도 18에 도시되어 있다. 이 결과는, 해당 프레임에 대한 값들의 합, 즉, 테이블 D의 해당 프레임의 행의 값들의 합 더하기 1을 한 후에 도 16에 도시한 가중 벡터 X로부터의 대응하는 가중치를 승산한 것이다. 도시한 바와 같이, 프레임 I 프레임 I1은 최고 우선순위를 갖는다. 그러나, 도 9에 대하여 전술한 방법에 따라 결정 모듈에 의해 생성되는 B 프레임의 부담과는 대조적으로, 도 18에 도시한 B 프레임의 부담은 의존성의 개수에 기초한다. 이에 따라, 결정 모듈은 B 프레임들에 1, 5, 또는 7 단위의 부담을 할당한다.
일 실시예에서, 단계(1560)에서의 결정 모듈은 각 프레임을 서로 의존하는 것으로 간주한다. 본 실시예에서, 단계(1570)에서, 결정 모듈은 테이블 D로부터의 합에 1을 더하지 않는다.
다른 일 실시예에서, 직접 프레임 부담 테이블 D는 결정 모듈에 의해 1×N 벡터 D'으로 대체된다. 본 실시예에서, 단계(1590)에서, 결정 모듈은 프레임 j에 의존하는 각 프레임마다 D'(j)를 1씩 증분한다. 이어서, 프레임 j에 대한 가중치 부여된 직접 우선순위는, 각 요소 j마다 D(j)를 X(j)로 승산함으로써 계산된다.
전술한 바와 같이, 방법(1505)에 따라, 적어도 두 개의 인자, 즉, (1) 직접적으로 의존하는 프레임들의 양 및 (2) 프레임 가중치에 기초하여 프레임들 간의 우선순위를 상대적으로 설명한다. 가중 벡터 X(j)는 다양한 방식으로 생성될 수 있다.
예를 들어, 일 실시예에서, 가중 벡터 X는, I 프레임들에 할당된 가중치가 P 프레임들보다 크고 이에 따라 B 프레임들보다 크도록 값들을 포함한다. 도 16은 도 12에 도시한 GOP를 위한 이러한 구조를 갖는 가중 벡터 X를 도시한다. 이 예에서, 가중 벡터 X는 I 프레임에 대하여 값 3을 갖고, P 프레임에 대하여 값 2를 갖고, B 프레임에 대하여 값 1을 갖는다. 따라서, 프레임 1, 즉, 유일한 I 프레임에는 값 3이 할당되고, 모두 B 프레임들인 나머지 프레임들에는 값 1이 할당된다.
다른 일 실시예에서, 가중 벡터 X는 프레임들의 크기에 기초하는 값들을 포함한다. 일부 상황에서는, 더욱 많은 프레임들은 더욱 적은 프레임들에 비해 추가 장면 상세 또는 움직임을 포함할 가능성이 가장 높기 때문에 이러한 더욱 많은 프레임들의 우선순위를 증가시키는 것이 장점으로 된다. 가중치 부여시 크기를 이용하는 것은 프레임의 타입(I, B, 또는 P)과는 독립적으로 행해질 수 있고, 프레임의 크기와 타입 모두를 고려할 수도 있다. 예를 들어, 도 12의 GOP를 참조해 보면, 리프 프레임 B5와 B6은 중요한 장면 상세 또는 움직임을 포함할 수 있다. 이 경우, 이러한 B 프레임들의 크기는 나머지 리프 B 프레임 및 넌리프(non-leaf) B 프레임들보다 크다. 가중 벡터 X는, 이러한 점을, 프레임 B5와 B6에 대응하는 가중값들을 증가시킴으로써 고려할 수 있다.
일 실시예에서, 가중 벡터에는 프레임의 상대적 크기 또는 절대적 크기에 기초하여 상대적 가중치(예를 들어 1 내지 10)가 할당된다. 일 실시예에서, 할당은, 폐쇄 형태 표현, 히스토그램 함수, 또는 함수의 다른 타입을 이용하여 행해진다. 일 실시예에서, 할당 함수는 정수 형태 또는 실수 형태의 가중치를 생성한다. 함수는 선형 또는 비선형일 수 있다.
도 17은 가중 벡터 X를 도시하고, 여기서 가중값들은 전술한 바와 같이 프레임들의 크기를 포함한다. 가중 벡터는 도 12에 도시한 GOP에 대응한다. 도 17에서 알 수 있듯이, 프레임 I1은 크기로 인해 가장 큰 가중치를 갖는다. 넌리프 노드 프레임들 B7, B4, B10은 이러한 프레임들의 더욱 큰 인코딩 크기로 인해 1보다 큰 가중치를 갖는다. 리프 노드들 B5와 B6이 상세 또는 움직임의 상당량을 포함하기 때문에, 이들의 더욱 큰 크기에 따라, 이들의 가중치가 다른 모든 B 프레임들보다 커진다.
도 19는 직접 의존성 및 간접 의존성 모두에 기초하여 부담을 결정하는 방법(1902)을 도시한다. 전술한 바와 같이, 방법은 결정 모듈(744)에 의해 구현될 수 있다. 다른 일 실시예에서, 방법은 다른 디바이스나 모듈에 의해 구현될 수 있다. 설명을 위해, 방법은 결정 모듈을 이용하여 설명한다.
단계들(1905, 1910, 1915, 1920, 1925, 1930)은 도 15와 관련하여 설명한 방법(1505)의 대응하는 단계들과 마찬가지이다. 이러한 단계들의 구현 상세에 대해서는, 도 15에 관한 설명을 다시 참조하기 바란다. 단계(1935)에서 계속하여, 결정 모듈은 총 부담 테이블 T를 생성한다. 결정 모듈은 단계(1930)에서 생성된 테이블 D의 값들을 테이블 T에 복사한다. 총 부담 테이블 T는, 직접 의존성과 간접 의존성 모두가 부담에 끼치는 영향을 결정하도록 결정 모듈이 사용하는 N×N 테이블이다. 예를 들어, 도 12의 GOP에 대하여, 결정 모듈(744)은 이 트레이스백(trace-back) 방안을 이용하여 프레임 B9의 (B7을 통한) 프레임 I1에 대한 의존성을 고려한다. 구체적으로, 결정 모듈은 프레임 I1의 부담 값에서 프레임 B9의 프레임 I1에 대한 부담을 포함한다. 일 실시예에서, 결정 모듈은 한 프레임의 다른 한 프레임에 대한 간접 의존성을 고려하도록 트레이스백 방안을 이용한다.
단계(1940)에서, 결정 모듈은 두 개의 인덱스의 값, 즉, i와 j를 1로 설정한다. 단계(1945)에서, 결정 모듈은 위치(i,j)에서의 테이블 T의 값이 0보다 큰지를 결정한다. 이러한 방식으로, 결정 모듈은 프레임 j가 의존 프레임을 갖는지를 결정한다. 0보다 크다면, 방법은 단계(1950)로 진행한다. 단계(1950)에서, 결정 모듈은 프레임 j에 대하여 의존 간접 부담 테이블 D를 사용하여 프레임 j 자체가 다른 임의의 프레임들에 의존하는지를 결정한다. 의존한다면, 프레임 j의 의존 프레임은 j가 의존하는 프레임의 부담에 포함된다. 예를 들어, 도 12에서 언급한 GOP 및 도 18의 테이블 D를 이용하여, B9의 B7에 대한 직접 의존성이 직접 부담 테이블 D에서 1과 동일한 D(9,7)의 값으로서 표시된다. 단계(1250)에서, 결정 모듈은 B7 자체가 임의의 프레임에 의존하는지를 결정한다. 결정 모듈은 이 프로세스를 테이블 D의 열 7에서 0보다 큰 임의의 엔트리의 존재를 검색함으로써 수행한다. 이 예에서, 테이블 위치 D(7,1)에서 1이 발견되며, 프레임 B7이 프레임 I1에 의존함을 가리킨다. 따라서, 정의하자면, 프레임 B9가 프레임 I1에 간접적으로 의존하는 제1레벨이다. 이 정보는 1을 총 부담 테이블 T의 위치 T(9,1)에 배치함으로써 기록된다. 도 20은 도 19에 대하여 설명한 총 프레임 부담 테이블 T를 도시한다. 테이블 T에서의 음영 있는 값들은 도 19의 방법을 이용하여 결정 모듈에 의해 캡처된 간접 의존성을 나타낸다.
단계(1950)로부터 계속하여, 또는 결정 단계(1945)의 결과가 아니오이면, 방법은 단계(1955)로 진행한다. 단계(1955)에서, 결정 모듈은 인덱스 j를 값 N과 비교한다. j가 N보다 작으면, 방법은 단계(1960)로 진행한다. 단계(1960)에서, 결정 모듈은 인덱스 j를 1씩 증분하고, 방법은 결정 단계(1945)로 복귀한다. 결정 단계(1955)로 복귀하여, 인덱스 j가 N보다 작지 않으면, 방법은 단계(1965)로 진행한다. 단계(1965)에서, 결정 모듈은 인덱스 j를 1로 설정한다. 단계(1970)에서 계속하여, 결정 모듈은 인덱스 i가 N보다 작은지를 결정한다. i가 N보다 작으면, 방법은 단계(1975)로 진행한다. 단계(1975)에서, 결정 모듈은 인덱스 i를 1씩 증분하고, 방법은 결정 단계(1945)로 복귀한다. 결정 단계(1970)로 복귀하여, 인덱스 i가 N보다 작지 않으면, 방법은 단계(1985)로 진행한다.
단계들(1940, 1955, 1960, 1965, 1970, 1975)의 영향은 결정 모듈이 2 레벨 '네스티드' 루프(two level 'nested' loop)를 이용하여 GOP의 의존성을 평가하는 것이다. 따라서, 결정 모듈은 총 부담 테이블 T의 태뷸레이션(tabulation)을 위해 직접 부담 테이블 D에서 값들 모두를 탐색한다.
네스티드 루프들은, 결정 모듈이 단계(1970)에서 '아니오' 결정에 이른 후에 완료된다. 이때, 총 부담 테이블 T는 모든 GOP 프레임들 간의 직접 및 제1레벨 간접 프레임 관계들을 포함한다. 단계(1985)에서, 각 프레임 j마다, 결정 모듈은 모든 값들 i에 대하여 테이블 T(i,j)의 값들을 합산하고, 1을 더한 후, 그 결과 값에 가중치 X(j)를 승산한다. 1을 더함으로써 부담이 비제로(non-zero)로 되고, 이에 따라 서로 다른 가중치를 통한 구별이 가능해진다는 점에 주목한다. 예를 들어, 의존성이 없는 (부담이 동일한) 두 개의 B 프레임들이 서로 다른 가중치를 갖는 경우(예를 들어, 이 프레임들의 크기가 서로 다른 경우), 1을 더하지 않으면, 부담들이 0으로 되어, 부담의 각 가중치의 곱이 그 두 개의 B 프레임 모두에 대하여 0으로 된다. 그러나, 1을 더함으로써, 부담과 가중치의 곱이 그 두 개의 B 프레임 모두에 대하여 동일하지 않게 될 수 있다. 그 결과, N 길이 벡터가 GOP에 대하여 가중치 부여된 총 프레임 우선순위이다. 결정 모듈에 의한 결정된 총 프레임 우선순위는 도 20에 도시되어 있으며, 여기서 사용된 가중 벡터는 도 16에 도시한 가중 벡터이다.
도 19에 대하여 설명한 '트레이스백' 방법은, 간접 의존성의 단일 레벨 및 직접 의존성에 기초하여 프레임 부담을 계산한다. 당업자라면, 의존성 레벨들의 개수를 한정하지 않고 이 방법을 확장하여 모든 간접 의존성의 영향을 포함할 수 있음을 인식할 것이다. 다시 말하면, '트레이스백'은, 결정 모듈이 루트로부터 리프 노드로의 의존성을 추종하도록 설계될 수 있다.
의존성 트랙킹을 확장하는 일 실시예는, 결정 모듈이 n-1개의 추가 부담 테이블 T2 내지 Tn을 생성하는 것이며, 여기서 각 부담 테이블은 n번째 레벨 간접 의존성을 통한 직접 의존성으로부터의 모든 의존성의 축적 표현을 나타낸다. 예를 들어, 테이블 T3은 직접 의존성들 더하기 모든 제1, 제2, 제3레벨 간접 의존성들을 나타낸다. 도 19의 방법에 있어서, 단계(1935 내지 1975)는 각 테이블 Tn마다 결정 모듈에 의해 수행된다. 그러한 단계들에서, Tn은 테이블 T를 대신하고, 테이블 T(n-l)은 테이블 D를 대신한다. 결정 모듈은, 일단 테이블 Tn의 모든 요소들이 테이블 T(n+1)의 모든 요소들과 동일하면, 즉, 추가 부담 테이블 T(n+1)의 생성에 의해 새로운 의존성이 식별되지 않으면, 테이블 생성을 완료한다.
다른 일 실시예에서, 결정 모듈은 중복 의존성을 고려할 수 있다. 예를 들어, 도 12의 GOP에 기초하는 도 18의 테이블에 도시한 바와 같이, 전술한 방법들은 하나보다 많은 의존성 경로가 프레임들 간에 존재하면 프레임 부담을 증가시키지 않는다. 예를 들어, 프레임 I1에는, I1과 B3 간에 두 개의 의존 경로가 존재한다는 사실에도, 의존 프레임 B3으로 인해 부담 단위 1이 할당된다. 하나는 직접적이며, 나머지 하나는 프레임 B4를 통하기에 간접적이다. 일 실시예에서, 결정 모듈은 프레임 부담들 간의 차를 더욱 증폭하기 위해 이러한 중복 참조들을 고려한다. 예를 들어, 위의 경우에, 프레임 I1에는, 프레임 B3과 I1 간의 제2중복 참조로 인해 하나의 추가 부담 단위가 할당된다.
도 15와 도 19에 대하여 설명한 방법들은 인트라 GOP 의존성을 고려한다. 다른 실시예들에서, 결정 모듈은 또한 개방된 GOP 구조에 존재하는 인터 GOP 의존성을 고려한다.
전술한 바와 같이, 다수의 방안을 이용하여 총 프레임 우선순위의 계산시 결정 모듈이 사용하는 데 유용한 가중 벡터 X를 생성할 수 있다. 예를 들어, 도 16과 도 17에 대하여 전술한 바와 같이, 가중치는 프레임 타입(I, P, 또는 B)에 기초하여, 프레임 크기에 의해, 또는 이들 두 가지의 소정의 조합에 의해 할당될 수 있다.
다른 일 실시예에서, 가중 벡터는 크기 N×N의 가중 테이블 X의 형태로 확장된다. 이 방안에서는, 가중치 할당 및 우선순위 계산시 프레임 의존성에 관한 추가 정보를 고려한다. 일 실시예에서, 가중치는, 고려되고 있는 프레임들 간의 관계의 '직접성'에 기초하여 의존성에 적용된다. 즉, 직접 의존성에 적용되는 가중치는 간접 의존성에 적용되는 가중치보다 크다. 다른 일 실시예에서, 제1레벨 간접 의존성은 제2레벨 간접 의존성보다 높은 가중치를 부여받는다. 마찬가지로, 제2레벨 간접 의존성은 제3레벨보다 높은 가중치를 부여받으며, 이러한 식으로 가능하다.
예를 들어, 가중값중값 2, 1은 직접 의존성, 제1레벨 간접 의존성, 및 제2레벨 간접 의존성에 각각 적용될 수 있다. 도 21은 도 20의 총 프레임 부담 테이블 T에 대하여 이러한 가중치 부여 기법을 이용하기 위한 가중 테이블 X를 도시한다.
크기 N×N의 가중 테이블 X는 도 19의 단계(1985)에서의 크기 N의 가중 벡터 X를 대체할 수 있다. 가중 테이블 X를 사용하는 경우, 가중치 부여된 총 프레임 우선순위는, 1 내지 N인 i의 모든 값들에 대하여 T(i,j) * X (i,j)의 곱을 합산함으로써 각 프레임 j마다 계산될 수 있다.
장점으로는, 이러한 방안은 프레임 에러가 GOP를 통해 전파될 때 I 매크로블록들에 의해 에러 전파가 완화될 수 있음을 고려한다. 따라서, 프레임들 간의 '직접성'의 레벨이 또한 감소되므로 의존성의 중요도를 감소시킬 수 있다.
슬라이스
MPEG-2, MPEG-4, H.264에서, 프레임들은 슬라이스들로 더 세분될 수 있다. 슬라이스들은 모두 동일한 프레임으로부터 매크로블록들의 정수 배를 포함한다. 프레임을 슬라이스들로 나누는 것은 한 프레임에 대하여 단일 슬라이스를 사용함으로써 구현될 수 있다. 프레임은 또한 j개의 슬라이스들로 나누어질 수 있으며, 각 슬라이스는 고정된 개수의 매크로블록들을 갖는다. 대안으로, 프레임은 k개의 슬라이스들로 나누어질 수도 있으며, 각 슬라이스는 가변 개수의 매크로블록들을 갖는다. 한 슬라이스 내의 매크로블록들은 동일한 프레임으로부터의 다른 슬라이스들 내의 매크로블록들에 의존하지 않는다. 슬라이스가 전체 프레임보다 작으면, 슬라이스 손실은 전체 프레임의 손실보다 비디오 품질에 영향을 덜 끼친다.
프레임에서와 같이, I 슬라이스, P 슬라이스, B 슬라이스가 있다. I 슬라이스들은 다른 프레임들의 매크로블록들에 의존하지 않고 인코딩되는 I 매크로블록들만을 포함한다. P 슬라이스들은 I 매크로블록들, 또는 P 매크로블록들, 또는 둘 다를 포함할 수 있다. P 매크로블록들은 이전의(또는 다음의) I 프레임이나 P 프레임에 기초하여 인코딩된다. B 슬라이스들은 I, P, 또는 B 매크로블록들, 또는 임의의 조합을 포함할 수 있다. B 매크로블록들은 이전의 및 후속하는 I 또는 P 프레임들 모두에 기초하여 양방향으로 인코딩된다.
프레임에 대하여 전술한 동일한 우선순위화 방법을 슬라이스에 적용할 수 있다. 예를 들어, I I 프레임의 일부인 슬라이스에는 결정 모듈에 의해 원래의 I 프레임과 동일한 부담과 우선순위가 할당될 수 있다. 마찬가지로, P 슬라이스의 부담과 우선순위에는 원래의 P 프레임과 동일한 부담과 우선순위가 할당될 수 있다. B 슬라이스에 대한 부담과 우선순위에는 원래의 B 프레임과 동일한 부담과 우선순위가 할당될 수 있다.
프레임의 한 슬라이스 내의 매크로블록들은 프레임을 포함하는 나머지 슬라이스들의 매크로블록들과는 독립적으로 디코딩될 수 있으므로, 슬라이스들을 우선순위화함으로써, 데이터 레이트의 감소가 필요하거나 유익한 경우 혼잡 시간 또는 다른 시간 동안 더욱 미세한 폐기가 가능해진다.
부담과 프레임 또는 슬라이스 타입에 기초한 우선순위화에 더하여, 결정 모듈은 슬라이스들이 포함하는 각각의 다양한 매크로블록의 상대량에 기초하여 동일한 부담을 갖는 슬라이스들을 더 구별할 수 있다. 예를 들어, 두 개의 P 슬라이스가 동일한 부담을 갖는다면, I 매크로블록들이 더 많고 P 매크로블록들이 더 적은 P 슬라이스에는, I 매크로블록들이 더 적거나 P 매크로블록들이 더 많은 P 슬라이스보다 우선순위가 주어질 수 있다. 대안으로, 미세 우선수위 조절은 슬라이스 내의 P 매크로블록들에 대한 I 매크로블록들의 비에 기초할 수 있다. 마찬가지의 미세 우선순위 조절을 I, P, B 매크로블록들의 카운트 또는 비에 기초하여 B 슬라이스들에 적용할 수 있다. 다른 일 실시예에서, I 매크로블록들은 통상적으로 P 매크로블록들보다 많은 데이터를 포함하고 P 매크로블록들은 통상적으로 B 매크로블록들보다 많은 데이터를 포함하므로, 결정 모듈은 슬라이스에 포함된 매크로블록들의 평균 크기에 기초하여 우선순위를 조절할 수 있다. 이는, 바이트인 슬라이스의 크기를 그 슬라이스 내의 매크로블록들의 개수로 나눔으로써 계산될 수 있다.
일 실시예에서, 결정 모듈은 스코어링 시스템을 구현한다. 예를 들어, 결정 모듈은, 슬라이스들이 다른 우선순위 레벨 또는 부담으로 가로지르는 것을 허용하지 않으면서 동일한 우선순위 레벨 또는 부담의 슬라이스들 내의 매크로블록들의 차를 고려하는 조절을 적용할 수 있다. 일 실시예에서, 결정 모듈은, 우선순위 값으로부터 수를 가산하거나 감산함으로써 우선순위 값을 다음으로 낮은 또는 높은 우선순위를 향하여 절반 미만으로 이동시키는 그 수를 사용한다. 우선순위 레벨들 간의 차가 정수 값 1이면, 0 초과 0.5 미만인 임의의 수 x를 사용할 수 있다. 예를 들어, x는 0.4일 수 있다.
도 22는 슬라이스 내의 매크로블록들에 기초하여 슬라이스의 우선순위를 수정하는 방법(2205)을 도시한다. 전술한 바와 같이, 방법은 결정 모듈(744)에 의해 구현될 수 있다. 다른 일 실시예에서, 방법은 다른 디바이스나 모듈에 의해 구현될 수 있다. 설명을 위해, 방법은 결정 모듈을 이용하여 설명한다. 또한, 본 설명에서, 더욱 낮은 우선순위 번호는 더욱 높은 우선순위를 의미한다. 당업자라면, 이 방법을 프레임 내의 매크로블록들에 기초하여 프레임의 우선순위를 수정하는 데 사용할 수도 있음을 인식할 것이다.
결정 단계(2210)에서, 결정 모듈은 프레임의 현재 슬라이스가 I 슬라이스인지를 결정한다. I 슬라이스이면, 현재 슬라이스의 평가가 종료되고, 다음 슬라이스를 고려한다. 현재 슬라이스가 I 슬라이스가 아니면, 방법은 단계(2220)로 진행한다. 단계(2220)에서, 결정 모듈은, I 매크로블록들인 현재 슬라이스 내의 매크로블록들의 퍼센트인 값 y를 결정한다. 단계(2230)에서 계속하여, 결정 모듈은 x와 y를 스산하고 그 곱을 슬라이스의 현재 우선순위로부터 감산함으로써 현재 슬라이스의 우선순위를 조절한다. 이러한 방식으로, 슬라이스 내의 I 매크로블록들의 존재에 따라, 슬라이스에 대한 더욱 낮은 우선순위 번호, 즉, 더욱 높은 유효한 우선순위가 발생한다.
단계(2240)에서 계속하여, 결정 모듈은 현재 슬라이스가 P 슬라이스인지를 결정한다. P 슬라이스이면, 현재 슬라이스의 평가가 종료되고, 다음 슬라이스를 고려한다. 현재 슬라이스가 P 슬라이스가 아니면, 방법은 단계(2250)로 진행한다. 단계(2250)에서, 결정 모듈은 B 매크로블록들인 현재 슬라이스 내의 매크로블록들의 퍼센트인 값 z를 결정한다. 단계(2260)에서 계속하여, 결정 모듈은, x와 z를 승산하고 그 곱을 슬라이스의 현재 우선순위에 가산함으로써 현재 슬라이스의 우선순위를 조절한다. 이러한 방식으로, 슬라이스 내의 B 매크로블록들의 존재에 따라, 슬라이스에 대한 더욱 높은 우선순위 번호, 즉, 더욱 낮은 유효한 우선순위가 발생한다. 다른 일 실시예에서는, 상대적 우선순위들을 더욱 제어하기 위해 단계(2330)에서 사용된 것과는 다른 x를 위한 값을 이 단계에서 사용할 수 있다. 전술한 바와 같이, 결정 모듈은 슬라이스의 우선순위에 대한 조절을 결정하기 위해 각 슬라이스마다 이 프로세스를 반복할 수 있다.
도 23은 슬라이스 내의 매크로블록들에 기초하여 슬라이스의 우선순위를 수정하는 방법(2305)을 도시한다. 전술한 바와 같이, 방법은 결정 모듈(744)에 의해 구현될 수 있다. 다른 일 실시예에서, 방법은 다른 디바이스나 모듈에 의해 구현될 수 있다. 설명을 위해, 방법은 결정 모듈을 이용하여 설명한다. 또한, 본 설명에서, 더욱 낮은 우선순위 번호는 더욱 높은 우선순위를 의미한다. 당업자라면, 프레임 내의 매크로블록들에 기초하여 프레임의 우선순위를 수정하는 데 이 방법을 적용할 수도 있음을 인식할 것이다.
단계들(2310, 2320, 2330, 2340)은 도 22의 방법(2205)의 대응하는 단계들과 동일하다. 이러한 단계들의 구현의 상세에 대해서는, 도 22에 대한 대응하는 단계들의 설명을 참조하기 바란다. 단계(2350)에서 계속하여, 결정 모듈은 P 매크로블록들인 현재 슬라이스 내의 매크로블록들의 퍼센트를 나타내는 수 z를 결정한다. 단계(2360)에서 계속하여, 결정 모듈은, x'과 z를 승산하고 그 곱을 슬라이스의 현재 우선순위에 감산함으로써 현재 슬라이스의 우선순위를 조절한다. 이 단계에서, x'는 x와 마찬가지로 계산되지만, B 슬라이스 내의 I 매크로블록들이 아닌 P 매크로블록들에 다른 조절을 적용할 수 있다.
당업자라면, I, P, B 매크로블록들의 개수, 퍼센트, 또는 크기에 기초하여 슬라이스 또는 프레임 우선순위에 다른 조절을 행할 수도 있음을 인식할 것이다.
H.264-AVC 등의 일부 비디오 표준들은 잉여 슬라이스들을 허용한다. 잉여 슬라이스들은 초기 프레임이 손실되거나 손상된 경우를 대비하여 잉여 정보를 반송한다. 우선순위를 갖는 폐기를 위해, 잉여 슬라이스들에는, 일반적으로 디코더가 필요로 하지 않으므로 B 슬라이스들의 우선순위 레벨보다 낮은 우선순위 레벨이 할당된다.
H.264-AVC 등의 일부 비디오 표준들은 비디오 스트림들 간의 더욱 쉽고 또는 더욱 빠른 교체를 가능하게 하는 슬라이스 교체를 허용한다. SI 슬라이스들은 완전히 다른 스트림들 간의 교체를 허용한다. 일 실시예에서, 스트림 교체가 예상되지 않으면, SI 슬라이스들에는, 일반적으로 디코더가 필요로 하지 않으므로 B 프레임들보다 낮은 우선순위가 할당된다. 그러나, 다수의 비디오 스트림들을 동시에 스트리밍하는 브로드캐스트 또는 멀티캐스트 시스템 등에서 스트림 교체가 흔할 것으로 예상되면, 정책은 SI 슬라이스들의 우선순위를 지시할 수 있고, SI 슬라이스들은 B 또는 P 슬라이스들보다 우선순위를 가질 수 있지만, 통상적으로 I 슬라이스들보다 우선순위를 갖지는 않는다. 마찬가지로, SP 슬라이스들은 서로 다른 레이트 또는 분해능으로 인코딩된 동일한 비디오 콘텐츠의 스트림들 간의 더욱 쉽고 또는 더욱 빠른 교체를 허용한다. 이러한 교체가 행해지지 않는 한, SP 슬라이들에는 B 슬라이스들보다 낮은 우선순위가 할당된다. 그러나, 이러한 교체가 행해진다면, SP 슬라이스들에는 P 슬라이스들과 동일한 방식으로 우선순위가 할당된다.
SI 및 SP 슬라이스들 모두는 사람인 관찰자의 제어 하에 비디오 재생 및 관리 기능들에 사용될 수 있다. 예를 들어, 사람은 현재 관찰되고 있는 콘텐츠를 앞으로 감기 또는 뒤로 감기하는 것을 선택할 수 있다. 사람은 관찰 스트림들(브로드캐스트 비디오에서 흔히 설명되듯이 '채널')을 변경하는 것을 선택하거나 이러한 재생이 시작되었다면 표시된 해상도 및/또는 스크린 크기를 조절할 수 있다. 비디오 표준과 인코딩 방법들에 따라, 이러한 관찰자 요청들은 SP 및/또는 SI 프레임들의 사용 또는 증가된 사용을 포함할 수 있다. 사용자 제어 응답 시간은 비디오 송신 및 재생 시스템을 위한 중요한 성능 메트릭이므로, SP 및/또는 SI 프레임들의 중요도는 이러한 사용자 요청 기간 동안 상당히 높다.
일 실시예에서는, SI 및 SP 프레임들에 대한 프레임 우선순위를 증가시킴으로써 SI 및 SP 프레임들의 동적 우선순위화를 이용하여 사용자 요청 및 응답을 검출한다. 이는, 예를 들어, 제어 응답 모듈(340)에 의해 구현될 수 있다. 요청 검출은 여러 형태를 취할 수 있다. 한 가지 방안은 특정한 사용자 요청을 검출하기 위해 (비디오 트래픽의 반대 방향으로 이동하는) 업링크 제어 트래픽을 감시하는 것이다. 다른 형태는, 예를 들어, 초당 프레임들을 사용하여 측정되는 SI 및 SP 프레임들에 대한 베이스라인 프레임 레이트를 확립하고, 현재의 SI 또는 SP 프레임 레이트가 이 베이스라인 레이트를 소정의 임계값만큼, 예를 들어, 2x의 인자만큼 초과하는 경우, 기간을 검출하는 것이다. 일단 사용자 요청이 검출되었다면, SI 또는 SP 프레임들에 대한 우선순위 레벨은 상승되고, I 프레임들에 현재 할당되어 있는 우선순위 레벨을 초과할 수도 있다. 증가된 우선순위 레벨은 사용자 요청(들)의 지속 기간 더하기 소정의 구성가능한 타임아웃 기간 동안 유지될 수 있다.
데이터 파티셔닝
H.264-AVC 등의 일부 비디오 표준들에서, 슬라이스 내의 데이터는 데이터 파티션들로 더 나누어질 수 있다. 예를 들어, H.264-AVC의 슬라이스는 세 개의 데이터 파티션으로 나누어질 수 있다. 데이터 파티션 1은 각 매크로블록마다 슬라이스 헤더 및 헤더 데이터를 포함한다. 데이터 파티션 2는 슬라이스로부터의 I 또는 SI 매크로블록들의 데이터 부분을 포함한다. 데이터 파티션 3은 슬라이스로부터의 P, B, SP 매크로블록들의 데이터 부분을 포함한다. 이러한 데이터 파티션들은 별도로 송신될 수 있다. 데이터 파티션들 1과 2 모두는 I 매크로블록들을 복구하는 데 필요하며, 이에 따라 결정 모듈에 의해 폐기 우선순위화를 위해 함께 링크될 수 있다. 파티션들 1과 2의 우선순위는, 슬라이스 우선순위 조절 알고리즘을 데이터 파티션 2에 적용하고 동일한 우선순위를 데이터 파티션 1에 할당함으로써 조절될 수 있다. 대안으로, 데이터 파티션 1은 데이터 파티션 3의 사용에도 필요하므로, 데이터 파티션 1에는 데이터 파티션 2의 우선순위보다 약간 높은 우선순위가 할당될 수 있다. 데이터 파티션 3의 우선순위는, 슬라이스 우선순위 조절 알고리즘을 데이터 파티션 3에 적용함으로써 조절될 수 있다.
당업자라면, 인텔리전트 폐기와는 다른 목적을 위해, 예를 들어, 요구되는 서비스 품질을 유지하면서 비디오 서비스로부터의 데이터가 얼마나 많이 폐기될 수 있는지에 관한 추가 정보를 제공하고 이에 따라 이러한 정보 없이 가능한 경우보다 더욱 많은 서비스들을 수락할 수 있게 함으로써 호출 수락 제어를 향상시키기 위해, 전술한 우선순위화를 사용할 수 있음을 인식할 것이다.
전술한 바와 같이, 전술한 패킷 폐기 및 프레임 분석은, 액세스 포인트, 기지국, 매크로셀, 피코셀, 기업급 펨토셀, 주거급 펨토셀, 중계기, 스몰 폼 팩터 기지국, 가입자국, 코어 네트워크 시스템, 또는 기타 디바이스를 포함하는 통신 디바이스나 시스템에 의해 수행될 수 있지만, 이러한 예로 한정되지는 않는다. 일부 실시예들에서, 이러한 통신 디바이스들은, 본 명세서에서 설명한 기능을 달성하도록 기능하는 하나 이상의 프로세서, 송수신기, 안테나 시스템, 및 컴퓨터 판독가능 메모리나 매체를 포함할 수 있다.
당업자라면, 본 명세서에서 개시한 실시예들에 관련하여 설명한 예시적인 다양한 논리 블록, 모듈, 유닛, 및 알고리즘 단계가 흔히 전자적 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수 있음을 인식할 것이다. 이를 명백하게 예시하도록, 하드웨어와 소프트웨어, 예시적인 다양한 부품, 유닛, 블록, 모듈, 및 단계의 교체 가능성을 일반적으로 해당 기능 면에서 전술하였다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지는, 전체 시스템에 가해지는 특정한 시스템 및 설계 제약들에 의존한다. 당업자라면, 전술한 기능을 각각의 특정한 시스템마다 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정이 본 발명의 범위로부터 벗어남을 야기하는 것으로서 해석해서는 안 된다. 또한, 유닛, 모듈, 블록, 또는 단계 내의 기능들의 그룹화는 설명을 쉽게 하기 위한 것이다. 특정 기능들이나 단계들은 본 발명으로부터 벗어나지 않고 하나의 유닛, 모듈, 또는 블록으로부터 이동할 수 있다.
본 명세서에서 개시한 실시예들에 관련하여 설명한 예시적인 다양한 논리 블록, 유닛, 단계, 및 모듈은, 본 명세서에서 설명한 기능들을 수행하도록 설계된, 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 기타 프로그래머블 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 부품, 또는 이들의 임의의 조합으로 구현되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로, 프로세서는 임의의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 스테이트 머신일 수 있다. 또한, 프로세서는, 계산 디바이스들의 조합으로서, 예를 들어, DSP와 마이크로프로세서, 복수의 마이크로프로세서, DSP 코어와 함께하는 하나 이상의 마이크로프로세서의 조합으로서, 또는 이러한 구성의 다른 임의의 것으로서 구현될 수 있다.
본 명세서에서 개시한 실시예들에 관련하여 설명한 블록 또는 모듈의 프로세스와 알고리즘 또는 방법의 단계들은, 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈(또는 유닛)에서, 또는 이들 둘의 조합에서 직접적으로 구체화될 수 있다. 소프트웨어 모듈은, RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 탈착가능 디스크, CD-ROM, 또는 기계 또는 컴퓨터 판독가능 저장 매체의 다른 임의의 형태에 상주할 수 있다. 예시적인 저장 매체는, 프로세서가 그 저장 매체에 대하여 정보를 판독하고 기록할 수 있도록 그 프로세서에 연결될 수 있다. 대안으로, 저장 매체는 프로세서와 일체형으로 될 수 있다. 프로세서와 저장 매체는 ASIC에 상주할 수 있다.
또한, 다양한 실시예들은, 예를 들어, 주문형 집적 회로들("ASICs"), 또는 필드 프로그래머블 게이트 어레이들("FPGAs") 등의 부품들을 사용하는 하드웨어에서 구현될 수도 있다.
상술한 개시한 실시예들은 당업자가 본 발명을 이용하거나 실시할 수 있도록 제공된 것이다. 이러한 실시예들을 다양하게 수정하는 것은 당업자에게 자명하며, 본 명세서에서 설명하는 일반적인 원리는 본 발명의 사상이나 범위로부터 벗어나지 않고 다른 실시예들에 적용될 수 있다. 따라서, 본 명세서에서 제시한 설명과 도면은 본 발명의 현재 바람직한 실시예를 나타내며 따라서 본 발명에 의해 넓게 고려되는 주제를 대표한다는 점을 이해하기 바란다. 또한, 본 발명의 범위는 당업자에게 명백해질 수 있는 다른 실시예들을 완전히 포함한다는 점을 이해하기 바란다.

Claims (33)

  1. 네트워크 상태에 응답하여 비디오 송신을 관리하는 시스템으로서,
    비디오 스트림의 각 프레임마다 우선순위 값(priority value)을 결정하도록 구성된 결정 모듈; 및
    상기 프레임들의 우선순위 값에 적어도 부분적으로 기초하여 하나 이상의 프레임을 폐기하도록 구성된 선택 모듈을 포함하되,
    각 프레임은 프레임 타입을 갖고, 각 프레임의 우선순위 값은 상기 프레임 타입에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  2. 제1항에 있어서, 각 프레임은 슬라이스 타입을 갖는 하나 이상의 슬라이스를 포함하고, 상기 결정 모듈은 상기 슬라이스 타입에 적어도 부분적으로 기초하여 상기 하나 이상의 슬라이스로부터 우선순위 값을 결정하도록 구성된 것인 비디오 송신 관리 시스템.
  3. 제2항에 있어서, 상기 선택 모듈은 상기 슬라이스들의 우선순위 값들에 기초하여 하나 이상의 슬라이스를 폐기하도록 구성된 것인 비디오 송신 관리 시스템.
  4. 제3항에 있어서, 폐기된 슬라이스들은 잉여(redundant) 슬라이스들인 것인 비디오 송신 관리 시스템.
  5. 제2항에 있어서, 슬라이스들을 교체하는 우선순위 값의 결정은 동적인 것인 비디오 송신 관리 시스템.
  6. 제2항에 있어서, 각 슬라이스는 복수의 데이터 파티션을 포함하고, 각 데이터 파티션은 타입을 가지며,
    상기 결정 모듈은 각 데이터 파티션마다 우선순위 값을 결정하도록 구성되고,
    각 데이터 파티션의 우선순위 값은 상기 프레임 타입에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  7. 제2항에 있어서, 상기 결정 모듈은, 상기 프레임의 슬라이스들에 대한 우선순위 값들에 적어도 부분적으로 기초하여 각 프레임마다 우선순위 값을 결정하도록 구성된 것인 비디오 송신 관리 시스템.
  8. 제2항에 있어서, 각 슬라이스는 매크로블록 타입을 갖는 하나 이상의 매크로블록을 포함하고, 각 슬라이스의 우선순위는 해당 슬라이스의 매크로블록들의 매크로블록 타입들에 적어도 부분적으로 기초하여 결정되는 것인 비디오 송신 관리 시스템.
  9. 제2항에 있어서, 각 슬라이스에 대한 우선순위 값은 해당 슬라이스의 크기에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  10. 제1항에 있어서, 각 프레임에 대한 우선순위 값은 해당 프레임의 크기에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  11. 제1항에 있어서, 각 프레임에 대한 우선순위 값은 인접하는 프레임이 폐기되었는지의 여부에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  12. 제2항에 있어서, 각 프레임은 매크로블록 타입을 갖는 하나 이상의 매크로블록을 포함하고, 각 슬라이스의 우선순위는 해당 슬라이스의 매크로블록들의 매크로블록 타입들에 적어도 부분적으로 기초하여 결정되는 것인 비디오 송신 관리 시스템.
  13. 네트워크 상태에 응답하여 비디오 송신을 관리하는 시스템으로서,
    픽처들의 그룹(group of pictures; GOP) 내의 각 프레임마다 우선순위 값을 결정하도록 구성된 결정 모듈을 포함하되,
    상기 프레임들 중 하나 이상은 디코딩을 위해 다른 프레임에 의존하고, 각 프레임의 우선순위 값은 해당 프레임에 의존하는 프레임들의 개수에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  14. 제13항에 있어서, 상기 프레임들의 우선순위 값에 적어도 부분적으로 기초하여 하나 이상의 프레임을 폐기하도록 구성된 선택 모듈을 더 포함하는 비디오 송신 관리 시스템.
  15. 제14항에 있어서, 각 프레임의 우선순위 값은 해당 프레임에 직접 의존하는 프레임들의 개수에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  16. 제14항에 있어서, 각 프레임의 우선순위 값은 해당 프레임에 간접적으로 의존하는 프레임들의 개수에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  17. 제13항에 있어서, 각 프레임의 우선순위 값은 해당 프레임에 연관된 가중 인자에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  18. 제17항에 있어서, 각 프레임은 프레임 타입을 갖고, 상기 프레임에 연관된 가중 인자는 해당 프레임의 프레임 타입에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  19. 제17항에 있어서, 상기 프레임에 연관된 가중 인자는 해당 프레임의 크기에 적어도 부분적으로 기초하는 것인 비디오 송신 관리 시스템.
  20. 네트워크 상태에 응답하여 비디오 송신을 관리하는 컴퓨터 구현 방법으로서,
    하나 이상의 디바이스에 송신할 픽처들의 그룹(GOP) 내의 복수의 프레임을 수신하는 단계;
    상기 GOP 내의 각 프레임을 송신하는 데 이용가능한 대역폭이 불충분하다고 결정하는 단계;
    상기 GOP 내의 각 프레임마다 우선순위 값을 결정하는 단계로서, 상기 프레임들 중 하나 이상이 디코딩을 위해 다른 프레임에 의존하고, 각 프레임의 우선순위 값은 해당 프레임에 의존하는 프레임들의 개수에 적어도 부분적으로 기초하는 것인, 상기 우선순위 값을 결정하는 단계;
    각 프레임의 우선순위 값에 기초하여 상기 프레임들 중 하나 이상을 폐기하는 단계; 및
    비폐기 프레임들(non-discarded frames)을 상기 하나 이상의 디바이스에 송신하는 단계를 포함하는 컴퓨터 구현 방법.
  21. 제20항에 있어서, 상기 각 프레임마다 우선순위 값을 결정하는 단계는 해당 프레임에 직접 의존하는 프레임들의 개수에 적어도 부분적으로 기초하는 것인 컴퓨터 구현 방법.
  22. 제21항에 있어서, 상기 각 프레임마다 우선순위 값을 결정하는 단계는 해당 프레임에 간접적으로 의존하는 프레임들의 개수에 적어도 부분적으로 기초하는 것인 컴퓨터 구현 방법.
  23. 제20항에 있어서, 상기 각 프레임마다 우선순위 값을 결정하는 단계는 해당 프레임에 연관된 가중 인자에 적어도 부분적으로 기초하는 것인 컴퓨터 구현 방법.
  24. 제23항에 있어서, 각 프레임은 프레임 타입을 갖고, 상기 프레임에 연관된 가중 인자는 해당 프레임의 프레임 타입에 적어도 부분적으로 기초하는 것인 컴퓨터 구현 방법.
  25. 제23항에 있어서, 상기 프레임에 연관된 가중 인자는 해당 프레임의 크기에 적어도 부분적으로 기초하는 것인 컴퓨터 구현 방법.
  26. 네트워크 상태에 응답하여 비디오 송신을 관리하는 컴퓨터 구현 방법으로서,
    하나 이상의 디바이스에 송신할 비디오 스트림 내의 복수의 프레임을 수신하는 단계;
    상기 비디오 스트림 내의 각 프레임을 송신하는 데 이용가능한 대역폭이 불충분하다고 결정하는 단계;
    상기 비디오 프레임 내의 각 프레임마다 우선순위 값을 결정하는 단계로서, 각 프레임은 프레임 타입을 갖고, 각 프레임의 우선순위 값은 상기 프레임 타입에 적어도 부분적으로 기초하는 것인, 상기 우선순위 값을 결정하는 단계;
    각 프레임의 우선순위 값에 기초하여 상기 프레임들 중 하나 이상을 폐기하는 단계; 및
    비폐기 프레임들을 상기 하나 이상의 디바이스에 송신하는 단계를 포함하는 컴퓨터 구현 방법.
  27. 제26항에 있어서, 각 프레임은 슬라이스 타입을 갖는 하나 이상의 슬라이스를 포함하고, 상기 방법은, 상기 슬라이스 타입에 적어도 부분적으로 기초하여 상기 하나 이상의 슬라이스에 대한 우선순위 값을 결정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  28. 제27항에 있어서, 상기 슬라이스들의 우선순위 값들에 기초하여 하나 이상의 슬라이스를 폐기하는 단계를 더 포함하는 컴퓨터 구현 방법.
  29. 제27항에 있어서, 상기 결정 모듈은 상기 프레임 내의 슬라이스들에 대한 우선순위 값들에 적어도 부분적으로 기초하여 각 프레임마다 우선순위 값을 결정하도록 구성된 것인 컴퓨터 구현 방법.
  30. 제27항에 있어서, 각 슬라이스는 매크로블록 타입을 갖는 하나 이상의 매크로블록을 포함하고, 각 슬라이스의 우선순위는 해당 슬라이스 내의 매크로블록들의 매크로블록 타입들에 적어도 부분적으로 기초하여 결정되는 것인 컴퓨터 구현 방법.
  31. 제27항에 있어서, 각 슬라이스에 대한 우선순위 값은 해당 슬라이스의 크기에 적어도 부분적으로 기초하는 것인 컴퓨터 구현 방법.
  32. 제26항에 있어서, 각 프레임에 대한 우선순위 값은 해당 프레임의 크기에 적어도 부분적으로 기초하는 것인 컴퓨터 구현 방법.
  33. 제27항에 있어서, 각 프레임은 매크로블록 타입을 갖는 하나 이상의 매크로블록을 포함하고, 각 슬라이스의 우선순위는 해당 슬라이스의 매크로블록들의 매크로블록 타입들에 적어도 부분적으로 기초하여 결정되는 것인 컴퓨터 구현 방법.
KR1020137015158A 2010-12-09 2011-09-27 통신 네트워크에서의 인텔리전트 폐기를 위해 데이터를 우선순위화하는 시스템 및 방법 KR101489413B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US42151010P 2010-12-09 2010-12-09
US61/421,510 2010-12-09
US13/155,102 2011-06-07
US13/155,102 US8627396B2 (en) 2009-06-12 2011-06-07 Systems and methods for prioritization of data for intelligent discard in a communication network
PCT/US2011/053493 WO2012078236A1 (en) 2010-12-09 2011-09-27 Systems and methods for prioritization of data for intelligent discard in a communication network

Publications (2)

Publication Number Publication Date
KR20130125779A true KR20130125779A (ko) 2013-11-19
KR101489413B1 KR101489413B1 (ko) 2015-02-04

Family

ID=46200848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137015158A KR101489413B1 (ko) 2010-12-09 2011-09-27 통신 네트워크에서의 인텔리전트 폐기를 위해 데이터를 우선순위화하는 시스템 및 방법

Country Status (7)

Country Link
US (3) US8627396B2 (ko)
EP (1) EP2649761A4 (ko)
KR (1) KR101489413B1 (ko)
CN (1) CN103270728A (ko)
CA (1) CA2820209C (ko)
TW (1) TW201246841A (ko)
WO (1) WO2012078236A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018088784A1 (en) * 2016-11-09 2018-05-17 Samsung Electronics Co., Ltd. Electronic apparatus and operating method thereof

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9036092B2 (en) * 2013-06-24 2015-05-19 Broadcom Corporation Video channel change system
EP2716011A1 (en) * 2011-06-01 2014-04-09 Interdigital Patent Holdings, Inc. Content delivery network interconnection (cdni) mechanism
EP2777197B1 (en) * 2011-11-10 2024-01-03 Assia Spe, Llc Method, apparatus, and system for optimizing performance of a communication unit by a remote server
US8838828B2 (en) * 2011-11-29 2014-09-16 Cisco Technology, Inc. Managing the bandwidth of a communication session
AU2011382613A1 (en) 2011-12-05 2014-07-17 Adaptive Spectrum And Signal Alignment, Inc. Systems and methods for traffic load balancing on multiple WAN backhauls and multiple distinct LAN networks
CA3034504C (en) 2011-12-05 2021-09-07 Adaptive Spectrum And Signal Alignment, Inc. Systems and methods for traffic aggregation on multiple wan backhauls and multiple distinct lan networks
US8917745B2 (en) * 2012-03-11 2014-12-23 Broadcom Corporation Channel bonding with orbital angular momentum
EP2959693B1 (en) * 2013-02-21 2017-11-22 Altiostar Networks, Inc. Systems and methods for coordinating transmission of data packets based on frame type detection in a base station
US9788078B2 (en) * 2014-03-25 2017-10-10 Samsung Electronics Co., Ltd. Enhanced distortion signaling for MMT assets and ISOBMFF with improved MMT QoS descriptor having multiple QoE operating points
CN107210923B (zh) 2014-12-04 2020-12-15 适应性频谱和信号校正股份有限公司 用于预测成功的dsl线路优化的方法和装置
CN104702968B (zh) * 2015-02-17 2019-06-11 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
US11812312B2 (en) 2015-05-25 2023-11-07 Apple Inc. Link quality based single radio-voice call continuity and packet scheduling for voice over long term evolution communications
WO2017127989A1 (zh) * 2016-01-25 2017-08-03 华为技术有限公司 控制方法、装置及网络控制器
DE112016006850T5 (de) * 2016-05-13 2019-02-07 Intel IP Corporation Vermeiden des Verwerfens kritischer Videodaten in einem Modem-Long Term Evolution-Stapel
KR101838074B1 (ko) * 2016-08-02 2018-03-13 엘지전자 주식회사 단말기 및 그 제어 방법
WO2018072675A1 (en) 2016-10-18 2018-04-26 Zhejiang Dahua Technology Co., Ltd. Methods and systems for video processing
CN108243073B (zh) * 2016-12-27 2021-07-30 富士通株式会社 数据传输方法和装置
CN106851595B (zh) * 2017-03-10 2019-08-02 Oppo广东移动通信有限公司 有序广播处理方法、装置和终端设备
CN109151612B (zh) * 2017-06-27 2020-10-16 华为技术有限公司 一种视频传输方法、设备及系统
US10735346B2 (en) 2017-12-30 2020-08-04 Intel Corporation Data block prioritization for internet of things payloads
CN110611831B (zh) * 2019-10-14 2022-02-08 浙江大华技术股份有限公司 一种视频传输方法及装置
CN111182310A (zh) * 2019-12-26 2020-05-19 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机可读介质及电子设备
CN113472680A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 丢包处理方法、装置、通信装置及系统
CN111988561B (zh) * 2020-07-13 2022-05-03 浙江大华技术股份有限公司 视频分析的自适应调整方法、装置、计算机设备和介质
CN112463763B (zh) * 2020-11-19 2023-09-29 东北大学 基于RF算法的MySQL数据库参数筛选方法
WO2022131998A1 (en) 2020-12-18 2022-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Method to drop packets that are irrelevant to subscribers in mobile applications
IT202100025217A1 (it) * 2021-10-01 2023-04-01 Telecom Italia Spa Gestione di risorse di rete

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4240226C2 (de) * 1992-11-30 1996-12-12 Deutsche Forsch Luft Raumfahrt Verfahren zum digitalen Übertragen von hierarchischen HDTV-, EDTV- und SDTV-Fernsehsignalen
US5515377A (en) * 1993-09-02 1996-05-07 At&T Corp. Adaptive video encoder for two-layer encoding of video signals on ATM (asynchronous transfer mode) networks
US5481297A (en) * 1994-02-25 1996-01-02 At&T Corp. Multipoint digital video communication system
ZA959722B (en) * 1994-12-19 1996-05-31 Alcatel Nv Traffic management and congestion control for packet-based networks
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5941959A (en) * 1995-12-20 1999-08-24 Tandem Computers Incorporated System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building
JP3409966B2 (ja) * 1996-06-21 2003-05-26 株式会社日立製作所 パケット交換機およびパケット転送制御方法
JP3825099B2 (ja) * 1996-09-26 2006-09-20 富士通株式会社 映像データ転送方式およびビデオサーバ装置
JP3193947B2 (ja) 1997-01-08 2001-07-30 株式会社ディジタル・ビジョン・ラボラトリーズ データ送信システム及びデータ送信方法
US6094435A (en) * 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
EP0901261B1 (en) * 1997-09-05 2013-01-09 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
US6219339B1 (en) 1998-02-20 2001-04-17 Lucent Technologies Inc. Method and apparatus for selectively discarding packets
US6345038B1 (en) 1998-05-12 2002-02-05 International Business Machines Corporation Improving access to congested networks
US6400720B1 (en) * 1999-06-21 2002-06-04 General Instrument Corporation Method for transporting variable length and fixed length packets in a standard digital transmission frame
AU2752201A (en) 1999-11-08 2001-06-06 Megaxess, Inc. Quality of service (qos) negotiation procedure for multi-transport protocol access for supporting multi-media applications with qos assurance
US20030236745A1 (en) 2000-03-03 2003-12-25 Hartsell Neal D Systems and methods for billing in information management environments
US6747991B1 (en) 2000-04-26 2004-06-08 Carnegie Mellon University Filter and method for adaptively modifying the bit rate of synchronized video and audio streams to meet packet-switched network bandwidth constraints
US7200670B1 (en) * 2000-06-30 2007-04-03 Lucent Technologies Inc. MPEG flow identification for IP networks
KR100469735B1 (ko) 2000-07-18 2005-02-02 삼성전자주식회사 부호분할다중접속 이동통신시스템의 호 수용방법
AU2002235258A1 (en) 2000-12-27 2002-07-08 Ensemble Communications, Inc. Adaptive call admission control for use in a wireless communication system
US6922396B1 (en) 2000-12-29 2005-07-26 Cisco Technology, Inc. System and method for managing time sensitive data streams across a communication network
CA2399265C (en) 2001-08-29 2007-02-06 At&T Corp. Multi-frequency data transmission channel power allocation
EP1454249A4 (en) 2001-12-15 2006-07-19 Thomson Licensing SYSTEM AND METHOD FOR DISTRIBUTING DATA RIVERS OF SEVERAL DATA TYPES AT DIFFERENT PRIORITY LEVELS
US7139578B2 (en) 2002-03-22 2006-11-21 Lucent Technologies Inc. Method for managing wireless assets in a coverage area
US7483487B2 (en) 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
US6885638B2 (en) 2002-06-13 2005-04-26 Motorola, Inc. Method and apparatus for enhancing the quality of service of a wireless communication
US7359322B2 (en) 2002-08-12 2008-04-15 Telcordia Technologies, Inc. Dynamic bandwidth reallocation
US7359979B2 (en) 2002-09-30 2008-04-15 Avaya Technology Corp. Packet prioritization and associated bandwidth and buffer management techniques for audio over IP
US7310681B2 (en) 2003-06-23 2007-12-18 Hewlett-Packard Development Company, L.P. System and method for modeling the memory state of a streaming media server
US8406235B2 (en) 2003-11-26 2013-03-26 Qualcomm Incorporated Quality of service scheduler for a wireless network
WO2005060272A1 (en) 2003-12-16 2005-06-30 Agency For Science, Technology And Research Image and video quality measurement
KR100592907B1 (ko) 2003-12-22 2006-06-23 삼성전자주식회사 큐오에스를 향상시키기 위한 무선 인터넷 단말 장치 및패킷 전송 방법
WO2005074278A2 (en) * 2004-01-23 2005-08-11 Sarnoff Corporation Method and apparatus for providing dentable encoding and encapsulation
US7236746B2 (en) 2004-02-04 2007-06-26 Pctel, Inc. Method and apparatus for measurement and identification of co-channel interfering transmitters
US7587454B2 (en) 2004-12-08 2009-09-08 Nice Systems Ltd. Video streaming parameter optimization and QoS
EP1825684A1 (en) * 2004-12-10 2007-08-29 Koninklijke Philips Electronics N.V. Wireless video streaming using single layer coding and prioritized streaming
US7474627B2 (en) 2004-12-17 2009-01-06 Nortel Networks Limited Voice over internet protocol (VoIP) call admission and call regulation in a wireless network
EP1832015B1 (en) 2004-12-23 2014-02-26 Electronics and Telecommunications Research Institute A method for scheduling resources of packet level for integrated level for integrated traffic, and an apparatus therefor
KR101277877B1 (ko) 2005-01-21 2013-07-30 삼성전자주식회사 동기화 이더넷 시스템에서 지터없이 데이터를 전송하는 방법
KR20060122663A (ko) 2005-05-26 2006-11-30 엘지전자 주식회사 영상신호의 엔코딩 및 디코딩에서의 픽처 정보를 전송하고이를 이용하는 방법
CN100384252C (zh) 2005-06-15 2008-04-23 北京交通大学 一种覆盖网络组播下视频点播实现方法
US20070201365A1 (en) 2006-01-23 2007-08-30 Frederick Skoog Video packet multiplexer with intelligent packet discard
US8170116B2 (en) 2006-03-27 2012-05-01 Nokia Corporation Reference picture marking in scalable video encoding and decoding
US7609633B2 (en) 2006-06-12 2009-10-27 Cisco Technology, Inc. Bandwidth policer with compact data structure
US8514871B2 (en) 2006-07-24 2013-08-20 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for marking data packets based on content thereof
US8085775B1 (en) 2006-07-31 2011-12-27 Sable Networks, Inc. Identifying flows based on behavior characteristics and applying user-defined actions
CN100454903C (zh) 2006-08-17 2009-01-21 华为技术有限公司 一种对iub接口进行流量控制的方法
KR100908062B1 (ko) 2006-09-07 2009-07-15 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
US7646781B2 (en) 2007-05-25 2010-01-12 International Business Machines Corporation Methods, systems, and computer program products for selectively discarding packets
US8830818B2 (en) 2007-06-07 2014-09-09 Qualcomm Incorporated Forward handover under radio link failure
KR100975313B1 (ko) 2007-07-05 2010-08-12 삼성전자주식회사 다중 입출력 무선통신 시스템에서 다변 다항식을 이용한신호검출 장치 및 방법
US8019683B1 (en) 2007-11-02 2011-09-13 At&T Mobility Ii Llc Intelligent charging for services
US8660175B2 (en) 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units
US8141120B2 (en) 2008-01-03 2012-03-20 Nec Laboratories America, Inc. Adaptive scheduling of streaming video over wireless networks
US8761016B2 (en) 2008-03-28 2014-06-24 Georgia Tech Research Corporation Systems and methods for intelligent policy enforcement in access networks
US8509074B1 (en) 2008-03-31 2013-08-13 Saisei Networks Pte Ltd System, method, and computer program product for controlling the rate of a network flow and groups of network flows
US8301744B2 (en) 2008-08-08 2012-10-30 Telcordia Technologies, Inc. Systems and methods for QoS provisioning and assurance for point-to-point SIP sessions in DiffServ-enabled MPLS networks
WO2010099053A2 (en) 2009-02-24 2010-09-02 David Ryan Managing radio resources using extended management information bases in wireless networks
EP2441224B1 (en) 2009-06-12 2020-02-26 Taiwan Semiconductor Manufacturing Company, Ltd. Systems and methods for intelligent discard in a communication network
US9219925B2 (en) 2010-01-14 2015-12-22 Sumitomo Electric Industries, Ltd. Video image coded data display method, device, and communications system
CN102104468A (zh) 2011-02-18 2011-06-22 中兴通讯股份有限公司 一种基于路由代理的媒体感知arq控制方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018088784A1 (en) * 2016-11-09 2018-05-17 Samsung Electronics Co., Ltd. Electronic apparatus and operating method thereof
US10560730B2 (en) 2016-11-09 2020-02-11 Samsung Electronics Co., Ltd. Electronic apparatus and operating method thereof

Also Published As

Publication number Publication date
EP2649761A1 (en) 2013-10-16
US8627396B2 (en) 2014-01-07
US9253108B2 (en) 2016-02-02
CA2820209C (en) 2015-11-17
TW201246841A (en) 2012-11-16
KR101489413B1 (ko) 2015-02-04
EP2649761A4 (en) 2014-11-19
CA2820209A1 (en) 2012-06-14
US9043853B2 (en) 2015-05-26
US20120151540A1 (en) 2012-06-14
US20150256470A1 (en) 2015-09-10
US20140068680A1 (en) 2014-03-06
WO2012078236A1 (en) 2012-06-14
CN103270728A (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
US10164891B2 (en) Device and method for prioritization of data for intelligent discard in a communication network
KR101489413B1 (ko) 통신 네트워크에서의 인텔리전트 폐기를 위해 데이터를 우선순위화하는 시스템 및 방법
US8893198B2 (en) Systems and methods for prioritization of data for intelligent discard in a communication network
CA2786200C (en) Systems and methods for prioritization of data for intelligent discard in a communication network
US9264372B2 (en) Systems and methods for intelligent discard in a communication network

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180110

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190111

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200114

Year of fee payment: 6