KR101608772B1 - 메시지 교환 방법 및 싱크 디바이스 - Google Patents

메시지 교환 방법 및 싱크 디바이스 Download PDF

Info

Publication number
KR101608772B1
KR101608772B1 KR1020090071744A KR20090071744A KR101608772B1 KR 101608772 B1 KR101608772 B1 KR 101608772B1 KR 1020090071744 A KR1020090071744 A KR 1020090071744A KR 20090071744 A KR20090071744 A KR 20090071744A KR 101608772 B1 KR101608772 B1 KR 101608772B1
Authority
KR
South Korea
Prior art keywords
source device
data
command
message
video
Prior art date
Application number
KR1020090071744A
Other languages
English (en)
Other versions
KR20100135155A (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 엘지전자 주식회사
Priority to PCT/KR2009/005236 priority Critical patent/WO2010147263A1/en
Priority to EP09171854A priority patent/EP2265078B1/en
Priority to US12/591,166 priority patent/US8811275B2/en
Publication of KR20100135155A publication Critical patent/KR20100135155A/ko
Application granted granted Critical
Publication of KR101608772B1 publication Critical patent/KR101608772B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Abstract

본 발명은 무선 네트워크의 싱크 디바이스에서 소스 디바이스의 스위칭을 위한 메시지 교환 방법에 관한 것으로, 제1 소스 디바이스로부터 오디오/비디오(A/V) 데이터를 수신하는 단계, 상기 무선 네트워크 내의 제2 소스 디바이스가 A/V 데이터를 전송할 수 있는지를 확인하기 위해 제1 커맨드(command)를 상기 제2 소스 디바이스에 전송하는 단계, 상기 제2 소스 디바이스에 의해 상기 제1 커맨드에 대한 응답으로 전송된 것으로 상기 제2 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 제2 커맨드를 상기 제1 소스 디바이스로부터 수신하는 단계 및 상기 제2 커맨드에 포함된 상기 지시정보에 따라 상기 제2 소스 디바이스로의 스위칭 여부를 결정하는 단계를 포함한다.
WHDI, 엑티브 소스 디바이스, A/V 데이터, 소스 디바이스 스위칭

Description

메시지 교환 방법 및 싱크 디바이스{Method of exchanging messages exchanging and a sink device}
본 발명은 메시지 교환 방법 및 싱크 디바이스에 관한 것으로, 보다 상세하게는, 무선 네트워크에서 디바이스간 메시지를 교환하는 방법 및 이를 위한 싱크 디바이스에 관한 것이다.
최근에 통신, 컴퓨터 및 네트워크 기술의 발달로 인해 수많은 종류의 네트워크가 개발되어 실생활에서 구현되고 있다. 네트워크는 유선 또는 무선 인터넷과 같이전세계를 연결하는 대규모 네트워크가 존재하는 반면, 일반 가정 또는 직장 등과 같은 한정된 공간에서 가전 제품 사이를 연결하는 소규모의 유선 또는 무선 네트워크도 존재한다. 네트워크의 종류가 다양해짐에 따라 네트워크와 네트워크 사이 또는 디바이스와 디바이스를 연결하여 서로 간에 통신을 수행할 수 있도록 하는 인터페이싱(interfacing)기술 또한 다양해지고 있다.
도 1은 무선 사설망(WPAN: Wireless Private Access Network)의 일종인 WVAN(Wireless Video Access Network)의 일 예를 개략적으로 도시한 도면이다.
WVAN은 가정과 같은 10m 이내의 한정된 공간에서 디지털 기기들 간에 무선 네트워크를 구성하여 약 7 GHz의 대역폭으로 4.5 Gbps 이상의 쓰루풋(throughput)을 확보하여 1080P A/V 스트림의 무압축 전송을 지원할 수 있는 무선 네트워크이다. 따라서, 한정된 공간 내에서 개인 디바이스(device)간 구성된 네트워크이고, 디바이스 간 직접 통신하여 네트워크를 구성하여 애플리케이션(application) 사이에 끊김없이 정보를 교환할 수 있도록 한다.
도 1을 참조하면, WPAN은 둘 이상의 사용자 디바이스(11~15)로 구성되며, 그 중 하나의 디바이스는 조정기(coordinator, 11)로서 동작한다. 상기 조정기(11)는 WPAN의 기본 타이밍을 제공하고 QoS(Quality of Service) 요구사항을 제어하는 등의 역할을 수행한다. 디바이스로 사용될 수 있는 장치로는 컴퓨터, PDA, 노트북, 디지털 TV, 캠코더, 디지털 카메라, 프린터, 마이크, 스피커, 헤드셋, 바코드 판독기, 디스플레이, 휴대폰 등이 있으며 모든 디지털 기기가 이용될 수 있다.
고용량 비디오 버스(high-capacity video bus)는 1080p 이상의 HD 화면과 고음질의 오디오 데이터를 전송하기 위해서 1 Gbps 이상의 고속 디지털 신호 전송 방식을 사용하고 있다. 그러나, 이러한 고용량 비디오 버스는 디바이스간 연결된 특정 케이블을 통해 전송되고 있어 고속의 A/V 버스의 데이터를 무선으로 실시간으로 전송하고자 하는 요구가 늘어나고 있다. 무선으로 고속의 A/V 버스의 데이터 전송시 케이블을 줄일 수 있고 디바이스간 거리 제한이 없다는 장점이 있다. 그러나, WLAN(IEEE802.11)의 경우 물리계층 시스템에서 A/V 데이터와 다른 데이터를 모두 같은 일반적인 데이터로 간주하여 처리하기 때문에 무선으로 고속의 A/V 버스의 데이터를 전송하고자 하는 목적을 달성하는데 어려움이 있다.
무선 사설망(WPAN: Wireless Private Access Network)의 일종인 WVAN(Wireless Video Access Network)은 물리계층 시스템에서 A/V 데이터와 다른 데이터를 모두 같은 일반적 데이터로 간주하여 처리하기 때문에 무선으로 고속의 A/V 버스의 데이터를 전송하고자 하는 목적을 달성하는데 어려움이 있다.
이에 따라 WHDI(Wireless Home Digital Interface) 무선 네트워크를 이용하여 A/V 데이터 전송을 시도하고 있는데, AVCL 메시지 요청에 대한 응답으로 <Action Reject> 또는 <Wait>메시지를 전송하는 경우 그 원인에 대하여 상세한 정보를 알려주지 않거나 또는 원인을 알려주지 않았다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, AVCL 메시지 요청에 대한 응답 메시지를 전송하는 경우 그 원인이 되는 디바이스의 상태를 알려주는 정보를 포함하는 메시지 교환 방법을 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기의 기술적 과제를 이루기 위하여, 본 발명의 제 1특징에 의한 일 실시예에 따른 무선 네트워크의 싱크 디바이스에서 소스 디바이스의 스위칭을 위한 메시 지 교환 방법은, 제1 소스 디바이스로부터 오디오/비디오(A/V) 데이터를 수신하는 단계, 상기 무선 네트워크 내의 제2 소스 디바이스가 A/V 데이터를 전송할 수 있는지를 확인하기 위해 제1 커맨드(command)를 상기 제2 소스 디바이스에 전송하는 단계, 상기 제2 소스 디바이스에 의해 상기 제1 커맨드에 대한 응답으로 전송된 것으로 상기 제2 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 제2 커맨드를 상기 제1 소스 디바이스로부터 수신하는 단계 및 상기 제2 커맨드에 포함된 상기 지시정보에 따라 상기 제2 소스 디바이스로의 스위칭 여부를 결정하는 단계를 포함한다.
상기 제2 커맨드에 포함된 상기 지시정보가 상기 제2 소스 디바이스가 상기 싱크 디바이스에 A/V 데이터의 전송을 원하지 않거나 전송할 수 없음을 지시할 수 있다. 상기 제1 소스 디바이스로부터 수신되는 A/V 데이터는 제1 하향링크 물리계층 데이터 유닛(DLPDU: Downlink PHY Data UNIT)에 포함되어 수신될 수 있다. 그리고, 상기 제1 커맨드는 상향링크 제어 물리계층 데이터 유닛(ULCPDU: Uplink Control PHY Data UNIT)에 포함되어 상기 제2 소스 디바이스로 전송될 수 있다. 상기 제2 커맨드는 제2 DLPDU에 포함되어 상기 제1 소스 디바이스로부터 수신될 수 있다.
여기서, 상기 제1 하향링크 물리계층 데이터 유닛은, 상기 MAC 메시지 및 상기 적어도 하나 이상의 헤더가 전송되는 제1 시간 구간 및 상기 A/V 데이터가 전송되는 제2 시간 구간을 포함하는 시간 구간 동안 전송될 수 있다. 이때, 상기 상향링크 제어 물리계층 데이터 유닛은 상기 제1 시간 구간 동안 전송될 수 있다.
한편, 상기 제2 커맨드는 상기 제1 소스 디바이스로부터 전송되는 A/V 데이터와 멀티플렉싱되어 상기 제2 DLPDU에 포함될 수 있다. 그리고 상기 제2 DLPDU는 기본 헤더(Basic Header) 및 확장 헤더(Extended Header)를 포함하고, 상기 제2 커맨드는 상기 확장 헤더에 포함될 수 있다.
여기서, 상기 제 1 커맨드를 상기 제 2 소스 디바이스로 전송하는 단계ㄴ느는, medium access control) 계층에서 AVC(Audio Video Control)계층으로부터 상기 송신 디바이스를 식별하기 위한 제1식별자, 상기 수신 디바이스를 식별하기 위한 제2식별자 및 동작 코드(Opcode)를 포함하는 를 포함하는 상기 제 1커맨드를 수신하는 단계, 상기 MAC 계층에서 메시지 프리앰블, 메시지 타입 및 상기 제 1커맨드를 포함하는 MAC 메시지를 구성하여 물리계층(Physical layer)으로 전달하는 단계 및 상기 물리계층에서 상향링크 제어 헤더(Uplink Control Header), 상기 MAC 메시지 및 오디오/비디오(A/V) 데이터를 포함하는 상기 상향링크 제어 물리계층 데이터 유닛을 상기 수신 디바이스로 전송하는 단계를 포함할 수 있다.
상기 MAC 메시지는 상기 물리계층에서 상기 A/V 데이터와 멀티플렉싱될 수 있다. 그리고, 상기 MAC 메시지는 상기 수신 디바이스에서의 오류 검출을 위해 상기 MAC 계층에서 부가된 CRC(Cyclic Redundancy Check) 코드를 포함할 수 있다.
상기의 기술적 과제를 이루기 위하여, 본 발명의 제 2특징에 의한 일 실시예에 따른 무선 네트워크에서 제1 소스 디바이스로부터 A/V 데이터를 수신하는 싱크 디바이스는, 상기 싱크 디바이스를 식별하기 위한 제1식별자, 제2 소스 디바이스를 식별하기 위한 제2식별자 및 동작 코드(Opcode)를 포함하는 제1 커맨드를 생성하는 AVC(Audio Video Control) 계층, 메시지 프리앰블, 메시지 타입 및 상기 AVC 계층으로부터 전달받은 상기 제1 커맨드를 포함하는 MAC 메시지를 생성하는 MAC(Medium Access Control) 계층 및 상향링크 제어 헤더(Uplink Control Header), 상기 MAC 메시지 및 오디오/비디오(A/V) 데이터를 포함하는 제1 물리계층 데이터 유닛을 생성하여 상기 제2 소스 디바이스로 전송하고, 상기 제2 소스 디바이스에 의해 상기 제1 커맨드에 대한 응답으로 전송된 것으로 상기 제2 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 제2 커맨드를 포함하는 제2 물리계층 데이터 유닛을 상기 제1 소스 디바이스로부터 수신하는 물리계층(Physical Layer)을 포함하되, 상기 싱크 디바이스는 상기 제2 커맨드에 포함된 상기 지시정보에 따라 상기 제2 소스 디바이스로의 스위칭 여부를 결정할 수 있다.
상기 제2 커맨드에 포함된 상기 지시정보가 상기 제2 소스 디바이스가 상기 싱크 디바이스에 A/V 데이터의 전송을 원하지 않거나 전송할 수 없음을 지시하는 경우 상기 제1 소스 디바이스로부터 A/V 데이터를 수신할 수 있다.
바람직하게는, 상기 제1 물리계층 데이터 유닛은 상향링크 제어 물리계층 데이터 유닛(ULCPDU: Uplink Control PHY Data UNIT)일 수 있고, 상기 제2 물리계층 데이터 유닛은 하향링크 물리계층 데이터 유닛(DLPDU: Downlink PHY Data UNIT)일 수 있다.
상기 DLPDU는 MAC 메시지 및 적어도 하나 이상의 헤더가 전송되는 제1 시간 구간 및 A/V 데이터가 전송되는 제2 시간 구간을 포함하는 시간 구간 동안 전송될 수 있고, 상기 ULCPDU는 상기 DLPDU의 일부가 전송되어야 하는 상기 제 1시간 구간 동안 전송될 수 있다.
그리고, 상기 제2 커맨드는 상기 제1 소스 디바이스로부터 전송되는 A/V 데이터와 멀티플렉싱되어 상기 DLPDU에 포함될 수 있고, 상기 적어도 하나 이상의 헤더는 기본 헤더(Basic Header) 및 확장 헤더(Extended Header)를 포함하고, 상기 제2 커맨드는 상기 확장 헤더에 포함될 수 있다.
상기의 기술적 과제를 이루기 위하여, 본 발명의 제 2특징에 의한 다른 실시예에 따른 무선 네트워크의 싱크 디바이스는, 제 1 소스 디바이스로부터 방송 신호를 수신하는 수신부, 상기 수신부가 수신한 방송 신호를 디코딩하는 디코딩부, 상기 디코딩부가 디코딩한 상기 방송 신호에 따른 콘텐츠를 디스플레이하는 디스플레이부, 상기 수신부가 수신한 방송 신호 및 제 2 소스 디바이스가 A/V 데이터를 전송할 수 있는지를 확인하기 위한 제 1 커맨드를 포함하는 MAC 메시지를 포함하는 제 1 물리계층 데이터 유닛을 생성하여 제 2 소스 디바이스로 전송하고, 상기 제 2소스 디바이스에 의해 상기 제 1 커맨드에 대한 응답으로 전송되는 제 2커맨드를 포함하는 제 2 물리계층 데이터 유닛을 상기 제 1 소스 디바이스로부터 수신받아 처리하는 네트워크 제어 모듈 및 상기 네트워크 제어 모듈에서 처리된 상기 제 2커맨드를 통해 제 2 소스 디바이스로의 스위칭 여부를 결정하거나 상기 수신부가 수신한 방송 신호를 로컬 저장 장치에 저장하도록 하거나 상기 로컬 저장 장치에 저장된 콘텐츠를 재생하도록 제어하는 제어부를 포함한다.
상기 제 2커맨드는 상기 제 2 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함할 수 있다.
상기의 기술적 과제를 이루기 위하여, 본 발명의 제 3특징에 의한 일 실시예에 따른 무선 네트워크에서 제 1 소스 디바이스에서 싱크 디바이스의 소스 디바이스의 스위칭을 위한 메시지 교환 방법은, AVC 계층에서 제 2 소스 디바이스로부터 오디오/비디오(A/V) 데이터를 수신하는 상기 싱크 디바이스로부터 전송된 제 1 커맨드에 대해 응답하는 것으로, 상기 제 1 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 제 2 커맨드를 생성하는 단계, MAC 계층에서 메시지 프리앰블, 메시지 타입 및 상기 AVC 계층으로부터 전달받은 상기 제 2 커맨드를 포함하는 MAC 메시지를 구성하여 물리계층으로 전달하는 단계, 상기 물리계층에서 적어도 하나 이상의 헤더, 상기 MAC 메시지 및 오디오/비디오(A/V) 데이터를 포함하는 물리계층 데이터 유닛을 상기 제 2 소스 디바이스를 통해 상기 싱크 디바이스로 전송하는 단계 및 상기 싱크 디바이스에서 상기 제 2 커맨드에 포함된 상기 지시정보에 따라 상기 제 1 소스 디바이스로의 스위칭 여부를 결정하도록 하는 단계를 포함한다.
상기의 기술적 과제를 이루기 위하여, 본 발명의 제 4특징에 의한 일 실시예에 따른 무선 네트워크에서 싱크 디바이스로부터 제 1 커맨드를 수신하는 소스 디바이스는, 소정의 소스 디바이스로부터 A/V 데이터를 수신하는 상기 싱크 디바이스 로부터 전송된 제 1 커맨드에 대해 응답하는 것으로, 상기 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 제 2 커맨드를 생성하는 AVC 계층, 메시지 프리앰블, 메시지 타입 및 상기 제 2커맨드를 포함하는 MAC 메시지를 구성하여 물리계층으로 전달하는 MAC 계층 및 적어도 하나 이상의 헤더, 상기 MAC 메시지 및 오디오/비디오(A/V) 데이터를 포함하는 물리계층 데이터 유닛을 생성하여 상기 소정의 소스 디바이스를 통해 상기 싱크 디바이스로 전송하는 물리계층을 포함하되, 상기 싱크 디바이스에서 상기 제 2커맨드에 포함된 상기 지시정보에 따라 상기 제 1 커맨드가 전송된 소스 디바이스로의 스위칭 여부를 결정하도록 할 수 있다.
본 발명은 사용자 디바이스간 A/V 스트리밍을 위한 연결을 요청하는 메시지 교환에 있어, 디바이스가 응답 메시지를 통해 디바이스 상태를 나타내는 경우 원인을 밝히는 코드를 부가함으로써 상대 디바이스에게 보다 정확한 정보를 전달할 수 있다. 구체적으로는 엑션 리젝트 응답 메시지를 전송할 때, 리젝트 원인을 밝히는 코드를 종래보다 상세하게 분화함으로써, 디바이스간 정보 교환이 정확하고 오류를 줄일 수 있다.
또한, 대기 메시지를 전송하는 경우 <WaitTime> 및 <WaitReason>을 포함하여 메시지 교환을 수행함으로써, 예상 지연시간 및 지연원인의 정보를 통해 보다 정확한 신호 전송을 수행할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으 며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기의 기술적 과제를 해결하기 위해, 본 발명의 실시예들에서 WHDI(Wireless Home Digital Interface) 무선 네트워크에서 A/V 데이터 전송을 위한 무선 경로 성능 검사 방법을 개시한다.
이하의 실시예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
최근 연구되고 있는 WHDI(Wireless Home Digital Interface) 무선 시스템은 압축되지 않은 A/V 데이터를 5Ghz U-NII 대역으로 전송하는 기술이다. WHDI에서는 PHY 계층에서 인간의 시청각 특성을 고려하여 A/V 데이터를 처리, 변조함으로써 보다 효율적으로 고용량 비디오 버스 데이터를 무선으로 바꾸어준다. 이때, 무선 성능을 평가하기 위하여 수신단에 무선 신호 세기 5Ghz 대역의 레이더 탐지 등의 기법을 적용하고 있다. WHDI는 제어 데이터 또는 A/V가 아닌 데이터의 전송 성능을 적절하게 평가할 수 있는 기술이 필요하다. 이를 이용하여 무선 경로 설정, 재송신 윈도우의 설정, 호스트 시스템의 응답 성능 평가 등의 기능을 용이하게 구현할 수 있기 때문이다.
WHDI에 포함된 적어도 하나 이상의 사용자 디바이스는 A/V 데이터를 전송하는 소스 디바이스(Source Device)와 소스 디바이스로부터 A/V 데이터를 수신하는 싱크 디바이스(Sink Device)를 포함한다. 여기서, 실제로 A/V 데이터를 전송하는 소스 디바이스는 엑티브 소스 디바이스(active source device)라 볼 수 있고, Audio/Video 신호를 수신하는 싱크 디바이스는 실제로 A/V 데이터를 전송하지 않으며 엑티브 소스 디바이스에 부가적으로 연결된 수동형 소스 디바이스(Passive source device)를 포함한다. 각각의 디바이스는 그 기능에 따라 적어도 3개 이상의 계층(layer)으로 구분될 수 있으며, 일반적으로 PHY 계층, MAC 계층 및 AVC 계층을 포함한다.
도 2는 WHDI 네트워크에서 송신 디바이스의 일 예로 방송 신호 수신기를 포함하는 방송 신호 처리 시스템의 실시예를 나타낸 도면이다.
방송 신호 수신기는 방송국이나 케이블 위성 등으로부터 안테나를 통해 입력받은 A/V 데이터를 이하 후술되는 수행과정을 거쳐 수신받은 A/V 데이터를 재생할 수 있다. 또한, 방송 신호 수신기가 WHDI 네트워크 상에서 송신 디바이스로 작동하는 경우 자신이 수신받은 A/V 데이터를 적어도 하나 이상의 수신 디바이스로 원격 전송할 수 있다.
도 2를 참조하면, 송신 디바이스의 일 예인 방송 신호 처리 시스템은 방송 신호 수신기(21) 및 방송 신호 수신기와 원격의 저장 장치 또는 다른 디바이스(25)를 연결하는 네트워크 장치(24)를 포함한다.
방송 신호 수신기(21)는 수신부(211), 복조부(212), 디코딩부(213), 디스플레이부(214), 제어부(215), 네트워크 제어 모듈(216), 그래픽 처리부(217), 인터페이스부(218) 및 제어 신호 통신부(219)를 포함할 수 있다. 여기에, 도 2의 예에서는 로컬 저장 장치(23)를 더 포함하는데, 로컬 저장 장치(23)가 입출력 포트를 포함하는 인터페이스부(218)와 직접 연결된 예를 개시하지만, 로컬 저장 장치는 방송 신호 수신기(21) 내부에 마운트된 저장 장치일 수 있다.
인터페이스부(218)는 유무선의 네트워크 장치(24)와 통신할 수 있고, 네트워크 장치(24)를 통해 무선 네트워크상에 존재하는 적어도 하나 이상의 수신 디바이스(25)와 연결될 수 있다. 제어 신호 통신부(219)는 사용자 제어 기기, 예를 들면 리모트 콘트롤러(remote controller; 22) 등에 따라 사용자 제어 신호를 수신하고 수신한 신호를 제어부로 출력할 수 있다.
수신부(211)는 지상파, 위성, 케이블, 인터넷 망 중 적어도 하나를 통해 특정 주파수의 방송 신호를 수신하는 튜너일 수 있다. 수신부(211)는 방송 소스 예를 들어, 지상파, 케이블, 위성, 개인 방송별로 각각 구비될 수도 있고, 통합 튜너일 수도 있다. 또한 수신부(211)가 지상파 방송용 튜너라고 가정할 경우, 적어도 하나의 디지털 튜너와 아날로그 튜너를 각각 구비할 수도 있고, 디지털/아날로그 통합 튜너일 수도 있다.
또한, 수신부(211)는 유무선의 통신을 통해 전달되는 IP(internet protocol) 스트림을 수신할 수도 있다. IP 스트림을 수신할 경우 수신부(211)는 수신되는 IP 패킷과 수신기가 전송하는 패킷에 대하여 소스와 목적지 정보를 설정하는 IP 프로토콜에 따라 송수신 패킷을 처리할 수 있다. 수신부(211)는, IP 프로토콜에 따라 수신된 IP 패킷에 포함된 비디오/오디오/데이터 스트림을 출력할 수 있고, 네트워크로 송신할 트랜스포트 스트림을 IP 프로토콜에 따라 IP 패킷으로 생성하여 출력할 수 있다. 수신부(211)는 외부에서 입력되는 영상 신호를 수신하는 구성요소로서, 예를 들면 외부로부터 IEEE 1394 형식의 비디오/오디오 신호 입력이나, HDMI와 같은 형식의 스트림을 입력받을 수도 있다.
복조부(212)는 입력되는 방송 신호를 변조 방식의 역으로 복조한다. 복조부(212)는 방송 신호를 복조하여 방송 스트림을 출력한다. 수신부(211)가 스트림 형식의 신호를 수신할 경우, 예를 들면 IP 스트림을 수신할 경우 IP 스트림은 복조부(212)를 바이패스하고 디코딩부(213)로 출력된다.
디코딩부(213)는 오디오 디코더와 비디오 디코더를 포함하며, 복조부(212)에서 출력되는 방송 스트림 또는 네트워크 제어 모듈(216)을 통해 재생되는 스트림을 각각의 디코딩 알고리즘으로 디코딩한 후 디스플레이부(214)로 출력한다. 이때 복조부(212)와 디코딩부(213) 사이에는 각 스트림을 해당 식별자에 따라 분리하는 역다중화기(도시되지 않음)가 더 포함될 수 있다. 상기 역다중화기는 방송 신호를 오디오 요소 스트림(ES)과 비디오 요소 스트림(ES)으로 구분하여 디코딩부(213)의 각각의 디코더로 출력할 수 있다. 또한 하나의 채널에 복수개의 프로그램이 다중화되 어 있는 경우, 사용자가 선택한 프로그램의 방송 신호만을 선택하여 비디오 요소 스트림과 오디오 요소 스트림으로 구분할 수 있다. 만일 복조된 방송 신호에 데이터 스트림이나 시스템 정보 스트림이 포함되어 있다면, 이것도 역다중화기에서 분리되어 해당 디코딩 블록(미도시)으로 전달된다.
그래픽 처리부(217)는 디스플레이부(214)가 표출하는 비디오 이미지에 메뉴 화면 등을 표출할 수 있도록 표출할 그래픽을 처리하여 디스플레이부(214)에 함께 표출되도록 제어할 수 있다.
인터페이스부(218)는 유무선 네트워크를 통해 적어도 하나 이상의 수신 디바이스(25)와 인터페이스 할 수 있다. 인터페이스부(218)의 예로서는 이더넷(ethernet) 모듈, 블루투스 모듈, 근거리 무선인터넷 모듈, 휴대 인터넷 모듈, 홈 PNA 모듈, IEEE1394 모듈, PLC 모듈, 홈 RF 모듈, IrDA 모듈 등을 예로 들 수 있다. 한편, 인터페이스부(218)는 원격의 저장 장치에 전원을 온 시킬 수 있는 제어 신호를 출력시킬 수 있다. 예를 들어, 인터페이스부(218)는 도 2에는 도시되어 있지 않지만, 별도의 원격 저장 장치가 통신하는 네트워크 인터페이스부에 WOL 신호를 전송하여 원격의 저장 장치의 전원을 온(on)시킬 수 있다.
네트워크 제어 모듈(216)은 도 2에 도시된 방송 신호 수신기(21)가 WHDI 네트워크상에서 다른 디바이스로 자신이 수신한 방송 신호 등을 전송하는 경우 상기 수신부(211)에서 수신한 방송 신호를 MAC 메시지와 함께 물리계층 데이터 유닛을 통해 전송하기 위해 작동하는 모듈이다. 네트워크 제어 모듈(216)은 수신부(211)로부터 직접 방송 신호를 입력받거나 복조부(212)에서 복조된 방송 신호를 입력받을 수 있는데, 전자의 경우 인코딩 과정은 생략할 수 있다. 또한, 수신부(211)에서 수신한 방송 신호는 제어부(215)에서 신호 전송을 위한 처리과정 등을 거쳐 프로토코 계층 모듈(216)로 입력될 수 있다. 예를 들어, 수신 디바이스(25)로부터 방송 신호를 포함하는 메시지를 수신받는 경우 수신된 메시지는 네트워크 제어 모듈(216)에서 방송 신호 및 MAC 메시지 등으로 분리되고, 분리된 방송 신호(또는 방송 스트림)는 디코딩부(213)로 입력되어 디코딩 알고리즘으로 디코딩한 후 디스플레이부(214)로 출력될 수 있다.
네트워크 제어 모듈(216)은 소정의 AVCL 커맨드(command)를 생성하는 AVC 계층, 상기 AVC 계층으로부터 전달받은 AVCL 커맨드를 포함하는 MAC 메시지를 생성하는 MAC 계층 및 상기 수신부(211) 또는 복조부(212)로부터 입력받은 방송 신호와 상기 MAC 메시지를 포함하는 제 1물리계층 데이터 유닛을 생성하는 PHY계층을 제어하는 제어부(215)와 다른 제 2의 제어부로 볼 수 있다. 상기 제 1물리계층 데이터 유닛은 인터페이스(218)를 통해 네트워크 장치(24)를 이용하여 다른 디바이스로 전송될 수 있다. 또한, 네트워크 제어 모듈(216)은 상기 AVCL 커맨드를 수신한 수신 디바이스가 그에 대한 응답으로 전송하는 응답메시지를 포함하는 제 2물리계층 데이터 유닛을 수신받을 수 있다.
도 2에서, 설명의 편의를 위해 제어부(215)와 네트워크 제어 모듈(216)이 별도로 구비되는 예를 개시하지만, 점선으로 표시된 부분과 같이 하나의 시스템 칩으로 구현될 수도 있다. 구체적으로, 네트워크 제어 모듈(216)에서 제어 대상이 되는 AVC 계층, MAC 계층 및 PHY 계층을 포함하는 프로토콜 계층에서 AVC 계층 및 MAC 계층은 상기 제어부(215)내에서 전송하고자 하는 메시지나 수신한 메시지에 대한 판별이 이루어질 수 있다. 이때, PHY 계층은 상기 네트워크 제어 모듈(216)에서 블리계층 데이터 블록을 형성한다. 네트워크 제어 모듈(216)에 관한 상세한 설명은 이하 도 9 내지 도 16에 개시된 물리 계층 데이터 블록 구조를 참조하여 후술하도록 한다.
제어부(215)는 예시한 구성 요소(수신부, 복조부, 디코딩부, 디스플레이부, 그래픽 처리부, 네트워크 제어 모듈, 인터페이스부) 등의 동작을 제어할 수 있다. 그리고, 사용자의 제어 명령을 수신하는 메뉴를 표출시키고, 사용자에게 방송 신호 처리 시스템의 각종 정보나 메뉴를 표출하는 애플리케이션 등을 구동시킬 수 있다.
예를 들어, 제어부(215)는, 로컬 저장 장치(23) 가 마운트된 경우 로컬 저장 장치(23)에 저장된 콘텐츠를 읽어오도록 할 수 있다. 그리고, 제어부(215)는, 로컬 저장 장치(23)가 마운트된 경우 수신부(211)로부터 수신한 방송 콘텐츠를 로컬 저장 장치(23)에 저장하도록 제어할 수 있다. 또한, 제어부(215)는 로컬 저장 장치(23) 가 마운트되었는지 여부에 따라 로컬 저장 장치(23)가 마운트하도록 제어하는 신호를 출력할 수 있다.
그리고, 제어부(215)는 로컬 저장 장치(23) 의 잔여 저장 용량을 체크하고, 이에 대한 정보를 사용자에게 디스플레이부(214) 또는 그래픽 처리부(217)를 통해 디스플레이부(214)상에 표출되도록 할 수 있다. 그리고, 제어부(215)는 로컬 저장 장치(23)에 잔여 저장 용량이 부족한 경우, 원격 저장 장치 등에 로컬 저장 장치(23)에 저장된 콘텐츠를 옮겨 저장하도록 할 수 있다. 이 경우 제어부(215)는 로컬 저장 장치(23)의 잔여 저장 용량이 부족한 경우 사용자에게 디스플레이부(214)를 통해 다른 로컬 저장 장치(미도시)나 원격의 저장 장치 등에 로컬 저장 장치(23)에 저장된 콘텐츠를 옮겨 저장할지 여부를 나타내는 메뉴를 표출할 수 있다. 그리고 그에 대한 사용자의 제어 신호를 수신하여 처리할 수 있다. 따라서, 제어부(215)는 로컬 저장 장치(23)와 그 이외에 직접 또는 원격으로 마운트된 저장 장치에 저장된 콘텐츠를 서로 이동시켜 저장시키도록 할 수 있다.
디스플레이부(214)는 수신부(211)로부터 수신한 방송 콘텐츠, 로컬 저장 장치(23)에 저장된 콘텐츠를 표출할 수 있다. 그리고, 제어부(215)의 제어 명령에 따라 저장 장치의 마운트 여부 및 잔여 용량에 관련된 정보를 표출하는 메뉴를 디스플레이하고 사용자의 제어에 따라 동작될 수 있다.
본 발명의 일 실시예에 따르면, 도 2에 도시된 송신 디바이스 구조는 엑티브소스 디바이스로부터 A/V 데이터를 수신하는 싱크 디바이스의 일 예로, 다른 소스 디바이스(예를 들어 수동형 소스 디바이스)로의 스위칭을 결정하기 위해 상기 네트워크 제어 모듈(216)에서 수동형 소스 디바이스가 A/V 데이터를 전송할 수 있는지를 확인하기 위한 커맨드를 생성할 수 있다. 소스 디바이스의 스위칭을 위한 메시지 교환시 도 2에서 수신 디바이스(25)는 수동형 소스 디바이스의 일 예가 될 것이다.
도 3은 WHDI 시스템에서 디바이스에 구현된 프로토콜 계층 구조의 일 예를 나타내는 도면으로, 상기 도 2의 네트워크 제어 모듈(216)에서 이루어진다.
도 3을 참조하면, WHDI 시스템은 모두 4개의 계층으로 구성될 수 있다.
가장 상위에 있는 애플리케이션 계층(Application Layer; 31)은 사용자가 자신의 호스트 시스템에서 WHDI를 통합하기 위한 계층이다.
AVCL 계층(Audio Video Control Layer, 32)은 소스 디바이스와 싱크 디바이스간 A/V 데이터 전송을 위한 스트리밍 연결 및 디바이스 제어를 담당하는 상위계층이다. AVCL은 싱크 디바이스가 특정 소스 디바이스로부터 A/V 스트림을 수신하기를 희망하는 엑티브 소스 디바이스를 지시하는데 이용된다. 싱크 디바이스는 A/V 스트림을 수신하고 렌더링하거나 또는 더 이상 A/V 스트림을 수신할 필요가 없을 수 있다. 한편, 소스 디바이스에서는 사용자가 소스 디바이스의 디스플레이부상에서의 컨텐츠를 디스플레이하는데 요청해온 특정 디스플레이를 지시하는데 이용된다. 또는, 소스 디바이스에서 싱크 디바이스의 A/V 데이터와 관련된 수용력을 판별하는데 이용되거나, A/V 데이터와 관련된 메타데이터(metadata)를 전달하는데 이용된다. 또는, 모든 디바이스가 셋탑 박스상에서 디스크 플레이어의 재생 또는 채널 변동을 컨트롤하는 것과 같이 Remote Device Control(RDC)을 수행하는데 이용된다.
이와 같이, AVCL은 제어 프로토콜 및 메타데이터 전달의 두 종류의 제어 방식을 포함한다. 여기서, 제어 프로토콜(또는 AVCL 프로토콜)은 엑티브 네트워크상에서 디바이스간 양방향성 커맨드 전송을 포함한다. 일반적으로, AVCL 커맨드를 포함하는 메시지는 MAC 계층을 거치며 MAC 메시지에 매핑되고 PHY 계층에서 다른 데이터들과 혼합되어 전송되는데, 이하 후술하도록 한다.
다음으로, MAC(Media Access Control) 계층(33)은 자료 전송 프로토콜의 하부 계층으로 링크 셋업(link setup), 연결 또는 비연결, 채널 접근과 같은 기능을 담당하고 신뢰성 있는 데이터 전송 등을 담당한다. 즉, 제어/데이터 메시지를 전송하거나 또는 채널을 제어하는 역할을 한다.
상기 MAC 계층은 ACK 프레임을 이용하는 CSMA/CA(Carrier Sence Multiple Access with Collision avoidance)을 기본 채널 엑세스 스킴(basic channel access scheme)으로 하여, 패킷을 보내기 전에 부반송파 감지 또는 CCA(Clear Channel Assessment)를 실시한다. 그리고, 소스 디바이스와 싱크 디바이스 간 방향성을 고려하여 하향링크와 상향링크로 구분한다. 하향링크는 전체가 하나의 긴 프레임으로 구현되고, ACK 프레임을 받아 복구하는 과정이 생략될 수 있다. 하향링크에서는 전송하는 영상 프레임과 모뎀(PHY) 프레임 간 동기화가 이루어지므로 전송하는 A/V 데이터의 포맷에 따라 소요되는 전송시간이 정해진다. 일반적으로 전체 MAC 포멧은 기본 헤더(Basic Header:BH) 및 확장 헤더(Extended Header:EH)를 포함한다.
다음으로, PHY 계층(34)은 A/V 데이터를 직접적으로 처리하고 동시에 MAC 계층 (33)에 의해 처리될 수 있다. WHDI에서 PHY 계층은 변조되지 않은 A/V 데이터의 송수신을 담당한다. PHY 계층은 무선 신호를 담당하기 위해 AVCL 계층(32), MAC 계층(33)과 같은 상위계층으로부터 요청되는 메시지를 전환하는 역할을 함으로써, 상기 요청 메시지가 물리 계층에 의해 디바이스간 전송될 수 있도록 한다. 또한, PHY Layer는 A/V 데이터를 단일 방향(unidirectional) 전송 능력 및 양방향성(bidirectional) 데이터 채널의 수용력을 갖는다는 점, 모든 A/V 데이터의 PHY 레벨 암호화 및 SNR, 반송파 감지 및 간섭 판별을 위한 측정도 가능하다.
PHY 계층은 각각의 소스/싱크 디바이스에서 픽셀의 4:4:4 비율의 Y,Cb,Cr 스 트림 형태로 가공 전의 비디오 데이터 샘플 또는 다양한 형태의 가공전의 오디오 데이터 샘플을 전송받거나 또는 출력한다. 이러한 형태에서 모든 전환은 각각의 소스/싱크 디바이스상의 애플리케이션 계층(31)에서 수행된다.
도 4는 WHDI 시스템에서 소스 디바이스의 일 예를 나타내는 블록 구성도이다.
도 4를 참조하면, 프로세서의 일종인 호스트 제어부(Host Controller; 41)는 전체 시스템을 통합관리하며 AVCL 계층의 역할을 수행하거나 WHDI 기저대 (WHDI baseband) 모듈(43)을 I2C(Inter Integrated Circuit) 버스 시스템 구조로 제어하는 역할을 수행한다. I2C 버스 시스템이 I2C 프로토콜 상에서 작동하므로, 복수의 IC는 공통의 구조형 버스를 통해 서로 연결 및 통신할 수 있다. I2C 버스 시스템은 텔레비젼 환경에서 중앙 처리 장치(CPU)와 관련 주변 IC를 연결(즉, 이들간에 통신 제공)하는 방법을 제공하는데, 소비자 전자 장치에서 광범위하게 이용되고 있다. I2C 시스템은 일반적으로 설정 프로토콜에 따라 설정 클록 속도로 데이터를 전송하도록 한정되고, I2C 시스템의 메인 제어기 IC는 전송율 또는 속도(즉, 클록 레이트 또는 버스 속도)를 설정한다. 따라서, 특정 I2C 버스에 연결된 IC 모두가 동일한 속도 또는 데이터 전송율로 통신하여야 한다. 호스트 제어부(41)는 내부에 메모리를 포함하거나 외부 메모리를 이용할 수 있다.
다음으로, WHDI 기저대 모듈(43)은 상술한 MAC/PHY Layer 역할을 담당하며 A/V 소스 디바이스(A/V source; 42)로부터 LVDS 등의 버스로 A/V 데이터를 입력받 아 WHDI RF 모듈(44)에 중간 주파수(IF)로 송신한다. WHDI RF 모듈(44)은 상기 중간 주파수(IF)를 반송파 신호로 변환하여 변환된 마이크로파 신호를 다중 안테나(45)를 통해 전송한다. 또, A/V 데이터 외의 제어신호에 대하여 송신뿐 아니라 수신도 가능하다.
도 5는 WHDI 시스템에서 싱크 디바이스의 일 예를 나타내는 도면이다.
도 5를 참조하면, 프로세서의 일종인 호스트 제어부(51)는 상술한 소스 디바이스와 마찬가지로 애플리케이션의 통합 역할을 하며, WHDI 기저대 (WHDI baseband) 모듈(54)을 I2C(Inter Integrated Circuit) 버스 시스템 구조로 제어하는 역할을 수행한다. WHDI RF 모듈(53)은 다중 안테나(52)로부터 수신받은 RF 신호를 중간 주파수(IF)로 변환하고, 소스 디바이스로부터 전송받은 A/V 데이터를 복원하여 A/V 싱크 디바이스(55)로 LVDS, I2S 등의 A/V 버스 신호를 전송한다.
도 6은 A/V 데이터 송수신 동작중인 WHDI 디바이스에서 Vertical Blanking Period를 포함하는 일반적인 비디오 신호가 RF 신호로 변환되는 과정을 나타내는 도면이다.
일반적으로 소스 디바이스가 싱크 디바이스로 계속적으로 무선 신호를 전송하는 구간을 하향링크 구간이라 하며, 이 구간에서는 하향링크 물리계층 데이터 유닛(Downlink PHY Data Unit: DLPDU)을 전송한다. 하향링크 구간은 크게 Vertical Blanking Period 구간(61)과 Active Video 구간(62)으로 구분할 수 있다. 먼저, Vertical Blanking Period 구간(61)은 소스 디바이스가 싱크 디바이스로 CES(Channel Estimation Sequence)를 포함하는 하향링크 프리엠블을 전송하는 구간(611) 및 하향링크 헤더(downlink header)를 전송하는 구간(612)으로 구분된다. CES라 함은 송신 신호가 불특정한 무선 채널을 통과하면서 일어나는 수신 신호의 왜곡현상, 즉 시간 지연, 위상 변이와 감쇄를 송신 신호에 포함되고 일정한 패턴을 갖는 파일럿 신호를 이용하여 측정하는 기법이다. Active Video 구간(62)에서는 소스 디바이스가 싱크 디바이스로 A/V 데이터를 전송한다.
A/V 데이터 송수신 동작중인 WHDI 소스 디바이스는 하향링크 구간 동안 무선 신호에 상응하는 제어 정보와 비디오 데이터를 포함하는 5Ghz 대역의 신호를 끊김없이 계속 전송할 수 있다. 상기 하향링크 구간에 소요되는 시간은 비디오 버스(component, HDMI, LVTTL 등)의 일반적인 vertical Blanking Period 구간 중 일부와 실제 비디오 데이터가 전송되는 Active Video 구간 하나를 합한 시간에 해당한다. 즉, 소스 디바이스에서 전송하는 데이터 종류에 따라 신호 전송 시간이 결정되는 것으로, 하향링크 구간에서 PHY 신호가 다른 RF 통신에 비해 10ms 이상 긴 단위로로 전송될 수 있다.
상기 하향링크 구간은 상향링크 구간으로 이어진다. 상향링크 구간은 싱크 디바이스의 PHY 계층이 소스 디바이스로 무선 신호를 전송할 수 있는 구간이다. 상향링크 구간은 비디오 버스(component, HDMI, LVTTL 등)의 일반적인 vertical Blanking Period 구간 일부(63)로만 이루어진다. 상향링크 구간인 상향링크 제어 물리계층 데이터 유닛(Uplink Control PHY Data Unit: ULCPDU)은 RF Turn around 구간(631), CES를 포함하는 프리앰블을 전송하는 구간(632), 상향링크 헤더를 전송하는 구간(633), 상향링크 데이터를 전송하는 구간(634) 및 slience + RF Turn Around 구간(635)으로 구분된다.
CES를 포함하는 상향링크 프리엠블을 전송하는 구간(632)은 상향링크 무선 신호를 수신하는 디바이스의 동기화를 위한 신호구간이다. 그리고, RF Turn Around 구간(635)은 송신용 안테나를 수신용 안테나로 전환하거나 수신용 안테나를 송신용 안테나로 전환하는데 소요되는 시간에 해당된다. 즉, Slience + RF Turn Around 구간(635)은 잠시 정지하는 구간으로 싱크 디바이스의 경우 송신 모드에서 수신 모드로 전환하고, 소스 디바이스의 경우 수신모드에서 송신 모드로 전환하는데 소요되는 시간에 해당한다.
상향링크 구간이 끝나면 하향링크 구간의 프리엠블/CES 전송 구간(611) 및 하향링크 헤더 전송 구간(612)이 계속 이어지면서 Vertical Blanking Period 구간(61) 하나를 채워나간다.
이렇게 A/V 전송 동작 중인 WHDI PHY 계층은 전송하는 Video data의 Original Signal(유선버스의 신호)의 시간 구성(즉, Vertical Blanking Period 구간과 Active Video구간간의 간격)에 따라 하위 전송 구간이 규정될 수 있다. 하향링크 및 상향링크에서 각 전송 구간은 OFDM, MIMO 기술을 사용하여 전송하는 점은 동일하나, PHY 신호 생성 및 송신 방법은 서로 상이하다.
소스 디바이스는 PHY 계층에서 Vertical Blanking Period 구간(61)과 Active Video 구간(62)으로 구성되는 하향링크 구간을 이용하여 자신의 음성, 영상, 제어 데이터를 DLPDU로 구성한 후 싱크 디바이스에게 무선 신호로 전송한다. 상기 구간은 주로 비디오 데이터만을 전송하는 Video Dependent DLPDU 모드와 비디오 데이터와 무관한 데이터를 전송하는 Video Independent DLPDU 모드로 나뉘는 바, 이하 도 7 및 도 8을 참조하여 설명하도록 한다.
도 7은 WHDI PHY 계층에서 Video Independent DLPDU 모드일 때의 DLPDU 시퀀스의 일 예를 나타내는 도면이다.
도 7을 참조하면, 소스 디바이스는 네트워크를 시작할 때, 싱크 디바이스를 찾기 위하여 A/V 데이터와 무관한 Video Independent DLPDU를 통해 자신의 존재를 브로드캐스트한다. Video Independent DLPDU는 비콘(beacon) 메시지와 흡사하나 동기화를 위한 시간 정보나 네트워크의 디바이스 리스트 같은 제어 정보가 DLPDU의 기본 헤더(BH)와 확장 헤더(EH)에 실려 다른 종류의 MAC 커맨드나 AVC 커맨드와 동시에 전송될 수 있다는 차이점이 있다. Video Independent DLPDU의 다른 목적은 싱크 디바이스에 오직 오디오 신호를 전송하는 경우 이를 위하여 소요되는 시간을 짧게 할당하는 것이다. Video Independent DLPDU는 비디오 버스 신호에 동기화될 필요가 없기 때문에 5ms 미만의 상대적으로 짧은 시간을 요한다.
도 7을 참조하면, 소스 디바이스가 싱크 디바이스를 찾기 위하여 A/V 데이터가 없는 Independent DLPDU를 송신할 때, 주파수 FDLI[0]은 5Ghz U-NII 범위내에서 각기 다른 중심 주파수 범위를 나타낸다. 예를 들어, 5Ghz U-NII 범위내에서 FDLI[0]은 5150Mhz이고, FDLI[1]은 5470Mhz로 볼 수 있다. 소스 디바이스가 모든 채널에 걸쳐 자신의 정보를 브로드캐스트함으로써, 수신 대기상태에 있는 싱크 디바이스가 이에 응답하도록 유도하는 역할을 수행한다.
도 8은 WHDI PHY 계층에서 Video dependent DLPDU 모드일 때의 DLPDU 시퀀스의 일 예를 나타내는 도면이다.
도 8을 참조하면, Video dependent DLPDU의 목적은 소스 디바이스가 무선 신호 이전의 비디오 신호에 자신의 주파수를 동기화시키는 것이다. 예를 들어, 소스 디바이스가 하향링크를 이용하여 싱크 디바이스로 1080p 50hz 비디오 신호를 전송중이라면, 엑티브 소스 디바이스에서 엑티브 비디오 신호, 즉 DE 신호가 On일때의 신호구간인 약 18ms의 시간 동안 DLPDU 신호가 지속된다. 도 8에 도시된 것처럼, 첫번째 DLPDU가 전송되는 구간이 끝나면 신호의 방향이 바뀌고 첫번째 싱크 디바이스가 소스 디바이스로 상향링크를 이용하여 ULCPDU(Uplink Control PHY Data Unit) 데이터를 전송한다. 이후, 첫번째 싱크 디바이스에서 전송하는 ULCPDU 신호가 소스 디바이스로 전송되면 다음 DLPDU신호가 전송되고 이후 두 번째 싱크 디바이스에서 소스 디바이스로 ULCPDU 신호가 전송되며, 이와 같은 과정이 반복된다. ULCPDU와 DLPDU의 헤더 정보는 비디오 신호의 Vertical Blanking Period 구간에 포함되어 전달된다. 즉, 500us 이내의 상대적으로 짧은 시간 동안 싱크 디바이스가 PHY 신호를 송출할 수 있다.
다음으로, 도 9는 WHDI 시스템에서 DLPDU를 전송하는 PHY 구조의 일 예를 나타내는 도면이다.
WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조에서 무선 부호화 과정은 전송하려는 데이터 종류에 따라 다양하게 구현될 수 있다. 특히, 비디오 데이터의 경우 각각의 프레임(예를 들어, 각각의 이미지)이 하나 이상의 색성분(Y, Cb, Cr)으로 분해되고, 분해된 색성분의 프레임은 다시 주파수 성분으로 분해된 후 양자화된다. 여기서, 양자화 결과의 오차는 비디오 양자화 오차 스트림(Video fine stream)으로, 양자화된 주파수 성분은 비디오 양자화 계수 비트스트림(Video coarse bitstream)으로 분리되는데, 상기 비디오 양자화 오차 스트림 및 비디오 양자화 계수 비트스트림은 동일한 비디오 데이터라도 서로 상이한 채널 부호화 과정이 적용된다.
도 9를 참조하면, WHDI DLPDU PHY 구조에서 전송하는 데이터는 MAC, AVCL 계층에서 요청받은 메시지 커맨드 데이터(message command data)인 데이터/제어 비트스트림(Data/Control bitstream), 수신단에서 신호 정확성을 검증하기 위해 데이터에 섞는 일정한 비트 패턴인 테스트용 비트스트림(Test bitstream), 오디오 데이터를 전송하는 오디오 비트스트림(Audio bitstream) 및 비디오 데이터를 전송하는 비디오 비트스트림(Video bitstream)으로 구분할 수 있다. 상기 비디오 비트스트림은 다시 양자화된 비디오 데이터를 전송하는 비디오 양자화 계수 비트스트림 및 양자화된 데이터 각각에 상응하는 오류 값의 비트스트림인 비디오 오차 비트스트림으로 구분할 수 있다.
비디오 양자화 계수 비트스트림은 비디오 데이터를 역 상관관계 변환(De-Correlation Transform: DCT)한 후 양자화한 계수로 이루어진 비트스트림이고, 비디오 양자화 오차 비트 스트림은 비디오 데이터를 DCT 변환한 후 생성되는 양자화 오차에 관한 비트스트림이다.
상술한 것처럼 PHY 시스템에서 전송하는 데이터의 종류에 따라 신호 생성 방법을 달리하는데, 도 9에 도시된 일 예를 보면, 오디오 데이터 및 비디오 데이터는 각각 인코더(71, 72)를 거치고, 그 외의 데이터인 데이터/제어 비트스트림 및 테스트용 비트스트림 등의 제어 데이터는 인코딩 과정을 거치지 않고 비트스트림 MUX(73)로 전송된다. 비디오 데이터 중 비디오 양자화 계수 비트스트림도 인코딩 과정을 거친 후에 비트스트림 MUX(73)으로 전송되어 총 4개의 신호가 하나의 비트스트림으로 합쳐진다. 이 때, Video dependent DLPDU 모드에서는 비디오 양자화 계수 비트스트림을 포함하나, Independent DLPDU 모드일 때는 양자화 계수 비트스트림이 제외된다.
다음으로, 양자화 계수 스트림 암호기(Coarse Stream Encryptor; 74)은 비트스트림 MUX(73)에서 하나의 비트스트림으로 합쳐져서 입력되는 신호에 대하여 헤더 정보(BH, EH)를 제외한 모든 데이터를 AES-128 방식으로 암호화한다. Bitstream processer(75)는 암호화된 신호를 QAM 방식에 기반해서 무선 신호(Symbol)로 변조하고 에러 정정 코드를 추가한다.
한편, 비디오 양자화 오차는 상술한 4개의 데이터와 달리 보다 안전하게 데 이터를 전송하기 위해 양자화 오차 데이터 프로세싱 및 암호화 모듈(Fine Data Processing and Encryption module;76)에 의해 독립적으로 처리된다. 이때, 양자화 오차 데이터 프로세싱 및 암호화 모듈(Fine Data Processing and Encryption module;76)는 양자화 오차 데이터 스캘링 모듈(fine-data scaling module), 양자화 오차 데이터 심볼 맵퍼(fine-data symbol mapper), 양자화 오차 데이터 암호기(fine-data encryptor) 및 양자화 오차 데이터 스크램블러(fine-data scrambler)를 포함할 수 있다.
상기 일 예에서 상술한 별도의 처리과정을 거친 총 5개의 데이터는 양자화 오차 데이터 프로세싱 및 암호화 모듈(Fine Data Processing and Encryption module;76)를 거친 비디오 양자화 오차 데이터와 하나의 데이터로 합쳐진 나머지 4개의 데이터가 MIMO OFDM 맵퍼(77)로 입력된다. MIMO OFDM 맵퍼(77)는 안테나 다이버시티, 채널 매트릭스 산출 및 역변환에 기반한 MIMO를 적용하기 위해 입력된 신호를 부반송파 또는 각각의 송신 안테나를 통해 전송되는 RF-chain 모듈(78)로 분배한다. 여기서, 비디오 양자화 계수, 비디오 양자화 오차별로 중심 주파수가 서로 다른 반송파 신호로 각기 전용의 부반송파를 할당할 수 있다.
N번째 transmit chains(78)에서 하향링크 IDFT 유닛(781)은 최종적으로 산출된 각 부반송파의 신호를 시간 축으로 변환하여 통합하는 과정을 수행한다. CP Inserter(782)는 OFDM 심볼간 발생할 수 있는 다중 경로(Multi-path) 간섭을 회피하기 위해 그전 심볼의 뒷부분에서 일정 크기의 블록을 다시 다음 심볼의 앞부분에 복사하는 과정을 수행한다. 프리엠블 Mux(783)는 도 6에 도시된 프리엠블 전송 구 간(611, 632)에서 프리엠블 데이터만 전송되도록 신호를 재정렬하는 역할을 수행한다. Symbol Shaper(784)에서는 주파수 영역에서의 신호세기가 WHDI 시스템이 요구하는 Spectral Mask 안에 들어오도록 신호를 처리하는 과정이 수행된다. 최종 신호는 아날로그 및 RF 모듈(Analog and RF module; 785)에서 디지털/아날로그 변환기를 통해 아날로그 신호로 변환되고 변환된 중간 주파수(IF)가 믹서(Mixer)를 통해 5Ghz 대역의 무선 신호(RF)로 변환되어 안테나를 통해 송출된다.
이상, WHDI시스템에서 DLPDU PHY 구조를 통해 오디오 신호 및 비디오 신호가 안테나를 통해 송출되기까지의 과정을 살펴보았다.
요컨대, WHDI의 엑티브 소스 디바이스는 무선 신호 송신 전에 PHY계층에서 직접 입력받은 비디오 데이터에 대해 항상 DCT 변환을 수행한다. 그리고, DCT 변환된 비디오 데이터를 양자화함으로써 사실상 전송 데이터를 압축하여 한정된 대역폭 내에서 보다 많은 데이터를 전송할 수 있다. 양자화된 비디오 데이터는 비디오 양자화 계수 데이터와 비디오 양자화 오차 데이터로 분리하여, 서로 상이한 에러 정정 부호화 과정을 적용한다. 또는 상기 분리된 비디오 양자화 계수 데이터와 비디오 양자화 오차 데이터에 대하여 상이한 변조 방식을 적용할 수 있다.
이하, 상기 WHDI 엑티브 소스 디바이스의 DLPDU PHY 계층의 서브 시스템에서 각각의 구성요소에 대하여 보다 구체적으로 설명하도록 한다.
도 10은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 오디오 인코더의 구조를 나타내는 도면이다.
도 10을 참조하면 오디오 인코더(71) 는 오디오 외부 인코더(Audio Outer Encoder; 711)와 오디오 바이트 인터리버(Audio Byte Interlever; 712) 두 개의 요소로 구성된다. 오디오 외부 인코더(Audio Outer Encoder; 711)는 오디오 데이터에 대한 선처리로서 Read-Solomon 방식을 이용한다. 이에 이용되는 다항식은 P(x) = 1+x^2+x^3+x^4+x^8 으로, 예를 들어, 239 bytes의 데이터에 대해 동가의 16 bytes를 추가하여 총 255 bytes의 결과물을 생성한다. 이 결과 값은 다시 오디오 바이트 인터리버(Audio Byte Interlever; 712)에서 convolutional byte-interlever 에 의해서 뒤섞이게 되는데, 이것은 무선 오류로 나타나는 음성신호의 왜곡을 줄여줄 수 있다.
도 11은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 비디오 인코더(Video Encoder)의 구조를 나타내는 도면이다.
비디오 인코더(72)는 압축되지 않은 Y,Cb,Cr 형식의 Video Data(예를 들어, pixel)를 주파수 도메인으로 DCT 변환하고, 변환된 신호를 DC 성분과 AC 성분으로 구분하여 각각 양자화한 후, 양자화 과정에서 발생하는 오차를 비디오 양자화 오차 스트림으로 추출한다. 그리고, 양자화된 값을 비디오 양자화 계수 비트스트림으로 추출한다. 주파수를 DCT 변환한 후에는 MAC 계층에서 측정된 가용 전송량에 비례하는 개수만큼 낮은 주파수 성분의 높은 에너지 계수(High Energy Coefficient)를 선택하여 다음 과정이 수행되는 유닛으로 전송하고 나머지 신호는 폐기하도록 한다.
보다 구체적으로, 도 11을 참조하면, 비디오 데이터의 DCT 변환을 위해 먼저 모든 픽셀들을 블록 그룹화 유닛(721)에서 8x8 블록으로 그룹화한다. 예를 들어, 1920x1080 full HD 사이즈의 픽셀에 대하여 블록 그룹화를 수행하는 경우 240x135 블록으로 묶여질 수 있다. 8x8 블록으로 그룹화하기 때문에, 비디오 버스의 Horizontal Blanking을 최소 8번 이상 송신단의 비디오 메모리에 저장하는 방식으로 버퍼링해야 한다.
블록 인터리버(Block Interleaver; 722)는 군집에러를 회피하기 위해서 예를 들어 1920x1080 full HD 사이즈의 전체 화면에서 240x135 블럭들이나 또는 일부 블록들에 대해 도 12에 도시된 바와 같이 각각의 블록들의 열과 행을 인터리빙(interleaving)하여 혼합하는 과정을 수행한다. 도 12는 도 11에 도시된 비디오 인코더에서 수행하는 블록 인터리빙의 일 예를 나타내는 도면이다.
다음으로, DCT 변환을 수행하는 공간적 역 상관관계 모듈(spatial De-Correlation module; 723)에서는 블록 인터리버(722)에서 열과 행의 순열이 바뀐 각각의 블록에 대하여 DCT 변환을 통해 주파수 성분으로 변환한다. 즉, 각각의 블록에 대하여 계수 쌍(a set of coefficients)을 발생시키기 위해 각각의 블록 내 공간적 역 상관관계(spatial de-correlation)를 수행한다. 주파수 성분으로 변환된 신호는 해당하는 계수의 값에 따라 수행과정이 달라진다. 도 11을 참조하면, 계수값에 따라 계수를 분석하고 선택하는 계수 파싱 및 선택 모듈(Coefficient parsing and selection module; 726)으로 입력되거나, 각 블록의 타입을 판단하는 블록 타입 판별부(Block Type Detector;724), 각 블록의 프로세싱 모드를 제어하는 블록 프로세싱 모드 제어부(Block Processing Mode Controler; 725)을 거쳐 계수 파싱 및 선택 모듈(Coefficient parsing and selection module; 726)로 입력된다.
상기 블록 타입 판별부(Block Type Detector; 724)는 각각의 비디오 블록의 타입을 찾아낸다. 이때, 두 종류의 블록 타입이 type 0 및 type 1으로 정의될 수 있다. 일반적으로, DCT 변환 후 높은 주파수 계수에 낮은 에너지를 갖는 블록은 type 0으로 설정하고, 높은 주파수 계수에 높은 에너지를 갖는 블록은 type 1로 설정하여 구분할 수 있다. 이러한 특정 블록 타입 결정 기준은 요구되는 영상 품질을 만족시킬 수 있는 특정 수행자가 될 수 있다.
다음으로, 블록 프로세싱 모드 제어부(Block Processing Mode Controler; 725)는 모든 블록에 대하여 제 1모드 또는 제 2모드 중 하나를 적용하여 처리과정을 구행한다. 제 1 모드는 기본모드(basic mode)로 모든 블록에 대하여 적용되는 반면, 제 2모드는 정제 모드(refinement mode)로 연속적인 비디오 프레임의 번호를 통해 변경되지 않는 블록에 대해서 적용된다. 특정 블록을 처리하는 모드에 대한 결정 기준은 비디오 품질 요구를 충족할 수 있는 특정 수행자일 수 있다. 제 1 모드는 DCT 변환된 비디오 신호에서 선택적으로 고주파 성분은 폐기하고 양자화 과정을 적용하는 것으로, 비교적 적은 양의 비디오 데이터를 생성할 수 있다. 반면, 제 2모드에서는 DCT 변환된 비디오 신호에서 선택적으로 고주파 성분을 폐기하고 양자화 및 오차 신호 추출의 과정을 거쳐 비교적 많은 양의 영상 데이터를 전송할 수 있다. 다만, 소스 디바이스가 비디오 데이터를 전송할 때 제 2모드를 적용하기 위해서는 싱크 디바이스에서 정제모드은 제 2모드를 지원해야만 한다. 모든 블록에 대하여 제 2모드 과정을 적용하고 고주파 성분을 폐기하는 과정이 없다면 비압축 전송도 가능하다.
다음으로, 계수 파싱 및 선택 모듈(Coefficient parsing and selection module; 726)에서는, 블록 타입 판별부(Block Type Detector; 724)에서 판단한 블록 타입, 블록 프로세싱 모드 제어부(Block Processing Mode Controler; 725)에서 수행되는 블록 프로세싱 모드 제어 지시, 적당한 계수를 선택하기 위한 계수 정보 테이블 및 MAC 계층에 의해 제공되는 가용 대역폭 등을 기반으로 각각의 블록의 비디오 양자화 오차 스트림에 관한 계수를 분석 및 선택한다.
MAC 계층에서 NCoeffs _ per _ Block을 설정하는데, NCoeffs _ per _ Block은 블록당 계수의 값으로 현재 무선 수신 감도와 기타 성능치를 종합하여 판단한다. 예를 들어, 소스 디바이스와 싱크 디바이스간 거리가 멀어서 무선 채널 상황이 좋지 않을 경우 NCoeffs_per_Block값을 작게 설정함으로써, 계수 중 고주파 성분은 자동으로 폐기한다.
다음으로, 계수 양자화부(Coefficients Quantizer; 727)은 블록 타입 판별부(Block Type Detector; 725), 블록 프로세싱 모드 제어부(Block Processing Mode Controler; 725) 및 계수 파싱 및 선택 모듈(Coefficient parsing and selection module; 726)로부터 전송되는 신호에 대하여 양자화를 수행한다. 복소수 심볼(complex symbol)값에 대한 비디오 양자화 계수 비트 스트림 및 비디오 양자화 오차 스트림을 발생시키기 위해, 각 블록의 타입, 상세한 제어 지시 정보, 적당한 양자화 테이블, MAC 계층에 의해 제공되는 가용 대역폭 등을 기초로 각 블록의 계수를 양자화할 수 있다.
각각의 비디오 블록에 대하여 상기 DCT 계수의 서브셋(a subset of the DCT coefficients)이 양자화된다. 양자화된 각각의 계수는 하나 이상의 양자화된 비트의 시퀀스 및 비디오 양자화 오차 계수(video fine coefficient)와 같은 두 종류의 형태로 나타나도록 한다. 양자화되지 않는 계수는 변경되지 않은 채로 유지되고 이하 비디오 양자화 오차 계수로 언급된다.
계수 양자화부(Coefficients Quantizer; 727)에서 수행되는 양자화 과정은 다음과 같이 이루어질 수 있다.
1) 9 종류의 표준 양자화가 신호의 DC 성분에 대하여 DCT 이용될 수 있다. 예를 들면,
Figure 112009047739777-pat00001
, 그것의 출력 비트의 개수에 따라 각각의 양자화가 특정된다.
2) 3 종류의 비표준 양자화가 non-DC 성분, 즉 AC성분에 대하여 DCT 계수에 이용될 수 있다. 예를 들면,
Figure 112009047739777-pat00002
Figure 112009047739777-pat00003
Figure 112009047739777-pat00004
, 그것의 출력 비트의 개수에 따라 각각의 양자화가 특정된다.
각각의 N-bit 계수 양자화는 하나의 양자화 영역에 각각 해당하는 2N 양자화 값 및 하나의 양자화 영역에 각각 해당하는 2N N-bit 시퀀스를 포함하는 2N 양자화 영역으로 정의된다. DCT 계수가
Figure 112009047739777-pat00005
로 양자화되고, 상기 양자화는
Figure 112009047739777-pat00006
에 따른 N-bit 양자기에 의해 양자화된다고 가정한다. 양자화 과정은 다음과 같다.
1) 계수
Figure 112009047739777-pat00007
가 주어진 양자화 영역
Figure 112009047739777-pat00008
을 찾는다. 수학적으로, 이것은
Figure 112009047739777-pat00009
에 따라 수행된다. (where if means if and only if)
2) 양자화 영역
Figure 112009047739777-pat00010
에 해당하는 양자화 값인
Figure 112009047739777-pat00011
를 산출하기 위해 계수
Figure 112009047739777-pat00012
를 양자화한다.
3) 양자화 영역에 해당하는 N-bit 시퀀스
Figure 112009047739777-pat00013
를 생성한다. 상기 N-bit 시퀀스는 스트림에서 가장 먼저 출력되는 b0비트를 포함하는 양자화 과정에서의 비트 시퀀스 출력이다.
4)
Figure 112009047739777-pat00014
에 따라 정의되는 양자화 오류를 계산한다. 상기 양자화 오류는 양자화 과정에서 생성되는 비디오 양자화 오차 계수이다.
양자화되지 않은 계수에 대해서,
Figure 112009047739777-pat00015
이 되고, 비트 시퀀스는 생성되지 않는다.
이하 각각의 비디오 블록에 대하여 산출되는 양자화 비트를 도 13을 참조하여 설명하도록 한다. 도 13은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조에서 비디오 블록당 산출되는 양자화 비트를 나타내는 도면이다.
양자화된 계수의 선택과 비트의 개수는 제 1 블록 모드(Basic mode) 또는 제 2 블록 모드(Refinement mode), 비디오 형식 및 대역폭 제한에 따라 할당될 수 있는데, 모든 양자화 비트를 처리하는 제 2 블록모드에 따라 처리된 비디오 블록은 0으로 설정된다.
그리고, MAC 계층에 의해 전체 양자화된 모든 블록 개수는 NBits _ per _ Block -으로 설정한다. MAC 계층은 또한 파라미터 NBits _ per _ Block -의 값을 0이상 64 미만으로 한다. 파라미터 NBits _ per _ Block -의 값은 64 비디오 블록의 모든 그룹 내에서 제 1 비디오 블록 NBits_fraction- 에 '0'의 값을 갖는 단일 비트를 부가하는 것에 따라 레이트 조정(rate adjustment)에 이용된다. 이때, 평균 64 비디오 블록 그룹 이상일 때 일정 상수의 비트 레이트를 획득함으로써, 제 1 비디오 블록에서부터 레이트 조정을 시작한다. 이러한 비트는 레이트 조정 비트(rate adjustment bit)으로 언급된다. 레이트 조정 비트를 부가하는 경우, 블록의 모든 출력 비트를 양자화한 후에 부가한다. 각각의 비디오 블록에 대하여 생성된 비트는 비디오 블록의 타입을 나타내는 타입 비트에 의해 미리 정해져야 한다. 상기 타입 비트가 산출되는 경우, 임의의 비트의 양자화 및 레이트 조정에 앞서 수행되어야 한다. 상기 타입 비트는 type 0 블록에 대하여 '0' 값을 가져야 하고, type 1 블록에 대하여 '1'값을 가져야 한다.
상기 타입 비트, 양자화 비트 및 레이트 조정 비트에 앞서 비디오 블록의 처리를 나타내는 프로세싱 비트가 먼저 설정되어야 한다. 상기 프로세싱 비트는 상술한 제 2 블록모드를 지원하지 않는 싱크 디바이스로 신호를 전송할 때 모든 블록의 소스 디바이스에서 '0'으로 설정된다.
양자화가 수행된 이후에는, 양자화된 계수와 양자화가 이루어지기 이전의 값 간의 차이인 비디오 양자화 오차 스트림으로 추출한다.
다음으로, 비트스트림 MUX(73)는 네 개의 비트스트림(데이터/제어비트스트림, 오디오 인코더 출력 비트스트림, 비디오 양자화 계수비트 스트림 및 테스트용 비트스트림)을 하나의 양자화 계수 비트스트림(coarse stream)으로 처리하기 위하여 혼합한다. 이때, 제어정보에서 헤더 정보(BH, EH)는 제외된다. Coarse stream encrytor(74)는 비트스트림 MUX(73)에서 하나의 스트림으로 처리된 헤더 정보(BH, EH)를 제외한 비디오 양자화 계수 비트스트림을 암호화한다.
다음으로, bitstream processer(75)에 대하여 도 14를 참조하여 설명하도록 한다.
도 14는 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 비트스트림 프로세서(bitstream processer)를 나타내는 도면이다.
bitstream processer(75)는 TAIL Bits Inserter(751), Convolution Encoder(752), Bit Interleaver(753), Symbol Mapper(754), Symbol Parser(755), 및 Space Time Block Code(STBC) Encoder(756)를 포함할 수 있다.
비디오 양자화 계수 비트스트림은 비디오 양자화 오차 스트림보다 에러 정정 코드를 강화하여 전송되도록 한다. 도 14를 참조하면, Convolution Encoder(752) 및 STBC(Space Time Block Code) Encoder(756)에서 비디오 양자화 계수 비트스트림에 에러 정정 부호를 부가한다. 이때, 비디오 양자화 계수 비트스트림 뿐만 아니라, 비트스트림 MUX(73)에서 혼합되어 암호화 과정을 거친 다른 데이터 스트림도 비트스트림 프로세서를 거친다.
TAIL Bits Inserter(751)는 컨볼루션 인코더(Convolution Encoder)의 입력을 받기 위해 마지막 비트로 '0'을 추가한다. 각각의 인코더에서 인코딩 레이트는 1/2, 3/4, 5/6 이 사용되는데 이것은 무선 상태가 좋으면 1/2, 좋지 않으면 5/6과 같이 무선 상태에 따라서 달리 선택할 수 있다. 컨볼루션 인코더(Convolution Encoder; 752)를 거친 비트스트림은 비트 인터리버(Bit Interleaver; 753)에서 인접된 bit를 고르게 펼쳐진다. 심볼 맵퍼(Symbol Mapper; 754) 는 비디오 양자화 계수 비트스트림을 아날로그 신호로 바꾸기 위해 IQ 직교 위상의 계수로 변환하는 것으로, 도 15에 도시된 것처럼 양자화 계수 스트림의 비트스트림은 항상 16-QAM 으로만 부호화할 수 있다.
도 15는 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 양자화 계수 스트림의 IQ 직교 위상의 계수로 변환하기 위한 16QAM 배열을 나타내는 도면이다. 16QAM에서 각 4개의 비트열이 하나의 심볼로 변환된다.
다음으로, 도 16은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서심볼 파서(Symbol Parser)에서 OFDM 심볼을 파싱하는 과정의 일 예를 나타내는 도면이다.
DLPDU 심볼 파서(Symbol Parser; 725)는 변조된 심볼 열에 대해 양자화 계수 스트림에 할당된 부반송파, 공간적 스트림(tansmit chain)별로 순차적으로 16-QAM 심볼을 분배한다.
DLPDU는 상향링크 데이터에 비해 전송양이 많으므로 (1080p 의 경우 200Mbps 이상) 다수 개의 공간적 스트림을 사용한다. 도 16을 참조하면, DLPDU Symbol Parser(725)는 IQ 복소수 신호의 입력 열에 대해 OFDM 심볼, 부반송파, 공간적 스트림과 같은 벡터로 전환시킨다.
예를 들어, 4개의 MIMO 채널, Nsym개의 OFDM 심볼, Nscc 개의 subcarrier 가 있다고 가정하면 입력 데이터 Complex 0,Complex 1,…,Complex T,… 에 대해 차례대로 < OFDM symbol#1, Subcarrier#1, Spatial Stream#1> < OFDM symbol #1, Subcarrier #1, Spatial Stream #2> < OFDM symbol #1, Subcarrier #1, Spatial Stream #3> < OFDM symbol #1, Subcarrier #1, Spatial Stream #4> < OFDM symbol#1, Subcarrier #2, Spatial Stream #1> < OFDM symbol #1, Subcarrier #2, SpatialStream #2>…< OFDM symbol #2, Subcarrier #1, SpatialStream #1> < OFDM symbol#2, Subcarrier#1, SpatialStream#2>…< OFDM symbol#Nsym, Subcarrier#Nscc, SpatialStream#3> < OFDM symbol#Nsym, Subcarrier#Nscc, SpatialStream#4> 으로 할당한다.
도 14에 도시된 STBC Encoder(756)는 에러 정정 가능성을 보다 강화하기 위해 공간적 스트림별로 중복된 에러 정정 부호를 추가한다.
다음으로, 도 17을 참조하여 Fine data processing and Encryption module(76)에서 수행되는 양자화 오차 데이터 프로세싱 및 암호화 과정을 설명하도록 한다.
도 17은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 양자화 오차 데이터 프로세싱 및 암호화 모듈(Fine data processing and Encryption module)을 나타내는 도면이다.
비디오 인코더(72)를 거친 비디오 양자화 오차 데이터 스트림은 양자화 오차 데이터 프로세싱 및 암호화 모듈(Fine data processing and Encryption module; 76)에서 먼저 양자화 오차 데이터 스캘링 과정을 거친다. 양자화 오차 데이터 스캘링이 이루어지는 양자화 오차 데이터 스캘링 모듈(fine-data scaling module; 761)은 8x8 로 그룹화된 각각의 비디오 블록이 type 0 또는 type 1인지 여부에 따라 다른 스캘링 요소를 적용한다. 예를 들어, type 0인 비디오 블록에 대해서는 포함되는 모든 양자화 오차 데이터에 1.75를 곱하고, type 1인 비디오 블록에 대해서는 포함되는 모든 양자화 오차 데이터에 1을 곱하는 식으로 크기를 조정한다.
이후, 크기 조정된 비디오 데이터는 심볼 맵퍼(762)에서 심볼 매핑 과정이 수행되는데, 양자화 오차 데이터 변조 과정은 일반적인 디지털/아날로그 변조(BPSK, QPSK, QAM) 등과는 구분된다. 먼저, 하나의 양자화 오차 데이터 스트림은 두 개의 양자화 오차 데이터, 예를 들어 하나의 픽셀에서 Y 성분에 대한 양자화 오 차와 색차(Chroma) 성분에 대한 양자화 오차로 그룹화된다. 2개의 그룹으로 나뉘면서 양자화 오차 데이터 프로세싱 및 암호화 과정이 모두 수행된 이후에는 하나의 변조 심볼이 두 개의 양자화 오차 데이터를 포함하게 된다. 첫 번째 양자화 오차 데이터는 실수 값을 갖고, 두 번째 양자화 오차 데이터는 허수 값을 갖는다. 변조 과정에서 (±)부호는 변조수행 전 부호를 그대로 이용하고, 변조는 직교위상 반송파의 합성 방식을 이용한다. 예를 들어, IQ 각각 크기가 ±2047이고 양자화 오차 데이터의 최대 가용 값이 1007.5 일 때 첫번째 데이터가 +22, 두번째 데이터가 -24 라고 하면 I=(22*2)+32=76, Q=(-24*2)+32=-80 로 결정된다. 이는 16QAM 이나 64QAM 등의 양자화 계수 데이터 스트림의 변조 방식에 비해 2배 이상 많은 데이터를 하나의 심볼에 표현할 수 있는 장점이 있다. 이와 같이, 엑티브 소스 디바이스에서 양자화 오차 데이터를 변조할 때 하나의 픽셀의 Y, Cb, Cr 성분에 대하여 상응하는 양자화 오차 데이터 요소 하나를 I와 Q 성분으로 분해하지 않는다. 대신 양자화 오차 데이터 요소 하나를 I 성분으로 연결하고 다음 양자화 오차 데이터 요소 하나를 Q 성분으로 연결한다.
이후, 양자화 오차 데이터 암호기(763)는 변조과정을 거친 심볼을 복소수 입력신호로 하여 양자화 오차 데이터 암호기에 설정된 Key에 따라 AES-128 CTR방식으로 암호화한다. 암호화된 복소수 출력신호는 군집 에러를 회피하기 위해 fine-data scrambler(764)에 의해 분산된다.
다음으로, MIMO-OFDM 맵퍼(77)는 적장한 공간 시간 스트림(appropriate space time streams), 부반송파 및 OFDM 심볼별로 양자화 계수 데이터 복소수 값의 심볼, 양자화 오차 데이터 복소수 값의 심볼, 고정된 파일럿 및 변동하는 파일럿을 매핑한다. 또한, 특정 부반송파를 고정된 파일럿 및 변동하는 파일럿을 위한 부반송파로 할당하여 수신단에서 이를 이용한 시간 동기화 또는 채널 측정을 실시하도록 한다.
그리고, 프리엠블 MUX(783)은 프리엠블 필드와 나머지 다른 필드(CES, BH, EH, IQ, DATA)간에 멀티플렉싱하여 전체 DLPDU를 생성한다. 프리엠블 필드에 대하여 디자인하는 경우에는 프리엠블을 입력신호로 선택한다. 반면, 나머지 다른 필드(CES, BH, EH, IQ, DATA)필드에 대하여 디자인 하는 경우에는 OFDM 변조기의 출력을 입력신호로 선택한다.
Symbol shaper(784)는 도 18에 도시된 Spectral Mask을 만족하도록 수행한다.
도 18은 WHDI 엑티브 소스 디바이스에서 DLPHY RF 전송시의 스텍트럼의 일 예를 나타내는 도면이다.
전반적으로 전송된 기저대역 신호는 모든 필드의 기여로 구성된다. 여기서는 다음의 수학식 1을 만족한다.
Figure 112009047739777-pat00016
여기서,
Figure 112009047739777-pat00017
는 각각
Figure 112009047739777-pat00018
의 필터링된 버전이다. Symbol shaper(784)에서 산출되는 DLPHY 신호는 도 18에 도시된 바와 같은 Spectral Mask 최대치의 주파수 특성을 갖는다.
다음으로, WHDI 시스템에서 싱크 디바이스 또는 수동형 소스 디바이스에서 엑티브 소스 디바이스로 PHY 신호를 전송하는 구간인 상향링크에 관하여 설명하도록 한다.
상술한 바와 같이, 엑티브 소스 디바이스는 비디오 데이터 또는 오디오 데이터를 하나 이상의 디바이스로 전송하는 소스 디바이스이고, 수동형 소스 디바이스는 비디오 데이터를 전송하지 않으면서 엑티브 소스 디바이스에 부가적으로 연결되는 소스 디바이스이다. 싱크 디바이스 역시 엑티브 소스 디바이스로부터 비디오 데이터 또는 오디오 데이터를 전송받는 디바이스이다. 이하 후술하는 싱크 디바이스는 엑티브 소스 디바이스를 포함하는 것으로 본다.
PHY 구간에서 상향링크 구간은 ULIPDU(Uplink Independent PHY Data Unit)를 생성하는 모드와 ULCPDU(Uplink Control PHY Data Unit)를 생성하는 모드로 구분된다.
ULIPDU는 싱크 디바이스가 어떤 소스 디바이스와 연결되어도 MAC 연결이 안된 상태에서 소스 디바이스를 탐색하기 위해 5Ghz UNII 대역 내부에서 여러 채널을 순회하면서 자신의 존재를 알리려는 목적의 신호를 송출하는 것이다. ULCPDU는 엑티브 소스 디바이스와 연결된 무선 장치가 DLPDU를 회피하여 짧은 시간을 이용해서 제어 신호를 다른 장치로 전송하는 PHY 모드로, 도 7에서 상술한 바 있다.
이하 구체적으로, ULIPDU 생성에 관하여 도 19 내지 도 23를 참조하여 설명하도록 한다.
도 19는 WHDI 시스템에서 싱크 디바이스에서 소스 디바이스로 ULIPDU를 전송하는 형태의 일 예를 나타내는 도면이다.
ULIPDU는 비디오 데이터와 무관한 Video Independent DLPDU와 유사하며 상대적으로 긴 신호 기간을 갖는다. ULIPDU는 여러 개의 신호를 연속적으로 송신하거나 또는 짧은 휴지기간만 두고 반복 송신한 후 다시 그에 대한 응답을 수신하는 방식으로 이루어 진다. 도 19에 도시된 것처럼, 예를 들어, 8750개의 400uS 의 ULIPDU 신호를 3500msec 동안 송출한 후 400ms 동안 신호 응답을 기다리고 다시 8750개의 동일한 ULIPDU 신호 집합을 송신하는 방식으로 수행된다. 즉, ULIPDU의 싱크 디바이스의 그룹은 하나의 Tuli 주기를 형성하며 각각 Fuli[0], Fuli[1] 과 같이 5Ghz U-NII 대역 주파수를 순회하면서 소스 디바이스의 응답을 유도하게 된다.
도 20은 WHDI 시스템에서 ULIPDU 전송을 수행하는 송신 디바이스에 관한 블록 구성도이다.
ULIPDU를 전송하는 송신 디바이스는 비트스트림 프로세서(81), OFDM 맵퍼(82), 상향링크 IDFT(하향링크 DFT)(83), CP Inserter(84), 프리엠블 MUX(85), Symbol Shaper(86) 및 아날로그 및 RF 모듈(Analog and RF module; 87)을 포함한다. 각각의 구성요소는 오디오 데이터 또는 비디오 데이터가 아닌 데이터만 처리한 다. ULIPDU를 통해 전송되는 데이터는 디바이스 ID (6 bytes value), 찾고자 하는 디바이스의 ID, 벤더 ID 등을 포함한다.
WHDI에서 주소 체계에서 각각의 디바이스는 고유의 ID를 갖는데, 디바이스 ID는 모든 WHDI 디바이스 각각을 구분할 수 있는 6bytes의 MAC 주소이다. 일반적으로 WHDI-HDMI bridge(어뎁터)를 기본 디바이스로 가정하면 이에 부착되는 디바이스를(예를 들어, DVD, STB, Blueray 등) 서브 디바이스라 명명하고, 각각 LSA(Logical Sub-Address)라는 1byte주소를 부가한다. 그리고, 네트워크가 연결되면 각 WHDI 디바이스에 ANA(Active Network Address)라는 1byte주소를 부가한다. 이렇게, <디바이스 ID, LSA, ANA>쌍으로 구성되는 디바이스 주소 체계를 토대로 각각의 디바이스를 구분할 수 있다.
도 21은 WHDI 시스템에서 ULIPDU 전송을 수행하는 송신 디바이스의 비트스트림 프로세서를 나타내는 블록 구성도이다.
도 21을 참조하면, ULIPDU 비트스트림 프로세서(81)는 심볼 맵퍼(811) 및심볼파서(812)를 포함한다. 심볼 맵퍼(811)에서 수행되는 ULIPDU 데이터 변조는 On-Off Keying(OOK)를 사용하여 이루어진다. 예를 들어, 한 개의 위상 반송파를 이용하는 경우, 입력 비트가 0일 때에는 반송파 크기(세기)가 0이 되고, 1일 때에는 반송파 크기(세기)가
Figure 112009047739777-pat00019
가 된다. 변조된 심볼(복소수 신호)은 심볼 파서(812)를 통해 각각의 OFDM 심볼에 할당된다. 하나의 OFDM 심볼은 부반송파 개수만큼의 복소수 신호 입력을 할당할 수 있다. ULIPDU는 MIMO, STBC와 같은 다중 안테나 기술을 사용하지 않고 하나의 공간적 스트림, 공간 시간 스트림으로 전송된다. ULIPDU OFDM 의 부반송파의 개수는 DLPDU OFDM의 부반송파 개수보다 상대적으로 적다. 이는 데이터 레이트가 1080p이상의 비디오 데이터 전송을 위해 200Mbps 이상의 전송량이 필요한 것에 비해 제어 신호의 필요 데이터량이 1Mbps 이하로 적기 때문이다.
다음으로, OFDM 맵퍼(82)는 부반송파 및 OFDM 심볼에 대하여 데이터 복소수값의 심볼 및 파일럿을 매핑한다. 또한, 상기 파일럿을 생성할 수도 있다.
WHDI시스템에서 ULIPDU DFT 모듈(83)은 사실상 DFT/IDFT의 기능을 갖고 있으며 하향링크에서 수신시에는 DFT로 동작하나 상향링크에서 송신시에는 IDFT로 동작한다. 즉, 싱크 디바이스를 기준으로 하면 ULIPDU DFT 모듈(83)은 송신시에는 IDFT로 동작하고 수신시에는 DFT로 동작한다.
ULIPDU CP Inserter(84)는 OFDM 전후 심볼간 다중 경로(Multi-path) 간섭을 회피하기 위해서 IDFT 변환된 신호 전송과정에 순환 주기(Cyclic Period)를 추가한다. ULIPDU Preamble MUX(85)는 프리엠블 필드와 CES, 데이터 간 멀티플렉싱을 수행함으로써, ULIPDU를 생성한다. 프리엠블 필드에 대하여 디자인하는 경우 상기 프리엠블을 입력신호로 선택하는 반면, CES, 데이터에 대하여 디자인하는 경우에는 OFDM 변조기에서 출력되는 신호를 입력신호로 선택한다.
이후, ULIPDU symbol shaper(86)에서는 도 22에 도시된 것과 같은 스펙트럼을 만족할 수 있도록 심볼 쉐이핑이 수행된다. 도 22는 WHDI ULIPDU 에서 20Mhz인 경우의 전송 스펙트럼의 일 예를 나타내는 도면이다.
다음으로, 상향링크에서 ULCPDU에 관하여 도 23 내지 도 25를 참조하여 설명하도록 한다.
일반적으로, PHY는 가정이나 사무실 등에서 최적의 작동을 위해 최대 100 Kbps까지 데이터 전송 속도를 지원하기 위해 견고성 및 유연성을 제공하도록 디자인된다. 이때, OFDM 변조 및 주파수 다이버시티를 포함하는 다양한 신호 처리 장치를 이용할 수 있다. PHY 전송은 20MHz 대역폭 모드 및 40MHz 대역폭 모드를 이용할 수 있는데, 2개의 대역폭 모드는 모든 WHDI 디바이스에 대하여 의무적으로 지원된다.
5 GHz 대역에서 다른 디바이스와 매체를 공유하고 공존하는 것은 다른 시스템에 대한 간섭을 회피하는 것처럼 높은 성능을 유지하기 위한 중요한 문제이다. ULCPDU 변조는 반송파 감지(carrier sense), 자동 주파수 선택(automatic frequency selection) 및 전송 전력 제어(transmition power control)을 포함하는 여러 다양한 수단을 통해 다른 현존하는 디바이스와 공존할 수 있도록 설계된다.
ULCPDU는 WHDI 무선 전송에 관한 PHY에서 싱크 디바이스로부터 소스 디바이스로또는 수동형 소스 디바이스로부터 엑티브 소스 디바이스로 데이터/제어 정보를 상향링크를 이용하여 전송하는 구간이다. 즉, ULCPDU는 싱크 디바이스가 엑티브 소스 디바이스로부터 DLPDU를 수신한 이후부터 싱크 디바이스 또는 수동형 소스 디바이스가 다른 엑티브 소스 디바이스, 싱크 디바이스, 수동형 소스 디바이스에게 제어 메시지를 전달하기 위해서 보내는 PHY 신호이다. 싱크 디바이스 또는 수동형 소스 디바이스는 엑티브 소스 디바이스를 발견한 후에 채널을 고정하고 ULCPDU를 전송한다.
이때, 도 23에 도시된 것처럼 ULCPDU 전송은 각 DLPDU 전송 구간 사이의 짧 은 시간 동안에만 전송할 수 있다. 도 23은 WHDI시스템에서 DLPDU와 ULCPDU간의 시간에 따라 비디오 신호를 전송하는 형태를 나타내는 도면이다. 상술한 것처럼, WHDI에서 PHY 신호 전송은 5Ghz 대역을 사용한다.
도 24는 WHDI시스템에서 ULCPDU를 전송하는 송신 디바이스의 구성을 나타내는 블록 구성도이다.
ULCPDU 기저대역의 참조 구현(reference implementation)은 입력되는 데이터/제어 비트스트림을 인코딩하기 위해 참조로서 RF 신호를 제공한다.
ULCPDU 송신 디바이스는 도 21에서 상술한 ULIPDU 송신 디바이스의 구조와 유사하다. 도 24를 참조하면, 입력되는 데이터 비트스트림을 처리하기 위한 과정이 수행되는 Bitstream Processer(91), 처리과정을 거친 신호를 파일럿 및 데이터 변조 심볼로 구분하고 이를 OFDM 심볼에 대해 매핑하는 OFDM 맵퍼(92), 하나의 배열 포인트 블록을 시간 도메인 블록으로 전환하는 상향링크 IDFT(하향링크 DFT) 모듈(93), 변조된 신호 전송에 순환 주기(cyclic prefix)를 추가하는 CP Inserter(94), 프리엠블 필드와 다른 필그나 멀티플렉싱을 수행하는 프리엠블 MUX(95), 요구되는 스펙트럼을 구현하기 위해 시간 도메인상에 심볼을 쉐이핑하는 Symbol Shaper(96), 주파수 정정기(Frequency Corrector; 97) 및 아날로그 및 RF 모듈(Analog and RF module; 98)을 포함한다. 여기서, 주파수 정정기(97)는 ULIPDU 송신 디바이스 구조와 달리 ULCPDU 송신 디바이스에만 포함되는 구성요소로, 송신 디바이스와 수신 디바이스간 주파수 오프셋을 보정하기 위해 주파수 선-보정을 수행한다.
구체적으로, 비트스트림 프로세서(91)는 도 25에 도시된 것처럼 비트스트림 암호기(911), 심볼 맵퍼(912) 및 심볼 파서(913)를 포함한다. 도 25는 WHDI시스템에서 ULCPDU 송신 디바이스에서 비트스트림 프로세서의 구성을 나타내는 블록 구성도이다.
비트스트림 암호기(911)에서는 데이터 비트스트림을 AES-128 CTR 방식으로 암호화한다. 심볼 맵퍼(912)는 ULIPDU 송신기에서와 마찬가지로 On-Off Keying 방식으로 암호하된 데이터 비트스트림을 다수 개의 심볼로 변조한다. 이후, 심볼 파서(913)는 각각의 심볼이 몇번째 OFDM 심볼에 포함될지를 결정한다.
다음으로, 주파수 정정기(97)는 ULCPDU 송신 디바이스에서만 구현된다. ULCPDU 송신기와 타겟으로 결정된 ULCPDU 수신기 간 주파수 오프셋을 보상하기 위하여 아날로그 및 RF 모듈(Analog and RF module; 98)을 통해 전송되기 이전에 적용되는 것이다.
주파수 정정기(97)에서 수행되는 주파수 보상은 수학식 2와 같다.
Figure 112009047739777-pat00020
여기서,
Figure 112009047739777-pat00021
은 MAC 계층에 의해 설정되는데, 타겟으로 결정한 ULCPDU 수신기를 포함하는 소스 디바이스로부터 수신받은 DLPDU에서 추정될 수 있다. 구체적으로,
Figure 112009047739777-pat00022
은 ULCPDU 송신기와 타겟으로 삼은 ULCPDU 수신기 간 주파수 오프셋이 보상 이후 1325Hz 미만이 되도록 설정된다. ULCPDU의 아날로그 및 RF 모듈(Analog and RF module; 98)에서는 수신측에서 발생하는 수신장애에 따라 반송파 주파수를 1325Hz까지 유동적으로 조정할 수 있다.
이와 같이 WHDI에 속한 사용자 디바이스 중 A/V 데이터를 전송하는 소스 디바이스와 이를 수신하는 싱트 디바이스에 관하여 구체적으로 설명하였다. 상술한 바와 같은 구조를 가지는 디바이스에서 신호 분할, DFT변조 및 양자화가 이루어지면 A/V 데이터의 송수신이 이루어진다.
이하, WHDI에서 사용자 디바이스간 A/V 데이터를 송수신하는 방법에 대하여 설명하도록 한다.
도 26은 WHDI에서 송신 디바이스와 수신 디바이스간 A/V 데이터 스트리밍을 위해 AVCL 커맨드 및 그에 따른 응답 메시지 교환을 나타내는 도면이다.
A/V 데이터의 스트리밍을 위해 송신 디바이스는 수신 디바이스로 디바이스간 연결에 앞서 AVCL 메시지 또는 커맨드(command)를 전송한다(S101). 상술한 도 3을 참조하면, AVCL 메시지 또는 커맨드는 송신 디바이스의 AVCL(32)에서 생성된다.
송신 디바이스를 통해 전송되는 AVCL 커맨드 메시지는 표 1과 같은 구성요소를 포함할 수 있다.
Field Name Description Size Value
Initiator_Addr Initiator_AVCL_Address 2 Bytes Byte 0: Initiator Device_ANA
Byte 1: Initiator Device_LSA
Follower_Addr
Follower AVCL_Address
2 Bytes Byte 0: Follower Device_ANA
Byte 1: Follower Device_LSA
AVCL_Opcode Opcode 1 Bytes
AVCL_Parameter Parameter(s) specific to opcode(Optional, depending on opcode) Depends on Opcode
표 1을 참조하면 하나의 AVCL 커맨드 메시지는 송신 디바이스 주소(Initiator_Addr), 수신 디바이스 주소(Follower_Addr), AVCL_Opcode, 식별자(Identifier)로서 AVCL_파라미터로 구성될 수 있다. WHDI 네트워크에 포함되는 하나 이상의 디바이스의 구분이 필요한 바, 상술한 디바이스 주소 체계를 맞추기 위하여 송신 디바이스 및 수신 디바이스의 주소를 나타내는 비트가 부가되어야 한다. 송신 디바이스 주소(Initiator_Addr)는 AVCL 커맨드를 전송하는 송신 디바이스의 주소로 ANA(송신 디바이스가 엑티브 소스 디바이스인 경우 엑티브 소스 디바이스에 의해 부여되는 주소)를 나타내는 1byte 및 LSA를 나타내는 1 byte로 이루어진 2bytes 크기를 갖는다. 수신 디바이스 주소(Follower_Addr)는 AVCL 커맨드를 수신하는 수신 디바이스의 네트워크 주소로, 마찬가지로 ANA 및 LSA에 각각 1 byte를 할당하여 2 bytes의 크기를 갖는다.
AVCL_Opcode는 메시지의 유형으로 다양한 커맨드를 나타내며 이는 표 2에 나열되어 있다.
Command Opcode Command Opcode Command Opcode Command Opcode
<Action Reject> <Record On> <EDID Request> <System Audio Mode Request>
<Action Accept> <Record Off> <EDID Status> <System Audio Mode>
<Wait> <Record Status> <EDID Report> <Audio Control>
<Get LSAs> <Record Display> <Get Subdevice Information> <Give Audio Volume>
<Report LSAs> <Clear Analog Timer> <Report Subdevice Information> <Report Audio Volume>
<Get LSA from OSD Name> <Clear Digital Timer> <Set Subdevice OSD Name> <Set Audio Display>
<Report LSA from OSD Name> <Clear External Timer> <Give Deck Status> <Audio Display>
<Active Stream Source> <Set Analog Timer> <Deck Status> <Get Audio Display>
<Inactive Stream Source> <Set Digital Timer> <Deck Control> <Present OSD String>
<Set Active Stream Source> <Set External Timer> <Play> <Present OSD Menu>
<Request Active Stream Source> <Set Timer Program Title> <Give Tuner Device Status> <OSD Menu Current Selection>
<Switch Stream Source> <Timer Cleared Status> <Tuner Device Status> <OSD Menu Final Selection>
<AV Status> <Timer Status> <Select Analog Service> <Present OSD Text Request>
<Get AV Status> <User Control Pressed> <Select Digital Service> <OSD Text Response>
<Menu Request> <User Control Released> <Tuner Step Decrement> <Get OSD Language>
<Menu Status> <User Control Still Pressed> <Tuner Step Increment> <Report OSD Language>
<Device Setup> <Standby> <Vendor Command> <Image View On>
<Text View On>
표 2를 참조하면, 송수신 디바이스간 다양한 형태의 AVCL 메시지를 교환할 수 있다. 여기서, ‘command opcode’는 AVCL_Opcode로, 송신 디바이스가 수신 디바이스에게 요구하는 커맨드 및 요구되는 커맨드에 따라 응답할 수 있는 응답메시지를 각각 구분하여 나타낸다.
단계 S101에서 전송되는 AVCL 커맨드가 어떤 액션을 요구하는 커맨드일 때, 상기 커맨드를 수신한 수신 디바이스는 요구되는 액션을 수행할 수 없거나 액션 수행을 위한 준비가 이루어지지 않은 경우, 응답 메시지를 송신 디바이스로 전송한다(S102) 이때, 수신 디바이스가 전송하는 응답 메시지의 AVCL_Opcode는 표 2에 나타나 있는 다수 개의 커맨드 중에서 액션 리젝트 메시지를 나타낼 수 있다.
액션 리젝트 메시지는 수신 디바이스가 요청받은 액션을 수행할 수 없는 경우에 송신 디바이스로 응답하는 메시지로서 액션을 거부하는 이유와 관련된 정보를 담은 Reason code를 AVCL_파라미터로 포함할 수 있다. Reason code에 대해서는 표 3을 참조하여 설명한다.
표 3은 송신 디바이스에서 수신 디바이스로 AVCL_메시지인 액션 요청 메시지를 전송하는 경우 수신 디바이스가 전송받은 액션 요청 메시지에 대한 응답으로서 액션 리젝트 메시지, 액션 어셉트 메시지, 대기 메시지(Wait Message)와 각각의 메시지에 포함되는 파라미터를 나타낸다. 본 발명의 일 실시예에 따른 AVCL_메시지 전송은 AVCL_파라미터로서 Reason code를 더 추가하였다.
Command Opcode Params Param Length
[ Byte ]
Params Options Addressing Response
<Action Reject> [Rejected Opcode] 1 Initiator and Follower swapped from rejected command No response
[Rejected Reason] 1 0×00_Un-specified
0×01_Unrecognized Command
0×02
_Invalid Parameter
0×03_Command not supported
0×04_Cannot perform action at this time
0×05_vender not supported
0×06_User rejection
0×07_No A/V Stream available
0×08_Mandatory parameter is missing
0×09_Host is in standby mode
0×0A_EDID not supported
0×11_System shut down
0×12_0×FF
<Action Accept> [Accepted Opcode] 1 Initiator and Follower swapped from accepted command No response
<Wait> [Deferred Opcode] 1 Initiator and Follower swapped from received command No response
표 3을 참고하면, 액션 리젝트 메시지는 소스 디바이스가 전송한 AVCL 메시지 요청에 대해 메시지를 전송받은 싱크 디바이스가 요청된 사항을 처리할 수 없는 경우 응답으로 사용하는 메시지이다. 액션 리젝트 메시지에는 [Rejected Opcode]와 [Rejected Reason]의 2개의 파라미터가 포함될 수 있다. [Rejected Opcode]는 1byte로서 처리할 수 없는 메시지 형태가 액션 리젝트임을 나타내는 OPCODE를 지정하고, [Rejected Reason] 역시 1byte가 할당되며 수신 디바이스가 수신한 액션 요청의 처리가 불가능한 이유를 제시한다.
표 3에서 액션 어셉트 메세지는 응답처리가 끝났음을 알려주는 것으로, 소스 디바이스가 싱크 디바이스에 대해 상기 메시지를 전송할 수도 전송하지 않을 수도 있다. 대기 메시지(Wait message)는 싱크 디바이스가 소스 디바이스에 대해 A/V 데이터 전송 등을 요청하는 경우 소스 디바이스가 요청 메시지를 받은 후 해당 메시지를 처리할 시간이 없는 경우에, 예를 들어 500ms를 기다려 달라는 메시지로서, [Deffered Opcode]에 해당하는 메시지를 싱크 디바이스로 전송하는 응답 메시지이다. 소스 디바이스가 싱크 디바이스로 대기 메시지를 전송하는 경우에도 액션 리젝트 메시지에서처럼 메시지를 처리할 수 없는 이유를 reason code로 나타낼 수 있는 바, 이하 표 4를 참조하여 설명하도록 한다.
상기 표 3에서 (0×0 ~ 0×12)코드는 일반적으로 소스 디바이스로부터 액션 요청 메시지를 수신받은 싱크 디바이스가 액션 리젝트 메시지를 전송해야 하는 경우 그 원인이 되는 경우를 분류하여 파라미터화한 것이다.
0×0 파라미터는 싱크 디바이스의 리젝션 이유가 특정되지 않거나 알 수 없는 경우 <Un-specified Command>메시지를 나타낸다. 0×1 파라미터는 수신한 커맨드OPCODE가 SPEC에 정의되지 않은 경우 인식되지 않은 명령어라는 <Unrecognized Command>메시지를 나타낸다. 0×2 파라미터는 송신 디바이스로부터 수신받은 메시지의 OPCODE가 수신 디바이스에서 지원되는 경우라도 SPEC상에 정의되지 않은 경우엔 유효하지 않은 커맨드라는 <Invalid Parameter>메시지를 나타낸다.
0×3 파라미터는 SPEC에 정의되지 않은 legal command라도 액션 요청 메시지를 수신한 수신 디바이스가 수신한 커맨드를 지원하지 않는 경우로 <Command not supported>메시지를 나타낸다. 0×4 파라미터는 액션 요청 메시지를 수신한 수신 디바이스가 수신하면서 동시에 요구된 액션을 실행할 수 없기 때문에 거부되는 경우로 <Cannot perform action at this time>메시지를 나타낸다. 0×5 파라미터는 벤더(Vender)가 특정하는 제어 커맨드를 수신한 수신 디바이스가 지정된 벤더(vendor)로부터 요청받은 커맨드를 지원하지 않는 경우 <Vender not supported>메시지를 나타낸다. 0×6 파라미터는 예를 들어 수신받은 명령어에 따른 기능을 이용할 수 없거나 또는 요청 메시지를 수신받았을 때 즉시 이를 거부하는 등과 같이 사용자가 요청받은 커맨더를 실행하는 것을 거부하는 <User rejection>메시지를 나타낸다.
다음으로, 0×7 파라미터는 <Set Active Stream Source> 커맨드에 대한 응답으로서 소스 디바이스가 응답하는 메시지에 포함된다. 즉, 싱크 디바이스로부터 A/V 스트리밍 요청을 전송받은 소스 디바이스가 엑티브 소스 디바이스로 A/V 스트림을 전송하길 원하지 않거나 오디오 또는 비디오 출력이 준비되지 않아 A/V 스트림을 전송할 수 없는 경우에 싱크 디바이스에 전송할 수 있는 액션 리젝트 메시지를 나타낸다.
0×8 파라미터는 수신 디바이스가 수신한 커맨드에 요구하고자 하는 파라미터가 포함되어 있지 않을 때, 에러 코드로서 액션 리젝트 메시지를 전송하는 <Mandatory Parameter is missing> 메시지를 나타낸다. 0×9 파라미터는 수신 디바이스의 호스트 장치가 송신 디바이스로부터 요청 메시지를 전송받았을 때 대기 모드(standby mode)로 저전력 상태에 있기 때문에 요청에 대한 즉각적인 처리가 어려운 경우 <Host is in standby mode>메시지를 나타낸다. 0×10 파라미터는 싱크 디바이스가 소스 디바이스로부터 EDID 정보를 요청받았을 때 싱크 디바이스에 EDID 정보가 없는 경우 <EDID not supported>메시지를 나타낸다. 0×11 파라미터는 수신 디바이스의 호스트 제어부의 사용율이 증가하여 전송받은 요청 메시지에 대한 처리가 불가능할 때 사용되는 <Host is busy>메시지를 나타낸다. 0×12 파라미터는 현재 수신 디바이스의 시스템이 중단되고 있는 중에 송신 디바이스로부터 요청 메시지가 전송되는 경우 이를 거부하기 위한 <System shut down> 메시지를 나타낸다.
이하, 본 발명에 따라 WHDI 디바이스간 메시지 교환을 함에 있어서 상술한 AVCL_파라미터를 포함하여 전송하는 실시예들을 도 27 및 도 28을 참조하여 설명하도록 한다.
도 27은 본 발명의 일 실시예에 따라 WHDI 소스 디바이스가 싱크 디바이스에 EDID 정보를 요청하는 경우 싱크 디바이스가 소스 디바이스로 응답 메시지를 전송하는 과정을 나타내는 도면이다.
소스 디바이스와 싱크 디바이스간 A/V 스트리밍을 시작하는 단계에서 소스 디바이스는 싱크 디바이스에 대해 EDID(Extended Display Identification Data) 정보를 요구하기 위해 DLPDU를 통하여 EDID 요청 메시지를 전송할 수 있다(S201). 여기서, EDID 정보란 디스플레이측에서 호스트측으로 디스플레이 정보를 전달하기 위한 규격으로 디스플레이의 능력을 호스트에 전달하기 위한 데이터 형태이다. WHDI에서 디스플레이측은 소스 디바이스로, 호스트는 싱크 디바이스로 볼 수 있다.
소스 디바이스로부터 EDID 정보를 요청하는 <EDID Request>메시지를 전송받은 싱크 디바이스는 마침 사용자의 버튼 요청을 받아 전원을 끄고 있는 중과 같이 시스템을 종료 중인 경우, <System shut down>메시지를 나타내는 0×11 파라미터를 포함하는 액션 리젝트 메시지를 소스 디바이스로 전송할 수 있다(S201). 이때, 싱크 디바이스에서 소스 디바이스로 ULCPDU를 이용하여 응답 메시지를 전송한다. 따라서, 소스 디바이스는 전송받은 응답 메시지에 포함된 AVCL_파라미터를 통해 싱크 디바이스에서 EDID가 없어서 거부된 것이 아니라 전원이 꺼졌기 때문에 요청된 액션이 거부되었음을 알 수 있다. 또한, 싱크 디바이스에 EDID가 없다는 잘못된 가정을 세우지 않음으로써 디바이스간 연결이나 신호 송수신에 있어 발생할 수 있는 오류를 방지할 수 있다.
도 28은 본 발명의 다른 실시예에 따라 WHDI 싱크 디바이스가 A/V 스트리밍을 시작하기 위해 소스 디바이스로 <A/V Status>메시지를 전송하는 경우 소스 디바이스에서 싱크 디바이스로 응답 메시지를 전송하는 과정을 나타내는 도면이다.
도 28을 참조하면, 싱크 디바이스는 소스 디바이스로 A/V 스트리밍 연결을 요청하기 위한 <A/V Status>메시지를 전송할 수 있다(S301). A/V 스트리밍 연결을 요청받은 소스 디바이스는 오디오 신호 또는 비디오 신호가 출력되지 않을 경우 <No A/V stream available>메시지를 나타내는 0×7 파라미터를 포함하는 액션 리젝트 메시지를 싱크 디바이스로 전송할 수 있다(S302). 이 경우, 싱크 디바이스는 소스 디바이스로부터 비디오 출력이 나오지 않음을 알고 있으므로 재요청시 비디오 출력이 나올 때까지 기다리거나, 별도의 벤더 특정 메시지를 이용하여 소스 디바이스로부터 비디오 출력이 이루어지는지 확인 후 연결을 재시도할 수 있다.
다음으로, 송신 디바이스로부터 A/V 스트리밍을 요청하는 메시지를 수신한 수신 디바이스가 그에 대한 응답으로 송신 디바이스에게 대기 메시지(Wait Message)를 전송하는 경우에 대하여 표 4를 참조하여 설명하도록 한다.
상술한 것처럼 요청 메시지를 전송하는 전송 디바이스는 소스 디바이스 또는 싱크 디바이스일 수 있고, 상기 요청 메시지에 응답 메시지를 전송하는 수신 디바이스는 싱크 디바이스 또는 소스 디바이스일 수 있다.
송신 디바이스로부터 AVCL_커맨드를 전송받은 수신 디바이스는 AVCL_Opcode로 대기 메시지를 나타내는 응답 메시지를 송신 디바이스로 전송할 수 있다. 또는, 수신 디바이스는 송신 디바이스로부터 AVCL_커맨드가 요청되지 않더라도 송신 디바이스에게 대기 메시지를 전송할 수 있으며, 수신 디바이스의 상태가 새로운 요청을 받아들이기 어려운 경우 선제적으로 송신 디바이스에게 대기 메시지를 전송할 수 있다.
이하, 설명을 용이하게 하기 위하여 A/V 스트림 연결을 위해 싱크 디바이스가 소스 디바이스로 <A/V status>커맨드를 전송하였을 때, 소스 디바이스가 싱크 디바이스로 대기 메시지를 전송하는 경우를 예를 들어 설명하도록 한다. 표 4는 대기 응답 파라미터를 포함하는 대기 메시지(Wait Message)를 나타낸다.
Command Opcode Params Param Length
[ Bytes ]
Params Options Addressing Response
<Wait> [Defferd Opcode] 1 If 0×FF, all commands shall be deferred Initiator and Follower swapped from rejected command No response
[Wait Time]
[Wait Reason]
1
1 0×00_Un-specified
0×01_Video is not ready
0×02_Audio is not ready
0×03_System is starting-up
0×04_Host busy
표 4를 참조하면, 일반적으로 소스 디바이스는 싱크 디바이스로부터 수신한 AVCL_Opcode에 대한 처리가 지연되는 경우 [Deferred OPCODE]로 <all commands shall be deferred>메시지를 포함하는 0×FF 코드를 포함하여 싱크 디바이스에 대해 응답 메시지를 전송할 수 있다. 종래에는 소스 디바이스가 지연되는 원인에 상관없이 대기 메시지로서 <all commands shall be deferred>메시지를 포함하는 0×FF 코드를 포함하는 응답메세지를 싱크 디바이스로 전송하였다.
본 발명의 일 실시예에 따르면 상기 대기 메시지는 [Deferred OPCODE]에 [WaitTime] 파라미터 및 [WaitReason] 파라미터를 포함할 수 있다. 여기서, [WaitTime] 파라미터는 1byte로서 소스 디바이스의 기다림 정보를 10ms단위로 2.55초까지 지연시간을 기술할 수 있어 종래 500ms 단위를 이용하던 것보다 보다 정확하고 지연이 최소화되도록 대기할 수 있다.
다음으로, [WaitReason] 파라미터는 소스 디바이스가 싱크 디바이스에게 요청하한 메시지에 대한 처리가 지연되는 원인을 밝히기 위한 것으로, 싱크 디바이스 또는 사용자에게 보다 정확한 지연정보를 전달할 수 있다. [WaitReason] 파라미터에서 0×0 파라미터는 싱크 디바이스가 특정되지 않거나 알 수 없는 경우로 <Un-Specified>메시지를 나타낸다. 0×1 파라미터는 소스 디바이스가 비디오 신호를 출력하지 못하거나 화면상에 영상을 디스플레이할 준비가 되지 않아 지연되는 경우로 <Video not ready>메시지를 나타낸다. 0×2 파라미터는 소스 디바이스가 오디오를 출력하지 못하거나 싱크 디바이스가 오디오를 스피커로 출력될 준비가 되지 않아 지연되는 경우로 <Audio not ready>메시지를 나타낸다. 0×3 파라미터는 소스 디바이스가 요청 메시지를 전송받았을 때 시스템 부팅(booting) 중이어서 싱크 디바이스가 대기해야 하는 경우로 <System is starting up>메시지를 나타낸다. 0×4 파라미터는 WHDI 시스템에서 소스 디바이스의 마스터인 호스트 프로세서가 느려져서 미처 요청을 처리하지 못하는 경우 <Host busy>메시지를 나타낸다.
도 29는 본 발명의 일 실시예에 따라 싱크 디바이스로부터 A/V 데이터전송을 요청받은 소스 디바이스가 싱크 디바이스로 대기 메시지를 전송하는 과정을 나타내는 도면이다.
도 29를 참조하면, 소스 디바이스는 싱크 디바이스로부터 어떤 요청 메시지를 전송받았거나 또는 받지 않더라도 싱크 디바이스로 DLPDU를 통해 대기 메시지를 전송할 수 있다(S401). 이때, 대기 메시지에는 소스 디바이스에 관한 3가지 정보를 포함하는데, OPCODE는 0×FF코드로 모든 명령어를 수신할 수 없다는 것을 나타낸다. 또한, [WaitTime]파라미터는 100ms로 즉 1초의 지연시간을 나타내는 바 대기 메시지를 수신한 싱크 디바이스에게 1초동안 대기할 것을 지시한다. [WaitReason]파라미터는 0×3코드로 <System is starting up>메시지를 나타내며, 현재 소스 디바이스가 시스템 부팅중이어서 싱크 디바이스로부터 A/V 스트리밍 요청을 받지 못한다는 것을 알려줄 수 있다.
한편, 소스 디바이스는 미리 예고된 지연시간보다 먼저 요청을 받아들일 준비가 완료된 경우 DLPDU를 통해 싱크 디바이스로 <System Ready> 메시지를 전송하여 메시지 처리 준비가 완료되었음을 밝힐 수 있다(S402). 이 경우, <System Ready> 메시지를 전송받은 싱크 디바이스는 소스 디바이스로 ULCPDU를 통해 보다 빨리 <AV Status> 메시지를 전송하며 복구함으로써 처리 지연시간을 줄일 수 있다(S403). <System Ready> 메시지를 전송하는 경우와 반대로, 소스 디바이스는 미리 예고한 지연시간보다 더 길게 지연되는 경우 또는 2.55초(2550ms)보다 더 길게 지연되는 경우 싱크 디바이스로 대기 커맨드(Wait command)를 연속해서 전송할 수 있다.
이와 같이 WHDI 디바이스간 메시지 교환은 WHDI 무선 네트워크의 싱크디바이스가 소스 디바이스의 스위칭을 위한 메시지 교환으로 이용될 수 있는 바 이하 도 30 내지 36을 참조하여 설명하도록 한다.
도 30은 WHDI 네트워크 구성의 일 예를 나타내는 도면이다.
도 30을 참조하면, 하나의 엑티브 소스 디바이스(110)가 싱크 디바이스 1(120) 및 싱크 디바이스 2(130)로 A/V 데이터를 DLPDU를 이용하여 브로드캐스트할 수 있다. 엑티브 소스 디바이스(110)는 각 디바이스의 디바이스 ID (6bytes)를 저장하고 다른 디바이스로 디바이스 목록을 전달할 때 상기 디바이스 ID를 이용한다.
한편, 수동형 소스 디바이스(140)는 싱크 디바이스 1 또는 싱크 디바이스 2로부터 상향링크 신호만 수신하여 데이터로 디코딩할 수 있다. 또한, ULCPDU를 이용하여 엑티브 소스 디바이스(110)에게 메시지를 전달할 수 있다. 따라서 제어 메시지의 전달 경로는 엑티브 소스 디바이스(110), 싱크 디바이스 1(120), 싱크 디바이스 2(130), 수동형 소스 디바이스(140)의 각 노드간 L1,L2,L3,L4,L5 경로에 해당한다.
일반적으로, 하나의 WHDI 네트워크에서는 엑티브 소스 디바이스에서만 DLPDU를 전송하고, 나머지 WHDI 소스 디바이스는 DLPDU를 복호화하지 못한다. 따라서, 엑티브 소스 디바이스(110)에서 수동형 소스 디바이스(140)로 ‘remote control path through’와 같은 제어 메시지를 전달하는 경우, 싱크 디바이스 1(120) 또는 싱크 디바이스 2(130)를 경유하여야 한다. 즉, L5 경로가 아닌 경로 L1, L4를 포함하는 경로 <L1,L4> 또는 경로 L2, L3을 포함하는 경로 <L2, L3>과 같은 여러 무선 경로를 포함하는 다중 무선 경로로 전달하여야 한다.
한편, 소스 디바이스로부터 A/V 데이터를 전송받고 있는 싱크 디바이스는 현재연결중인 소스 디바이스에서 네트워크상 위치하는 다른 소스 디바이스로 스위칭할 수 있는 바, 도 31 및 도 32를 참조하여 설명한다.
도 31은 WHDI 네트워크상에서 디바이스간 메시지가 전송되는 경로를 나타내는 도면이다.
도 31에서는 상술한 도 29의 WHDI 네트워크상에서 엑티브 소스 디바이스, 수동형 소스 디바이스, 다수개의 싱크 디바이스 간 MAC 메시지 전송을 위해 DLPDU 및 ULCPDU를 이용하는 다양한 경로를 나타낸다. 엑티브 소스 디바이스(110)는 WHDI 네트워크상에 포함되는 적어도 하나 이상의 싱크 디바이스(120, 130)에 대해 동시에 또는 순차적으로 DLPDU를 통해 무선 신호를 송신할 수 있다. 싱크 디바이스(120, 130) 역시 엑티브 소스 디바이스(110) 및 수동형 소스 디바이스(140)로 ULCPDU를 통해 무선 신호를 전송할 수 있다. 상술한 것처럼 무선 신호는 AVCL_커맨드를 포함하는 MAC 메시지 또는 A/V 데이터 등을 포함한다.
도 30에서 상술한 바와 같이, 엑티브 소스 디바이스(110)와 싱크 디바이스 1(120)간에는 경로 1 및 경로 2와 같이 직접적인 메시지 교환이 가능하다. 도 31에는 도시되지 않았으나, 엑티브 소스 디바이스(110)와 다른 싱크 디바이스(130)간에도 직접적인 메시지 교환이 가능하다. 다만, 수동형 소스 디바이스(140)는 싱크 디바이스(120, 130)로 신호를 직접 전송할 수 없고, 경로 3과 같이 엑티브 소스 디바이스(110)를 경유하여 전송하여야 한다. 또한, 싱크 디바이스 1(120)이 다른 싱크 디바이스(130)로 신호를 전송하는 경우에도 엑티브 소스 디바이스(110)를 경유하여 경로 5와 같이 신호를 전송하여야 한다.
이때, 싱크 디바이스는 연결된 소스 디바이스를 다른 소스 디바이스로 스위칭할 수 있는 바, 도 32를 참조하여 설명하도록 한다.
도 32는 본 발명의 다른 실시예에 따라 싱크 디바이스가 연결된 소스 디바이스를 스위칭하기 위하여 메시지를 전송하는 과정을 나타내는 도면이다.
예를 들어, 도 32를 참조하면, 싱크 디바이스 1(120)이 엑티브 소스 디바이스(110)로부터 현재 A/V 데이터를 DLPDU를 통해 전송받고 있다(S501).
싱크 디바이스가 연결되는 소스 디바이스를 엑티브 소스 디바이스(110)에서 수동형 소스 디바이스(140)로 스위칭하고자 할 때 싱크 디바이스 1은 AVCL 커맨드로 <Set Active Stream Source>메시지를 포함하는 액션 요청 메시지를 Vertical Blanking Period 구간에서 ULCPDU를 통해 수동형 소스 디바이스로 전송할 수 있다(S502).
여기서, AVCL 커맨드는 도 3의 싱크 디바이스의 AVCL(32)에서 생성된다.
소스 디바이스 및 싱크 디바이스는 상호간에 AVCL 커맨드 또는 메시지를 교환할 수 있는데, 실질적으로는 각 디바이스의 PHY 계층(34)을 통해 메시지, 데이터 등을 교환한다. 예를 들어, 도 32에서처럼 싱크 디바이스에서 수동형 소스 디바이스로 AVCL 요청 메시지를 전송하려는 경우, 싱크 디바이스의 AVCL(32)에서 MAC 계층(33)을 거쳐 PHY 계층(34)을 통해 수동형 소스 디바이스로 AVCL 요청 메시지를 전송한다.
도 2를 참조하면, 송신 디바이스의 일 예로 든 방송 신호 수신기(21)를 포함하는 방송 신호 수신 시스템은 네트워크 제어 모듈(216)에서 AVCL 요청 메시지를 포함하는 신호를 생성하여 수신부(211)로 입력되는 외부 방송 신호와 함께 수신 디바이스(25)로 전송할 수 있다. 그리고, 수신 디바이스(25)에서 생성되는 상기 AVCL 요청 메시지에 대한 응답으로 AVCL 커맨드를 포함하는 무선 신호를 수신받을 수 있다. 이하, 네트워크 제어 모듈(216)에서 수행되는 신호 처리 과정에 대해 설명하도록 한다.
도 3을 참조하여 설명하면, 싱크 디바이스의 AVCL(32)에서 생성되는 모든 AVCL 커맨드는 이와 동등한 타입으로 MAC 메시지에 매핑되기 위해 MAC 계층(33)으로 전송된다. 본 발명의 일 실시예에 따른 AVCL 커맨드의 일종인 <Set Active Stream Source>메시지도 AVCL(32)에서 MAC 계층(33)으로 전달된다. MAC 계층(33)의 MAC 메시지는 실질적으로 WHDI 디바이스간 정보를 전달하는 매체로서, MAC 메시지의 형태 및 길이는 각각의 AVCL 커맨드에 따라 다양하게 설정될 수 있다.
도 33은 송신 디바이스에서 MAC 계층(33)에서 생성되는 MAC 메시지 형태의 일 예를 나타내는 도면이다. MAC 메시지는 Null 필드의 포함여부에 따라 상대적으로 짧은 MAC 메시지와 긴 MAC메시지로 구분될 수 있는데, 도 33에 도시된 MAC 메시지는 Null 필드를 제외한 짧은 MAC 메시지이다. Null 필드는 Null 메시지를 전송하기 위해 할당되는 영역으로 1byte의 길이를 갖으며, 0×00의 값을 갖는다.
도 33을 참조하면, 짧은 MAC 메시지는 16비트 길이의 2 bytes의 MAC 메시지 프리엠블, 2 bytes의 MAC 메시지 타입을 나타내는 비트, 1 byte의 MAC 메시지 길이, 다양한 길이의 MAC 메시지 바디 및 16비트의 CRC를 포함하는 16비트의 MCS(Message Check Sequence) 필드를 포함한다. 여기서, MAC 메시지 바디 필드는 AVCL 커맨드에 따라 1 비트에서 254 비트까지 다양한 길이를 이용할 수 있다. 즉, 송신 디바이스에서 수신 디바이스로 AVCL 커맨드가 전송될 때, AVCL 커맨드는 송신 디바이스의 MAC 메시지의 MAC 바디 필드에 포함되어 전송된다. 본 발명의 일 실시예에 따르면, AVCL 커맨드의 일종인 <Set Active Stream Source>메시지는 MAC 바디 필드에 포함되어 수동형 소스 디바이스로 전송된다.
그리고, MCS 필드는 메시지의 프리엠블 필드, 메시지 타입, 메시지 길이 및 메시지 바디 필드를 제외한 MAC 메시지의 모든 필드 상에서 계산될 수 있다. 긴 길이의 MAC 메시지는 Null 필드를 포함한다.
이와 같이, 싱크 디바이스의 AVCL(32)에서 생성된 AVCL 커맨드를 포함하는 MAC 메시지는 PHY 계층(34)으로 전달되어 ULCPDU를 통해 수동형 소스 디바이스로 전송된다.
도 34는 본 발명의 일 실시예에 따라 싱크 디바이스에서 소스 디바이스로 AVCL 커맨드를 포함하는 MAC 메시지가 ULCPDU를 통해 전송되는 형태를 나타내는 도면이다.
도 34를 참조하면, 일반적으로 ULCPDU는 프리엠블, CES, 상향링크 제어 헤더(ULCH) 및 데이터/제어 비트스트림을 전송하는 데이터 필드로 구성된다. MAC 메시지에 포함된 액션 요청 메시지인 AVCL 커맨드는 ULCPDU의 데이터/제어 비트스트림을 전송하는 데이터 필드에 포함되어 싱크 디바이스에서 엑티브 소스 디바이스로 또는 수동형 소스 디바이스로로 전송될 수 있다. 상술한 도 32에서는 싱크 디바이스에서 수동형 소스 디바이스로 ULCPDU를 이용하여 AVCL 커맨드를 전송하였다. ULCPDU를 통한 전송방식은 A/V 데이터와 무관한 데이터만을 대상으로 하는 바, 액션 요청 메시지인 AVCL 커맨드는 상술한 도 20에 도시된 것처럼 A/V 데이터와 혼합되는 과정을 거치지 않고 상기 비트스트림 프로세서(81)에서 무선신호로 변조된다. 변조된 응답 메시지를 포함하는 데이터 비트스트림은 상기 OFDM 맵퍼(82)를 통해 OFDM 심볼에 매핑되고, IDFT변환(83)을 거쳐 프리엠블 MUX(85)에서 프리엠블을 부가한 상태로 심볼화되어 RF 모듈(87)을 통해 소스 디바이스로 전송된다.
다음으로, 도 32에서 수동형 소스 디바이스는 싱크 디바이스로부터 전송된 AVCL 커맨드를 포함하는 ULCPDU를 자신의 PHY 계층(34)에서 수신하고 MAC 계층(33)을 거쳐 상기 AVCL 커맨드를 AVCL(32)에 전달한다. 수동형 소스 디바이스의 AVCL(32)은 싱크 디바이스로부터 전달받은 <Set Active Stream Source>커맨드에 대한 응답으로 응답 메시지를 생성한다. 응답 메시지는 송신 디바이스 주소, 수신 디바이스 주소, AVCL_Opcode 및 식별자를 포함할 수 있다. 이때, 수동형 소스 디바이스의 호스트 제어부는 싱크 디바이스로부터 요구받은 액션을 수행할 수 있는지 여부에 따라 액션 어셉트 메시지 또는 액션 리젝트 메시지 또는 대기 메시지 등을 나타내는 AVCL_Opcode를 결정하고, AVCL_파라미터로 reason code를 포함한다.
단계 S502에서 싱크 디바이스로부터 <Set Active Stream Source> 커맨드의 액션 요청 메시지를 수신한 수동형 소스 디바이스는 엑티브 소스 디바이스로 작동할 수 없거나 원하지 않는 경우 사용자에게 제 2의 엑티브 소스 디바이스가 되길 원하지 않거나 될 수 없다는 정보를 알려주기 위해 AVCL(32)에서 액션 리젝트 메시지를 응답 메시지로 생성한다. 상기 액션 리젝트 메시지는 디바이스간 연결이 불가능한 이유를 특정하는 에러 코드로 Reason Code를 포함할 수 있다. 예를 들어, 상기 표 3에 기재되어 있는 다양한 Reason Code 중 <No A/V stream available>을 의미하는 0×07 파라미터를 Reason Code로 하여 액션 리젝트 메시지에 포함할 수 있다.
현재 수동형 소스 디바이스가 엑티브 소스 디바이스로 작동할 수 없거나 원하지 않는 경우, 수동형 소스 디바이스의 AVCL(32)에서 생성된 <No A/V stream available>의 Reason Code를 포함하는 액션 리젝트 메시지는 MAC 계층(33)을 거쳐 도 33에서 상술한 바와 같이 Vertical Blanking Period 구간에서 ULCPDU를 통해 엑티브 소스 디바이스로 전송된다(S503). 수동형 소스 디바이스는 상술한 바와 같이 직접 싱크 디바이스로 응답 메시지를 전송할 수 없다. 따라서, 먼저, 수동형 소스 디바이스는 엑티브 소스 디바이스로 Vertical Blanking Period 구간에서 ULCPDU를 통해 응답 메시지를 전송하고(S503), 엑티브 소스 디바이스는 수동형 소스 디바이스로부터 전송받은 응답 메시지를 DLPDU를 통해 싱크 디바이스로 전송함으로써(S504), 수동형 소스 디바이스와 싱크 디바이스간 메시지 교환이 가능해진다. 즉, 엑티브 소스 디바이스는 수동형 소스 디바이스에서 싱크 디바이스로 메시지를 전송하기 위한 중간 매개체이다.
단계 S503은 단계 S502에서 싱크 디바이스가 수동형 소스 디바이스로 <Set Active Stream available> 커맨드를 전송한 것과 동일한 방식으로 ULCPDU를 통해 수행된다. 즉, 도 34와 같은 방식으로 엑티브 소스 디바이스는 수동형 소스 디바이스로부터 전송받은 <No A/V stream available>커맨드의 AVCL 메시지를 포함하는 MAC 메시지를 ULCPDU의 데이터 필드에 포함시켜 싱크 디바이스로 전송한다.
엑티브 소스 디바이스에서 싱크 디바이스로 메시지를 전송하는 단계 S504의 경우 DLPDU를 이용하는데 도 35 및 도 36을 참조하여 설명한다.
도 35 및 도 36은 WHDI 엑티브 소스 디바이스가 싱크 디바이스로 MAC 메시지를 전송하는 형태를 나타내는 도면이다.
도 35를 참조하면, 엑티브 소스 디바이스에서 싱크 디바이스로 MAC 메시지를 전송하는 경우 DLPDU를 통해 전송하는데, 엑티브 소스 디바이스의 다수개의 MAC 메시지는 다수개의 프래임상에 적어도 하나 이상 할당되고, 각 프래임 단위로 PHY 계층(34)에서 DLPDU를 구성하여 싱크 디바이스로 전송되다. 상기 다수개의 MAC 메시지 중 일부에는 수동형 소스 디바이스로부터 전송받은 AVCL 커맨드를 포함하는 응답 메시지로 생성된 AVCL 메시지가 포함된다.
DLPDU는 프리엠블, CES, 기본헤더(BH)와 확장헤더(EH)로 구성되는 헤더구간, IQ구간 및 데이터/제어 비트스트림을 전송하는 구간을 포함한다. MAC 메시지는 DLPDU의 데이터/제어 비트스트림을 전송하는 데이터 필드에서 제어 비트스트림에 포함되어 전송될 수 있다.
상술한 도 9를 참조하면, 인코딩 과정을 거치지 않은 데이터/제어 비트스트림과 테스트용 비트스트림, 인코딩을 거친 오디오 비트스트림 및 비디오 양자화 계수 비트스트림은 상기 비트스트림 MUX(73)에서 하나의 비트스트림으로 혼합된다. 즉, <Set Active Stream Source> 커맨드에 대한 응답으로 <No A/V stream available> 커맨드를 포함하는 MAC 메시지는 제어 비트스트림에 포함되어 WHDI PHY 계층에서 다른 데이터 스트림과 혼합되고, 상기 양자화 계수 스트림 암호기(Coarse Stream Encryptor; 74)에서 암호화된다. 이후, 도 9와 관련하여 상술한 신호 전송 과정을 거쳐 RF 모듈을 통해 싱크 디바이스로 전송된다.
한편, 엑티브 소스 디바이스가 하향링크를 통해 싱크 디바이스로 MAC 메시지를 전송하는 경우 상술한 DLPDU의 데이터 필드를 통해 전송할 수 있을 뿐만 아니라 확장헤더(EH) 구간을 이용할 수도 있다.
도 36은 엑티브 소스 디바이스에서 싱크 디바이스로 DLPDU를 통해 MAC메시지를 전송할 때 MAC 메시지가 확장헤더(EH)에 포함되어 전송되는 형태를 나타내는 도면이다.
DLPDU의 확장헤더(EH)에 포함되는 <Set Active Stream Source> 커맨드에 대한응답 메시지인 <No A/V stream available> 커맨드 역시 도 9에서와 같이 다른 비트스트림과 함께 WHDI PHY에서 혼합, 암호화, 변조 등의 과정을 거쳐 싱크 디바이스로 전송된다.
도 32에서의 각 단계는 도 30을 참조하면, 단계 S501은 경로 L2를 이용하고, 단계 S502는 경로 L3을 이용하고, 단계 S503은 경로 L5를 이용하고, 단계 S504는 경로 L2를 이용한다. 즉, 싱크 디바이스에서 수동형 소스 디바이스로 신호를 전송할때에는 단일 경로를 이용할 수 있으나, 그 반대의 경우에는 <L5, L2>의 다중 경로를 이용하여야 한다.
다음으로, 싱크 디바이스는 수동형 소스 디바이스에서 전송하는 응답 메시지 형태에 따라 연결중인 엑티브 소스 디바이스와의 연결을 끊고 수동형 소스 디바이스로 스위칭할 것인지 여부를 결정할 수 있다.
도 32에 도시된 것처럼, 싱크 디바이스가 수동형 소스 디바이스로부터 액션 리젝트 메시지를 전송받는 경우에는 싱크 디바이스의 호스트 프로세서는 엑티브 소스 디바이스와의 현재 연결을 유지하도록 결정한다. 즉, 싱크 디바이스로부터 <Set Active Stream Source> 커맨드를 수신한 수동형 소스 디바이스가 엑티브 소스 디바이스로 작동할 수 없거나 원하지 않는 경우 <No A/V stream available> 커맨드와 같은 에러 코드를 포함하는 액션 리젝트 메시지로 싱크 디바이스에 응답하는 경우, 현재 연결중인 엑티브 소스 디바이스로부터 A/V 데이터를 계속해서 수신하도록 한다(S505).
반면, 싱크 디바이스로부터 <Set Active Stream Source> 커맨드를 수신한 수동형 소스 디바이스가 액션 어셉트 메시지로 싱크 디바이스에 응답하는 경우, 싱크 디바이스의 호스트 프로세서는 현재 연결중인 엑티브 소스 디바이스와의 연결을 해제하고 수동형 소스 디바이스로 스위칭할 수 있다.
이상에서 사용된 용어들은 다른 것들로 대치될 수 있다. 예를 들어, 디바이스는 사용자 장치(또는 기기), 스테이션(station) 등으로 변경될 수 있고, 조정기는 조정(또는 제어) 장치, 조정(또는 제어) 디바이스, 조정(또는 제어) 스테이션, 코디네이터(coordinator), PNC(piconet coordinator) 등으로 변경되어 사용될 수 있다. 또는, 디바이스간 송수신하는 AVCL 커맨드는 AVCL 메시지와 동일한 의미로 사용될 수 있다. 즉, 에코 요청/보고 메시지는 에코 요청/보고 커맨드로 볼 수 있다.
또한, 이상의 실시예에서는 본 발명의 기술적 특징이 WVAN에 적용된 예들을 중심으로 설명하였으나, 본 발명의 기술적 특징은 피어-투-피어(peer-to-peer) 통신 시스템 또는 다른 무선 네트워크 시스템에서도 적용 가능하다.
이상의 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명에 따르면 무선 네트워크에서 A/V 데이터를 전송하기 위해 디바이스들 간에 연결을 설정하기 위한 시그널링 과정을 단순화시킬 수 있는 효과가 있다.
이상에서 설명한 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 WVAN을 구성하는 사용자 디바이스의 일 예를 나타내는 도면이다.
도 2는 WHDI 시스템에서 송신 디바이스의 일 예로 방송 신호 수신기를 포함하는 방송 신호 처리 시스템의 실시예를 나타내는 도면이다.
도 3은 WHDI 시스템에서 디바이스에 구현된 프로토콜 계층구조의 일 예를 나타내는 도면이다.
도 4는 WHDI 시스템에서 소스 디바이스의 일 예를 나타내는 블록 구성도이다.
도 5는 WHDI 시스템에서 싱크 디바이스의 일 예를 나타내는 도면이다.
도 6은 A/V 송수신 동작중인 WHDI 디바이스에서 Vertical Blanking Period를 포함하는 일반적인 video 신호가 RF 신호로 변환되는 과정을 시간적 흐름에 따라 도시한다.
도 7은 WHDI PHY 계층에서 Video Independent DLPDU 모드일 때의 DLPDU 시퀀스의 일 예를 나타내는 도면이다.
도 8은 WHDI PHY 계층에서 Video dependent DLPDU 모드일 때의 DLPDU 시퀀스의 일 예를 나타내는 도면이다.
도 9는 WHDI 시스템에서 DLPDU를 전송하는 PHY 구조의 일 예를 나타내는 도면이다.
도 10은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 오디오 인코더의 구조를 나타내는 도면이다.
도 11은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 비디오 인코더의 구조를 나타내는 도면이다.
도 12는 도 11에 도시된 비디오 인코더에서 수행하는 블록 인터리빙의 일 예를 나타내는 도면이다.
도 13은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조에서 비디오 블록당 산출되는 양자화 비트를 나타내는 도면이다.
도 14는 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 비트스트림프로세서를 나타내는 도면이다.
도 15는 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 양자화계수스트림의 IQ 직교 위상의 계수로 변환하기 위한 16QAM 배열을 나타내는 도면이다.
도 16은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 심볼 파서(Symbol Parser)에서 OFDM 심볼을 파싱하는 과정의 일 예를 나타내는 도면이다.
도 17은 WHDI 엑티브 소스 디바이스의 DLPDU PHY 구조의 일 예에서 양자화 오차 데이터 프로세싱 및 암호화 모듈(Fine data processing and Encryption module)을 나타내는 도면이다.
도 18은 WHDI 엑티브 소스 디바이스에서 DLPHY RF 전송시의 스텍트럼의 일 예를 나타내는 도면이다.
도 19는 WHDI 시스템에서 싱크 디바이스에서 소스 디바이스로의 ULIPDU 전송의 일 예를 나타내는 도면이다.
도 20은 WHDI 시스템에서 수신 디바이스로 ULIPDU 전송을 수행하는 송신 디바이스에 관한 블록 구성도이다.
도 21은 WHDI 시스템에서 ULIPDU 전송을 수행하는 송신 디바이스의 비트스트림 프로세서를 나타내는 블록 구성도이다.
도 22는 WHDI ULIPDU 에서 20Mhz인 경우의 전송 스펙트럼의 일 예를 나타내는 도면이다.
도 23은 WHDI 시스템에서 DLPDU와 ULCPDU간의 Video Dependent Timing 관계를 나타내는 도면이다. 상술한 것처럼, WHDI에서 PHY 신호 전송은 5Ghz 대역을 사용한다.
도 24는 WHDI 시스템에서 ULCPDU 송신 디바이스의 구성을 나타내는 블록 구성도이다.
도 25는 WHDI 시스템에서 ULCPDU 송신 디바이스에서 비트스트림 프로세서의 구성을 나타내는 블록 구성도이다.
도 26은 WHDI에서 송신 디바이스와 수신 디바이스간 A/V 데이터 스트리밍을 위해 AVCL 커맨드 및 그에 따른 응답 메시지 교환을 나타내는 도면이다.
도 27은 본 발명의 일 실시예에 따라 WHDI 소스 디바이스가 싱크 디바이스에 EDID 정보를 요청하는 경우 싱크 디바이스가 소스 디바이스로 응답 메시지를 전송하는 과정을 나타내는 도면이다.
도 28은 본 발명의 다른 실시예에 따라 WHDI 싱크 디바이스가 A/V 스트리밍을 시작하기 위해 소스 디바이스로 <A/V Status>메시지를 전송하는 경우 소스 디바 이스에서 싱크 디바이스로 응답 메시지를 전송하는 과정을 나타내는 도면이다.
도 29는 본 발명의 일 실시예에 따라 싱크 디바이스로부터 A/V 데이터전송을 요청받은 소스 디바이스가 싱크 디바이스로 대기 메시지를 전송하는 과정을 나타내는 도면이다.
도 30은 WHDI 네트워크 구성의 일 예를 나타내는 도면이다.
도 31은 WHDI 네트워크상에서 디바이스간 메시지가 전송되는 경로를 나타내는 도면이다.
도 32는 본 발명의 다른 실시예에 따라 싱크 디바이스가 연결된 소스 디바이스를 스위칭하기 위하여 메시지를 전송하는 과정을 나타내는 도면이다.
도 33은 송신 디바이스에서 MAC 계층(33)에 존재하는 MAC 메시지 형태의 일 예를 나타내는 도면이다.
도 34는 본 발명의 일 실시예에 따라 싱크 디바이스에서 소스 디바이스로 AVCL 커맨드를 포함하는 MAC 메시지가 ULCPDU를 통해 전송되는 형태를 나타내는 도면이다.
도 35는 WHDI 엑티브 소스 디바이스가 싱크 디바이스로 MAC 메시지를 전송할 때 데이터 필드에 포함하여 전송하는 형태를 나타내는 도면이다.
도 36은 WHDI 엑티브 소스 디바이스가 싱크 디바이스로 MAC 메시지를 전송할 때 확장헤더(EH) 구간에 포함하여 전송하는 형태를 나타내는 도면이다.

Claims (23)

  1. 무선 네트워크의 싱크 디바이스에서 소스 디바이스의 스위칭을 위한 메시지 교환 방법에 있어서,
    제1 소스 디바이스로부터 오디오/비디오(A/V) 데이터를 수신하는 단계;
    상기 무선 네트워크 내의 제2 소스 디바이스가 A/V 데이터를 전송할 수 있는지를 확인하기 위해 제1 커맨드(command)를 상기 제2 소스 디바이스에 전송하는 단계;
    상기 제2 소스 디바이스에 의해 상기 제1 커맨드에 대한 응답으로 전송된 것으로 상기 제2 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 제2 커맨드를 상기 제1 소스 디바이스로부터 수신하는 단계; 및
    상기 제2 커맨드에 포함된 상기 지시정보에 따라 상기 제2 소스 디바이스로의 스위칭 여부를 결정하는 단계를 포함하되,
    상기 제1 커맨드는 상향링크 제어 물리계층 데이터 유닛(ULCPDU: Uplink Control PHY Data UNIT)에 포함되어 상기 제2 소스 디바이스로 전송되는 것을 특징으로 하는,
    메시지 교환 방법.
  2. 제 1항에 있어서,
    상기 제2 커맨드에 포함된 상기 지시정보가 상기 제2 소스 디바이스가 상기 싱크 디바이스에 A/V 데이터의 전송을 원하지 않거나 전송할 수 없음을 지시하는 것을 특징으로 하는, 메시지 교환 방법.
  3. 제 2항에 있어서,
    상기 제1 소스 디바이스로부터 수신되는 A/V 데이터는 제1 하향링크 물리계층 데이터 유닛(DLPDU: Downlink PHY Data UNIT)에 포함되어 수신되는 것을 특징으로 하는, 메시지 교환 방법.
  4. 삭제
  5. 제 1항에 있어서,
    상기 제2 커맨드는 제2 DLPDU에 포함되어 상기 제1 소스 디바이스로부터 수신되는 것을 특징으로 하는, 메시지 교환 방법.
  6. 삭제
  7. 삭제
  8. 제 5항에 있어서,
    상기 제2 커맨드는 상기 제1 소스 디바이스로부터 전송되는 A/V 데이터와 멀티플렉싱되어 상기 제2 DLPDU에 포함되는 것을 특징으로 하는, 메시지 교환 방법.
  9. 제 5항에 있어서,
    상기 제2 DLPDU는 기본 헤더(Basic Header) 및 확장 헤더(Extended Header)를 포함하고, 상기 제2 커맨드는 상기 확장 헤더에 포함되는 것을 특징으로 하는, 메시지 교환 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 무선 네트워크에서 제1 소스 디바이스로부터 A/V 데이터를 수신하는 싱크 디바이스에 있어서,
    상기 싱크 디바이스를 식별하기 위한 제1식별자, 제2 소스 디바이스를 식별하기 위한 제2식별자 및 동작 코드(Opcode)를 포함하는 제1 커맨드를 생성하는 AVC(Audio Video Control) 계층;
    메시지 프리앰블, 메시지 타입 및 상기 AVC 계층으로부터 전달받은 상기 제1 커맨드를 포함하는 MAC 메시지를 생성하는 MAC(Medium Access Control) 계층; 및
    상향링크 제어 헤더(Uplink Control Header), 상기 MAC 메시지 및 오디오/비디오(A/V) 데이터를 포함하는 제1 물리계층 데이터 유닛을 생성하여 상기 제2 소스 디바이스로 전송하고, 상기 제2 소스 디바이스에 의해 상기 제1 커맨드에 대한 응답으로 전송된 것으로 상기 제2 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 제2 커맨드를 포함하는 제2 물리계층 데이터 유닛을 상기 제1 소스 디바이스로부터 수신하는 물리계층(Physical Layer)을 포함하되,
    상기 싱크 디바이스는 상기 제2 커맨드에 포함된 상기 지시정보에 따라 상기 제2 소스 디바이스로의 스위칭 여부를 결정하는 것을 특징으로 하되,
    상기 제1 물리계층 데이터 유닛은 상향링크 제어 물리계층 데이터 유닛(ULCPDU: Uplink Control PHY Data UNIT)인 것을 특징으로 하는,
    싱크 디바이스.
  14. 제 13항에 있어서,
    상기 제2 커맨드에 포함된 상기 지시정보가 상기 제2 소스 디바이스가 상기 싱크 디바이스에 A/V 데이터의 전송을 원하지 않거나 전송할 수 없음을 지시하는 경우 상기 제1 소스 디바이스로부터 A/V 데이터를 수신하는 것을 특징으로 하는, 싱크 디바이스.
  15. 삭제
  16. 제 13항에 있어서,
    상기 제2 물리계층 데이터 유닛은 하향링크 물리계층 데이터 유닛(DLPDU: Downlink PHY Data UNIT)인 것을 특징으로 하는, 싱크 디바이스.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 무선 네트워크의 싱크 디바이스에 있어서,
    제 1 소스 디바이스로부터 방송 신호를 수신하는 수신부;
    상기 수신부가 수신한 방송 신호를 디코딩하는 디코딩부;
    상기 디코딩부가 디코딩한 상기 방송 신호에 따른 콘텐츠를 디스플레이하는 디스플레이부;
    상기 수신부가 수신한 방송 신호 및 제 2 소스 디바이스가 A/V 데이터를 전송할 수 있는지를 확인하기 위한 제 1 커맨드를 포함하는 MAC 메시지를 포함하는 상향링크 제어 물리계층 데이터 유닛(ULCPDU: Uplink Control PHY Data UNIT)을 생성하여 제 2 소스 디바이스로 전송하고, 상기 제 2소스 디바이스에 의해 상기 제 1 커맨드에 대한 응답으로 전송되는 제 2커맨드를 포함하는 제 2 물리계층 데이터 유닛을 상기 제 1 소스 디바이스로부터 수신받아 처리하는 네트워크 제어 모듈; 및
    상기 네트워크 제어 모듈에서 처리된 상기 제 2커맨드를 통해 제 2 소스 디바이스로의 스위칭 여부를 결정하거나 상기 수신부가 수신한 방송 신호를 로컬 저장 장치에 저장하도록 하거나 상기 로컬 저장 장치에 저장된 콘텐츠를 재생하도록 제어하는 제어부를 포함하는, 싱크 디바이스.
  21. 제 20항에 있어서,
    상기 제 2커맨드는 상기 제 2 소스 디바이스가 A/V 데이터의 전송 가능 여부를 지시하는 지시정보를 포함하는 것을 특징으로 하는, 싱크 디바이스.
  22. 삭제
  23. 삭제
KR1020090071744A 2009-06-16 2009-08-04 메시지 교환 방법 및 싱크 디바이스 KR101608772B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2009/005236 WO2010147263A1 (en) 2009-06-16 2009-09-15 Method of exchanging messages, sink device and source device
EP09171854A EP2265078B1 (en) 2009-06-16 2009-09-30 Method for receiving status information of a device
US12/591,166 US8811275B2 (en) 2009-06-16 2009-11-10 Method of exchanging messages, sink device and source device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18728209P 2009-06-16 2009-06-16
US61/187,282 2009-06-16

Publications (2)

Publication Number Publication Date
KR20100135155A KR20100135155A (ko) 2010-12-24
KR101608772B1 true KR101608772B1 (ko) 2016-04-04

Family

ID=43509760

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020090071744A KR101608772B1 (ko) 2009-06-16 2009-08-04 메시지 교환 방법 및 싱크 디바이스
KR1020090071743A KR101604694B1 (ko) 2009-06-16 2009-08-04 메시지 교환 방법 및 송수신 디바이스
KR1020090088698A KR101069267B1 (ko) 2009-06-16 2009-09-18 디바이스 제어 방법 및 튜너 디바이스

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020090071743A KR101604694B1 (ko) 2009-06-16 2009-08-04 메시지 교환 방법 및 송수신 디바이스
KR1020090088698A KR101069267B1 (ko) 2009-06-16 2009-09-18 디바이스 제어 방법 및 튜너 디바이스

Country Status (1)

Country Link
KR (3) KR101608772B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002281B2 (en) * 2012-04-30 2015-04-07 Intel Corporation Apparatus and method to enable device-to-device (D2D) communication in cellular networks
FR2991531A1 (fr) * 2012-06-05 2013-12-06 France Telecom Trames de controle de courte duree en couche physique
KR101627796B1 (ko) * 2015-01-30 2016-06-08 전자부품연구원 네트워크 기반 av 시스템에서 디바이스 상태 정보 전송 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060045021A1 (en) 2004-09-01 2006-03-02 Nettest (New York), Inc. Apparatus and method for performing a loopback test in a communication system
US20080031136A1 (en) * 2006-08-07 2008-02-07 Gavette Sherman L Round trip time (rtt) proximity detection testing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782837B1 (ko) 2006-02-15 2007-12-06 삼성전자주식회사 외부 튜너를 이용한 예약 녹화 서비스 제어 방법 및 장치
JP4930104B2 (ja) 2007-03-02 2012-05-16 株式会社日立製作所 ネットワーク連携tv受信機器、システムおよび方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060045021A1 (en) 2004-09-01 2006-03-02 Nettest (New York), Inc. Apparatus and method for performing a loopback test in a communication system
US20080031136A1 (en) * 2006-08-07 2008-02-07 Gavette Sherman L Round trip time (rtt) proximity detection testing

Also Published As

Publication number Publication date
KR20100135157A (ko) 2010-12-24
KR101069267B1 (ko) 2011-10-04
KR20100135154A (ko) 2010-12-24
KR101604694B1 (ko) 2016-03-18
KR20100135155A (ko) 2010-12-24

Similar Documents

Publication Publication Date Title
US8811275B2 (en) Method of exchanging messages, sink device and source device
US8369235B2 (en) Method of exchanging messages and transmitting and receiving devices
US8498513B2 (en) Method of controlling devices and tuner device
US8875193B2 (en) Wireless multimedia system
KR100936035B1 (ko) 연결 제어 프로토콜을 구비한 비압축된 비디오의 무선 통신방법 및 시스템
US20050289631A1 (en) Wireless display
US20230029654A1 (en) Information processing apparatus and information processing method
CN101194509A (zh) 用于在一般化内容源和一般化内容接收器之间以无线方式提供内容的系统、方法和设备
JP2006135987A (ja) 無線lanを用いたデジタル放送データ提供装置及びその方法並びに無線端末装置
CN101895745B (zh) 无线发送器、无线发送方法、无线接收器以及无线接收方法
CN101883097A (zh) 服务器设备共享客户端设备屏幕的实现方法及装置
US8761063B2 (en) Method and apparatus for transmitting a packet in a wireless network
KR101608772B1 (ko) 메시지 교환 방법 및 싱크 디바이스
US11558776B2 (en) Devices and system for transmitting and receiving compressed bitstream via wireless stream and handling transmission error
WO2023185389A1 (zh) 一种通信方法及相关装置
KR20020033871A (ko) 랜 허브 장치와 컴퓨터에 호환이 되는 케이블 모뎀
KR20110056797A (ko) 메시지 교환 방법 및 송수신 디바이스
CN101431379A (zh) 数字电视地面广播发送端和接收端

Legal Events

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

Payment date: 20200224

Year of fee payment: 5