Communication apparatus and control method

A communication apparatus includes: a transmitting unit, a receiving unit and a control unit. The transmitting unit transmits video data to an external apparatus via a first transmission line. The receiving unit receives a command from the external apparatus via a second transmission line. The control unit that resets the transmitting unit without resetting the receiving unit if a communication error relating to the first transmission line is detected, and resets the receiving unit without resetting the transmitting unit if a communication error relating to the second transmission line is detected.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a communication apparatus which transmits video data to an external apparatus, and control method thereof.

2. Description of the Related Art

As disclosed in Japanese Patent Laid-Open No. 2006-094430, there has been known a communication system which performs serial communication between a transmission apparatus and reception apparatus.

With the above mentioned communication system, in a case where the reception apparatus is detected that data communication between the transmission apparatus and reception apparatus is not performed normally, a communication error notice is transmitted to the transmission apparatus by the reception apparatus via a communication line.

Upon receiving the communication error notice, the transmission apparatus transmits initialization data for controlling the reception apparatus to the reception apparatus for a predetermined period of time to return the reception apparatus to a receivable state.

However, with the above mentioned communication system, there has been a problem wherein after the initialization data is transmitted for a predetermined period of time, the transmission apparatus stops transmitting all data for a while. Such an arrangement has caused a problem wherein transmission of video data is discontinued, and accordingly, display of the video at the reception apparatus is interrupted.

Also, with the above mentioned communication system, a transmission line for transmitting video data, and a transmission line for transmitting a control command are not separated, and accordingly, these transmission lines could not have been reset separately.

SUMMARY OF THE INVENTION

The present invention is directed to overcome the above mentioned drawbacks and disadvantages, and enables the communication apparatus to return to a normal state from a communication error state without interrupting transmission of video data.

According to an aspect of the present invention, there is provided a communication apparatus including: A communication apparatus, comprising: a transmitting unit that transmits video data to an external apparatus via a first transmission line; a receiving unit that receives a command from the external apparatus via a second transmission line; and a control unit that resets the transmitting unit without resetting the receiving unit if a communication error relating to the first transmission line is detected, and resets the receiving unit without resetting the transmitting unit if a communication error relating to the second transmission line is detected.

According to an aspect of the present invention, there is provided a method of controlling a communication apparatus including (a) a transmitting unit that transmits video data to an external apparatus via a first transmission line and (b) a receiving unit that receives a command from the external apparatus via a second transmission line, the method comprising the steps of: resetting the transmitting unit without resetting the receiving unit if a communication error relating to the first transmission line is detected; and resetting the receiving unit without resetting the transmitting unit if a communication error relating to the second transmission line is detected.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the present invention will now be described in detail below with reference to the attached drawings.

First Embodiment

FIG. 1is a diagram illustrating an example of a communication system according to the first embodiment of the present invention.FIG. 2is a block diagram illustrating an example of the schematic configuration of the communication system according to the first embodiment of the present invention.

The communication system according to the first embodiment includes, as shown inFIGS. 1 and 2, a communication apparatus100, connection cable300, external apparatus200, and remote control unit209. The communication apparatus100and external apparatus200are connected via the connection cable300. The external apparatus200and remote control unit209are connected wirelessly.

The communication apparatus100is a video source capable of transmitting video data, audio data, and auxiliary data to the external apparatus200via the connection cable300. The external apparatus200is an external display apparatus which displays the video data transmitted from the communication apparatus100on a display, and outputs the audio data transmitted from the communication apparatus100from speakers. The communication apparatus100and external apparatus200can transmit various control commands bidirectionally via the connection cable300.

The remote control unit209is a user interface for operating the communication apparatus100and external apparatus200. The remote control unit209is configured to communicate with the external apparatus200wirelessly, but not to communicate with the communication apparatus100wirelessly. The external apparatus200receives the remote control signal transmitted from the remote control unit209, and analyzes the received remote control signal. In a case where the received remote control signal is a remote control signal for controlling the external apparatus200, the external apparatus200controls the external apparatus200in accordance with the received remote control signal. In a case where the received remote control signal is a remote control signal for controlling the communication apparatus100, the external apparatus200generates the control command corresponding to the received remote control signal, and transmits the generated control command to the communication apparatus100via the connection cable300. Thus, the user can perform remote control of the external apparatus200directly by using the remote control unit209. Also, the user can perform remote control of the communication apparatus100indirectly by using the remote control unit209.

With the first embodiment, a video camera is used as an example of the communication apparatus100, and a television receiver (hereafter, referred to as “television”) is used as an example of the external apparatus200. Also, with the first embodiment, a connection cable conforming to the HDMI (High Definition Multimedia Interface) (registered trademark) standard is employed as an example of the connection cable300. Hereafter, the connection cable conforming to the HDMI standard will be referred to as “HDMI cable”.

The TMDS line301(first transmission line) is a transmission line for transmitting video data, audio data, and auxiliary data to the television200from the video camera100. The TMDS line301includes a TMDS channel0, TMDS channel1, TMDS channel2, and TMDS clock channel. The CEC line302(second transmission line) is a transmission line for transmitting various control commands between the video camera100and television200bidirectionally. The HPD line303is a transmission line for transmitting HPD signal to the video camera100from the television200. The DDC line304is a transmission line for transmitting EDID (Extended Display Identification Data) of the television200to the video camera100from the television200. The EDID includes capability information indicating the display capability and so forth of the television200. The power line is a line for supplying power to the television200from the video camera100.

The video camera100operates as a HDMI source stipulated with the HDMI standard, and the television200operates as a HDMI sink stipulated with the HDMI standard. Also, the video camera100and television200are both HDMI apparatuses conforming to the CEC. The CEC is a control protocol stipulated with the HDMI standard. Hereafter, a control command to be transmitted between the video camera100and television200via the CEC line302will be referred to as “CEC command”. The television200can control the video camera100by transmitting a CEC command for controlling the video camera100to the video camera100via the CEC line302. The video camera100can also control the television200by transmitting a CEC command for controlling the television200to the television200via the CEC line302. CEC commands for controlling the video camera100include a power on command, power off command, and commands relating to the power of the video camera100. Also, as commands for controlling the video camera100, there are a playback command, stop command, pause command, fast forward command, rewind command, recording command, recording pause command, menu on command, and menu off command.

Note that the connection cable300is not restricted to an HDMI cable. If a connection cable other than an HDMI cable separately includes a transmission line for transmitting video data, audio data and auxiliary data, and a transmission line for transmitting various control commands bidirectionally between the communication apparatus100and external apparatus200, the connection cable may be used.

Next, an example of the configuration of the video camera100will be described. The video camera100includes, as shown inFIG. 2, a CPU101, RAM103, recording unit104, communication unit105, data processing unit110, command processing unit111, display unit112, operating unit113, image capture unit115, and ROM116.

The video camera100has an operation mode such as image capture mode, playback mode, or the like. In a case where the operation mode of the video camera100is the image capture mode, the video camera100can execute capturing of an object, and can record an image-captured video (any one of a moving image and still image) in a recording medium. In a case where the operation mode of the video camera100is the playback mode, the video camera100can reproduce the video (any one of a moving image and still image) selected by the user from the recording medium.

The CPU (Central Processing Unit)101controls the operation of the video camera100in accordance with a computer program stored in the ROM116. Also, the CPU101includes a timer102for counting a constant value N. Let us say that the constant value N is, for example, a value equivalent to three through ten seconds. Note that the constant value N may be a value that the user can change arbitrarily.

The RAM103is memory serving as a work area of the CPU101, and is memory for storing various values, data, and information used at the CPU101. The CPU101obtains information relating to the television200from the television200via the HDMI cable300, and stores the obtained information in the RAM103. The information to be stored in the RAM103includes GUID which is peculiar information of the television200, the EDID of the television200, and so forth. Note that the work area of the CPU101is not restricted to the RAM103, and may be an external storage apparatus such as a hard disk apparatus or the like.

In a case where the operation mode of the video camera100is the image capture mode, the image capture unit115image-captures an object to generate video data from the optical image of the object thereof. The video data generated in the image capture unit115is supplied to the recording unit104, display unit112, and data processing unit110. Audio data generated in a microphone (not shown) unit is also supplied to the recording unit104and data processing unit110.

In a case where the operation mode of the video camera100is the image capture mode, the recording unit104can record the video data that the image capture unit115generated, and the audio data that the microphone (not shown) unit generated in the recording medium.

Also, in a case where the operation mode of the video camera100is the playback mode, the recording unit104can reproduce the video data and audio data selected by the user from the recording medium. The video data reproduced from the recording medium is supplied to the display unit112and data processing unit110. On the other hand, the audio data reproduced from the recording medium is supplied to the data processing unit110and a speaker unit (not shown). Note that the recording medium used by the recording unit104may be a recording medium which has been built into the video camera100, or may be a recording medium detachable from the video camera100.

The communication unit105includes an HDMI terminal for connecting the HDMI cable300. In a case where the video camera100is the image capture mode, the communication unit105transmits the video data generated in the image capture unit115, the audio data generated in the microphone unit (not shown), and the auxiliary data generated in the CPU101to the television200via the TMDS line301. In a case where the operation mode of the video camera100is the playback mode, the communication unit105transmits the video data and audio data that the recording unit104reproduced from the recording medium, and the auxiliary data generated in the CPU101to the television200via the TMDS line301.

The connection detecting unit106uses the HPD signal transmitted to the video camera100from the television200to detect connection between the video camera100and television200(hereafter, HDMI connection). The connection detecting unit106receives the HPD signal from the television200via the HPD line303. In a case where the HPD signal is high, the connection detecting unit106detects HDMI connection between the video camera100and television200. In a case where the HPD signal is low, the connection detecting unit106detects disconnection of the HDMI connection between the video camera100and television200. In a case where the HPD signal cannot be detected, the connection detecting unit106also detects disconnection of the HDMI connection between the video camera100and television200. The detection result of the connection detecting unit106is informed to the CPU101, and accordingly, the CPU101can determine whether the HDMI connection between the video camera100and television200has been disconnected.

The TMDS driver107ais a controller for controlling the TMDS line301. The TMDS driver107ais in a low power consumption state when the video camera100and television200are not connected with the HDMI cable300. In the case of receiving a TMDS enable signal from the CPU101, the TMDS driver107achanges to a normal state from a low power consumption state. In this case, the TMDS driver107aenables the TMDS line301. In a case where the TMDS line301has been enabled, the communication unit105can transmit video data, audio data, and auxiliary data to the television200via the TMDS line301.

In the case of receiving a TMDS disable signal from the CPU101, the TMDS driver107achanges to a low power consumption state from a normal state. In this case, the TMDS driver107adisables the TMDS line301. In a case where the TMDS line301has been disabled, the communication unit105cannot transmit video data, audio data, and auxiliary data to the television200via the TMDS line301, but the consumption power of the communication unit105is reduced.

The CEC driver107bis a controller for controlling the CEC line302. The CEC driver107bis in a low power consumption state when the video camera100and television200are not connected with the HDMI cable300. In the case of receiving a CEC enable signal from the CPU101, the CEC driver107bchanges to a normal state from a low power consumption state. In this case, the CEC driver107benables the CEC line302. In a case where the CEC line302has been enabled, the communication unit105can receive a CEC command for controlling the video camera100from the television200, and can also transmit a CEC command for controlling the television200to the television200.

In the case of receiving a CEC disable signal from the CPU101, the CEC driver107bchanges to a low power consumption state from a normal state. In this case, the CEC driver107bdisables the CEC line302. In a case where the CEC line302has been disabled, the communication unit105cannot receive a CEC command for controlling the video camera100from the television200, and also cannot transmit a CEC command for controlling the television200to the television200.

The error detecting unit108detects a communication error relating to the TMDS line301and a communication error relating to the CEC line302to inform the detection results to the CPU101.

The mute unit109generates data for changing the television200to a mute state (hereafter, referred to as mute instruction), and executes a mute process for transmitting the generated mute instruction to the television200via the TMDS line301. The mute instruction is one of the auxiliary data to be transmitted via the TMDS line301. In a case where execution of the mute process is started, the CPU101controls the mute unit109to transmit the mute instruction to the television200continuously until execution of the mute process is canceled. In this case, the CPU101controls the data processing unit110and communication unit105to transmit the mute image and silent data stored in the ROM116to the television200continuously until execution of the mute process is canceled. Note that the mute image and silent data stored in the ROM116are transmitted to the television200via the TMDS line301.

Also, the communication unit105can receive the CEC command from the television200via the CEC line302. In the case of receiving the CEC command from the television200, the communication unit105supplies the received CEC command to the CPU101via the command processing unit111. Also, the communication unit105can also transmit a CEC command for controlling the television200to the television200via the CEC line302. A CEC command for controlling the television200is generated in the CPU101, and is supplied to the communication unit105via the command processing unit111.

In a case where the operation mode of the video camera100is the image capture mode, the data processing unit110supplies the video data generated in the image capture unit115, the audio data generated in the microphone unit (not shown), and the auxiliary data supplied from the CPU101to the communication unit105. In a case where the operation mode of the video camera100is the playback mode, the data processing unit110supplies the video data and audio data that the recording unit104reproduced from the recording medium, and the auxiliary data supplied from the CPU101to the communication unit105.

The display unit112is configured of a liquid crystal display or the like. In a case where the operation mode of the video camera100is the image capture mode, the display unit112displays the video data that the image capture unit115generated. In a case where the operation mode of the video camera100is the playback mode, the display unit112displays the video data that the recording unit104reproduced from the recording medium.

Also, in the case of a mute state, the display unit112displays the mute image stored in the ROM116. With the first embodiment, the mute image is video data indicating that the mute process is being executed. The mute image is made up of, for example, a black back image (an video of which the background color is black) or blue back image (an video of which the background color is blue). An icon and character information indicating that the mute process is being executed may be included in the mute image. Note that, with the first embodiment, an arrangement has been made wherein, in a case where the display unit112is in a mute state, the mute image stored in the ROM116is displayed on the display unit112, but the display on the display unit112is not restricted to this. In a case where the display unit112is in a mute state, nothing may be displayed on the display unit112.

The operating unit113is a user interface for operating the video camera100, and includes multiple buttons for operating the video camera100. The instruction from the user is input to the CPU101via the operating unit113. Each button within the operating unit113is configured of a switch, touch panel, or the like. The operating unit113includes a power button, start/stop button, mode change button114, menu button, + button, − button, SET button, and so forth. Note that the + button and − button may be replaced with a cross key.

The power button is a button for instructing the CPU101to change the video camera100to a power on state or power off state. The power on state is a state in which necessary power can be supplied to the whole of the video camera100from a power source (battery, AC power source, or the like) (not shown). The power off state is a state in which supply of power to a portion or the whole of the video camera100from the power source (battery, AC power source, or the like) (not shown) is stopped.

The start/stop button is a button for instructing the CPU101to start or temporarily stop recording of the video data or the like generated in the image capture unit115to the recording medium. The mode change button114is a button for instructing the CPU101to change the operation mode of the video camera100to one of the image capture mode, playback mode, and so forth.

The menu button is a button for instructing the CPU101to display/hide a menu screen of the video camera100. The menu screens of the video camera100includes a menu screen for controlling the video camera100, and a menu screen for changing the settings of the video camera100. These menu screens are stored in the ROM116.

In the case of displaying a menu screen, the CPU101reads out the menu screen to be displayed from the ROM116, and supplies the read menu screen to the display unit112and data processing unit110. At this time, the CPU101superposes a cursor or the like on the menu screen. The display unit112and data processing unit110superpose the menu screen supplied from the CPU101on the video data supplied from the image capture unit115or recording unit104. Thus, the same menu screen is displayed on the display unit112and television200. In the case of hiding the menu screen, the CPU101stops supply of the menu screen to the display unit112and data processing unit110.

The + button and − button are buttons for moving the cursor on the menu screen. The SET button is a button for instructing the CPU101to execute the item selected by the cursor. Movement between menu screens can be executed by employing the + button, − button, and SET button.

Also, the operating unit113includes a playback button, stop button, pause button, fast forward button, rewind button, and so forth. These buttons are buttons for instructing the CPU101to execute execution of playback, stop, pause, fast forward, and rewind of the video data recorded in the recording medium.

As described above, the mute image, menu screens, and so forth are stored in the ROM116. Multiple icons for informing the user of the state of the video camera100are also stored in the ROM116. Also, a computer program for controlling the operation of the video camera100is also stored in the ROM116.

Note that the communication apparatus100is not restricted to a video camera. For example, the communication apparatus100may be an image capture apparatus such as a video camera, still camera, cell phone with camera, or the like.

Next, an example of the configuration of the television200will be described. The television200includes, as shown inFIG. 2, a CPU201, tuner unit202, communication unit203, command processing unit204, display unit205, operating unit206, remote control reception unit207, and ROM208.

The CPU (Central Processing Unit)201controls the operation of the television200in accordance with a computer program stored in the ROM208.

The tuner unit202receives analog television broadcasting, digital television broadcasting, or cable television broadcasting in accordance with the selection by the user. The type of the television broadcasting that the tuner unit202receives can be selected from a remote control unit209. The television channel that the tuner unit202receives can also be selected from the remote control unit209. The video data included in the analog television broadcasting, digital television broadcasting, or cable television broadcasting is displayed on the display unit205. Also, the audio data included in the analog television broadcasting, digital television broadcasting, or cable television broadcasting is output from a speaker (not shown) unit.

The communication unit203includes an HDMI terminal for connecting the HDMI cable300. The communication unit203can receive the video data, audio data, and auxiliary data transmitted from the video camera100via the TMDS line301. The video data transmitted from the video camera100is displayed on the display unit205. The audio data transmitted from the video camera100is output from the speaker unit (not shown). Also, the auxiliary data transmitted from the video camera100is supplied to the CPU201.

Also, the communication unit203can receive the CEC command from the video camera100via the CEC line302. In the case of receiving the CEC command from the video camera100, the communication unit203supplies the received CEC command to the CPU201via the command processing unit204. Also, the communication unit203can also transmit a CEC command for controlling the video camera100to the video camera100via the CEC line302. A CEC command for controlling the video camera100is generated in the CPU201, and is supplied to the communication unit203via the command processing unit204.

The communication unit203receives the CEC command from the video camera100via the CEC line302. The CEC command from the video camera100is supplied from the communication unit203to the CPU201via the command processing unit204.

A CEC command for controlling the video camera100is generated in the CPU201, and is supplied to the communication unit203via the command processing unit204. A CEC command for controlling the video camera100is supplied from the command processing unit204to the communication unit203, and is transmitted to the video camera100via the CEC line302.

The display unit205is configured of a display such as a liquid crystal display or the like. The display unit205can display the video data supplied from at least one of the tuner unit202and communication unit203. The display unit205can also display the mute image stored in the ROM208.

The operating unit206is a user interface for operating the television200. Also, the operating unit206includes, similar to the remote control unit209, multiple buttons for operating the television200. Each button within the operating unit206is configured of a switch, touch panel, or the like.

In the case of receiving the remote control signal transmitted from the remote control unit209, the remote control reception unit207supplies the received remote control signal to the CPU201. Thus, the instruction from the user is input to the CPU201via the remote control unit209and remote control reception unit207. The CPU201generates the CEC command corresponding to the remote control signal from the remote control reception unit207, and supplies the generated CEC command to the communication unit203via the command processing unit204. The CEC command supplied to the communication unit203is transmitted to the video camera100via the CEC line302. Thus, the user can control the video camera100remotely by using the remote control unit209.

As described above, the mute image, menu screens, and so forth are stored in the ROM208. The multiple icons for informing the user of the state of the television200, the EDID of the television200, and so forth are also stored in the ROM208. Also, the computer program for controlling the operation of the television200is also stored in the ROM208.

The remote control unit209is a user interface for operating the video camera100and television200, and includes multiple buttons for operating the video camera100, and multiple buttons for operating the television200. Each button within the remote control unit209is configured of a switch, touch panel, or the like. The remote control unit209includes a first power button, television broadcasting selection button, channel button, external input button, menu button, + button, − button, SET button, and so forth. These buttons are buttons for operating the television200.

The first power button is a button for instructing the CPU201to change the television200to a power on state or power off state. The power on state is a state in which necessary power can be supplied to the whole of the television200from a power source (not shown). The power off state is a state in which supply of power to a portion or the whole of the television200from the power source (not shown) is stopped.

The television broadcasting selection button is a button for instructing the CPU201to select one of analog television broadcasting, digital television broadcasting, and cable television broadcasting, and to have the tuner unit202receive the selected television broadcasting. The channel button is a button for selecting a television channel that the tuner unit202receives.

The external input button is a button for selecting one of the video data received by the tuner unit202, and the video data transmitted from the video camera100, and displaying the selected video data on the display unit205.

The menu button is a button for instructing the CPU201to display or hide the menu screen of the television200. The menu screens of the television200includes a menu screen for controlling the television200, and a menu screen for changing the settings of the television200. These menu screens are stored in the ROM208.

In the case of displaying a menu screen, the CPU201reads out the menu screen to be displayed from the ROM208, and supplies the read menu screen to the display unit205. At this time, the CPU201superposes the cursor or the like on the menu screen. The display unit205superposes the menu screen supplied from the CPU201on the video data supplied from the tuner unit202or communication unit203. Thus, the menu screen of the television200is displayed on the display unit205. In the case of hiding the menu screen, the CPU201stops supply of the menu screen to the display unit205.

The + button and − button are buttons for moving the cursor on the menu screen. The SET button is a button for instructing the CPU201to execute the item selected by the cursor. Movement between menu screens can be executed by using the + button, − button, and SET button.

Note that, in a case where the menu screen of the video camera100is displayed on the television200, the + button, − button, and SET button can also operate the cursor on the menu screen thereof. In this case, the CEC commands corresponding to the operation as to the + button, − button, and SET button are transmitted from the television200to the video camera100via the CEC line302.

Also, the remote control unit209includes a second power button, playback button, stop button, pause button, fast forward button, rewind button, start/stop button, menu button, and so forth. These buttons are buttons for operating the video camera100.

The second power button is a button for instructing the CPU201to transmit a power on command or power off command to the video camera100via the CEC line302. The power ON command is a CEC command for instructing the CPU101to change the video camera100to a power ON state. The power off command is a CEC command for instructing the CPU101to change the video camera100to a power off state.

The playback button, stop button, and pause button are buttons for instructing the CPU201to transmit a playback command, stop command, and pause command to the video camera100via the CEC line302, respectively. Also, the fast forward button, and rewind button are buttons for instructing the CPU201to transmit a fast forward command, and rewind command to the video camera100via the CEC line302, respectively. These commands are CEC commands for instructing the CPU101to execute execution of playback, stop, pause, fast forward, and rewind of the video data recorded in the recording medium.

The start/stop button is a button for instructing the CPU201to transmit a recording command or recording pause command to the video camera100via the CEC line302. The recording command is a CEC command for instructing the CPU101to start recording of the video data and so forth generated in the image capture unit114as to the recoding medium. The recording pause command is a CEC command for instructing the CPU101to pause recording of the video data generated in the image capture unit114as to the recording medium.

The menu button is a button for instructing the CPU201to transmit a menu on command or menu off command to the video camera100via the CEC line302.

The menu on command is a CEC command for instructing the CPU101to display of the menu screen of the video camera100. In the case of displaying a menu screen, the CPU101reads out the menu screen to be displayed from the ROM116, and supplies the read menu screen to the display unit112and data processing unit110. At this time, the CPU101superposes the cursor or the like on the menu screen. The display unit112and data processing unit110superpose the menu screen supplied from the CPU101on the video data supplied from the image capture unit115or recording unit104. Thus, the same menu screen is displayed on the display unit112and television200.

The menu off command is a CEC command for instructing the CPU101to hide the menu screen of the video camera100. In the case of hiding the menu screen, the CPU101stops supply of the menu screen to the display unit112and data processing unit110. Thus, the television200can stop display of the menu screen of the video camera100.

Note that the external apparatus200is not restricted to a television receiver. For example, the external apparatus200may be a personal computer having a display.

Next, the process executed in the video camera100according to the first embodiment will be described with reference toFIGS. 1 through 5.

FIG. 3is a flowchart illustrating an example of a process executed in the video camera100according to the first embodiment. The process shown in the flowchart inFIG. 3is a process that is executed when the video camera100is in a power on state. Note that the process shown in the flowchart inFIG. 3is controlled by the CPU101executing the computer program stored in the ROM116.

In step S301, the CPU101determines whether the HDMI connection between the video camera100and television200has been detected. The HDMI connection between the video camera100and television200is detected by the connection detecting unit106. The detection result of the connection detecting unit106is informed to the CPU101, whereby the CPU101can detect the HDMI connection between the video camera100and television200.

If the HDMI connection has been detected (YES in step S301), the process proceeds to step S302from step S301. If the HDMI connection has not been detected (NO in step S301), the process returns to step S301.

In step S302, the CPU101supplies the TMDS enable signal to the TMDS driver107a, and supplies the CEC enable signal to the CEC driver107b. Also, the CPU101obtains the EDID of the television200via the DDC line304, and stores the obtained EDID in the RAM103. Further, the CPU101enables the CEC function of the video camera100.

The TMDS driver107awhich has received the TMDS enable signal from the CPU101changes to a normal state from a low power consumption state, and enables the TMDS line301. In the case of the TMDS line301being enabled, the communication unit105can transmit video data, audio data, and auxiliary data to the television200via the TMDS line301. In a case where the operation mode of the video camera100is the image capture mode, the video data generated from a captured video and the audio data thereof are transmitted from the video camera100to the television200via the TMDS line301. In a case where the operation mode of the video camera100is the playback mode, the menu screen for selecting video data to be reproduced is transmitted to the television200from the video camera100via the TMDS line301. Upon the user using the remote control unit209to instruct the television200to execute selection and reproducing of video data, the television200transmits the CEC command corresponding to the instruction thereof to the video camera100. The video camera100reproduces the video data selected by the user, and the audio data thereof from the recording medium. The video data reproduced from the recording medium, and the audio data thereof are transmitted from the video camera100to the television200via the TMDS line301.

The CEC driver107bwhich has received the CEC enable signal changes from a normal state to a low power consumption state, and enables the CEC line302. In a case where the CEC line302is enabled, the communication unit105can receive a CEC command for controlling the video camera100from the television200, and can also transmit a CEC command for controlling the television200to the television200.

In step S303, the CPU101determines whether the CEC function of the television200is enabled. In a case where the logical address of the television200could have been obtained from the television200via the CEC line302, the CPU101determines that the CEC function of the television200is enabled. In a case where the logical address of the television200could not have been obtained from the television200via the CEC line302, the CPU101determines that the CEC function of the television200is not enabled.

If the CEC function of the television200is not enabled (NO in step S303), the process proceeds to step S304from step S303. If the CEC function of the television200is enabled (YES in step S303), the process proceeds to step S308from step S303.

In step S304, the CPU101disables the CEC function of the video camera100.

In step S305, the CPU101supplies a CEC disable signal to the CEC driver107b. The CEC driver107bwhich has received the CEC disable signal from the CPU101changes from a normal state to a low power consumption state, and disables the CEC line302. At this time, the CPU101has not supplied the TMDS disable signal to the TMDS driver107a, and accordingly, the TMDS line301has been kept in an enabled state.

In step S306, the CPU101starts a TMDS line reset process. The TMDS line reset process will be described later with reference toFIG. 4.

In step S307, the CPU101determines whether the HDMI connection between the video camera100and television200has been disconnected. Regarding whether the HDMI connection between the video camera100and television200has been disconnected is detected by the connection detecting unit106. The detection result of the connection detecting unit106is informed to the CPU101, whereby the CPU101can determine whether or not the HDMI connection between the video camera100and television200has been disconnected.

In a case where the HDMI cable is disconnected from the video camera100, the HPD signal cannot be detected, whereby the connection detecting unit106can detect disconnection of the HDMI connection between the video camera100and television200. Also, in a case where the television200changes to a power off state, the HPD signal changes from high to low, whereby the connection detecting unit106can detect disconnection of the HDMI connection between the video camera100and television200. Note that the operation for changing the television200to a power off state may be based on the remote control unit209, or may be based on the operating unit206.

If the HDMI connection has been disconnected (YES in S307), the present process returns to step S301from step S307. If the HDMI connection has not been disconnected (NO in S307), the process returns to step S306from step S307.

In step S308, the CPU101starts the TMDS line reset process. The TMDS line reset process will be described later with reference toFIG. 4.

In step S309, the CPU101starts CEC line reset process. The CEC line reset process will be described later with reference toFIG. 5.

In step S310, the CPU101determines, in the same way as in step S307, whether the HDMI connection between the video camera100and television200has been disconnected.

If the HDMI connection has been disconnected (YES in S310), the process returns to step S301from step S310. If the HDMI connection has not been disconnected (NO in S310), the process returns to step S308from step S310.

Next, an example of the TMDS line reset process executed in steps S306and S308inFIG. 3will be described with reference toFIG. 4. Note that the process illustrated in the flowchart inFIG. 4is controlled by the CPU101executing the computer program stored in the ROM116.

In step S401, the CPU101determines whether the communication error relating to the TMDS line301has occurred. Occurrence of the communication error relating to the TMDS line301is detected by the error detecting unit108. For example, in a case where one of overflow and underflow has occurred on a transmission buffer for the TMDS line301, the error detecting unit108detects the occurrence of the communication error relating to the TMDS line301. Also, in the case of receiving a signal indicating that the television200has detected a transmission error such as video data or the like, the error detecting unit108also detects the occurrence of the communication error relating to the TMDS line301. In a case where one of overflow and underflow has occurred on a reception buffer for the TMDS line301, the error detecting unit108also detects the occurrence of the communication error relating to the TMDS line301. The detection result of the error detecting unit108is informed to the CPU101, whereby the CPU101can determine whether the communication error relating to the TMDS line301has occurred.

If the communication error relating to the TMDS line301has occurred (YES in S401), the process proceeds to step S402from step S401. If the communication error relating to the TMDS line301has not occurred (NO in S401), the process ends, and consequently, the process returns to step S307or step S309inFIG. 3.

In step S402, the CPU101supplies a TMDS reset signal to the TMDS driver107a. The TMDS driver107awhich has received the TMDS reset signal from the CPU101resets the TMDS line301to return the TMDS line301to a normal state. At this time, the TMDS line301is reset by the TMDS driver107a, but the CEC line302is not reset by the CEC driver107b. Accordingly, while the TMDS line301is reset, the CEC line302maintains an enabled state. Thus, the video camera100can return the TMDS line301to a normal state from a communication error relating to the CEC line302state without interrupting transmission or reception of a CEC command.

Next, an example of the CEC line reset process executed in steps S309inFIG. 3will be described with reference toFIG. 5. Note that the process illustrated in the flowchart inFIG. 5is controlled by the CPU101executing the computer program stored in the ROM116.

In step S501, the CPU101determines whether the communication error relating to the CEC line302has occurred. Occurrence of the communication error relating to the CEC line302is detected by the error detecting unit108. For example, in a case where the number of retries of a CEC command exceeds a predetermined number of times, the error detecting unit108detects the occurrence of the communication error relating to the CEC line302. Also, in the case of detecting a transmission error of the CEC command received from the television200, the error detecting unit108also detects the occurrence of the communication error relating to the CEC line302. The detection result of the error detecting unit108is informed to the CPU101, whereby the CPU101can determine whether the communication error relating to the CEC line302has occurred.

If the communication error relating to the CEC line302has occurred (YES in S501), the process proceeds to step S502from step S501. If the communication error relating to the CEC line302has not occurred (NO in S501), the process ends, and consequently, the processing returns to step S310inFIG. 3.

In step S502, the CPU101supplies a CEC reset signal to the CEC driver107b. The CEC driver107bwhich has received the CEC reset signal from the CPU101resets the CEC line302to return the CEC line302to a normal state. At this time, the CEC line302is reset by the CEC driver107b, but the TMDS line301is not reset by the TMDS driver107a. Accordingly, while the CEC line302is reset, the TMDS line301maintains an enabled state. Thus, the video camera100can return the CEC line302to a normal state from a communication error relating to the CEC line302state without interrupting transmission or reception of video data, audio data, and auxiliary data.

Thus, with the video camera100according to the first embodiment, the TMDS line301and CEC line302can be reset separately, and accordingly, the entire communication unit105has not to be reset. Thus, the predetermined period of time until the CEC line302returns to a normal state from the communication error relating to the CEC line302state can be reduced.

Also, with the video camera100according to the first embodiment, in a case where the communication error relating to the TMDS line301has been detected, of the TMDS line301and CEC line302, only the TMDS line301can be reset. Thus, the TMDS line301can be returned to a normal state from a communication state without interrupting transmission or reception of a CEC command. Also, with the video camera100according to the first embodiment, in a case where the communication error relating to the CEC line302has been detected, of the TMDS line301and CEC line302, only the CEC line302can be reset. Thus, the CEC line302can be returned to a normal state from a communication state without interrupting transmission or reception of video data, audio data, and auxiliary data.

Second Embodiment

Next, the second embodiment of the present invention will be described with reference toFIGS. 1 through 4andFIG. 6. The second embodiment is an embodiment wherein the CEC line reset process according to the first embodiment has been changed to another CEC line reset process. Accordingly, with the second embodiment, with regard to components common to the first embodiment, description thereof will be omitted, and components different from the first embodiment will be described.

FIG. 6is a flowchart illustrating an example of the CEC line reset process executed in step S309inFIG. 3. Note that the process illustrated in the flowchart inFIG. 6is controlled by the CPU101executing the computer program stored in the ROM116.

In step S601, the CPU101resets the value M of the timer102to zero.

In step S602, the CPU101determines whether the communication error relating to the CEC line302has occurred. The occurrence of the communication error relating to the CEC line302is detected by the error detecting unit108. For example, in a case where the number of retries of a CEC command exceeds a predetermined number of times, the error detecting unit108detects the occurrence of the communication error relating to the CEC line302. The detection result of the error detecting unit108is informed to the CPU101, whereby the CPU101can determine whether the communication error relating to the CEC line302has occurred.

If the communication error relating to the CEC line302has occurred (YES in S602), the process proceeds to step S608from step S602. If the communication error relating to the CEC line302has not occurred (NO in S602), the process proceeds to step S603from step S602.

In step S603, the CPU101determines whether a CEC command has been received from the television200. In the case of receiving the CEC command from the television200, the received CEC command is supplied to the CPU101via the communication unit105and command processing unit111. Thus, the CPU101can determine whether a CEC command has been received from the television200.

If a CEC command has been received from the television200(YES in S603), the CPU101determines that the CEC line302is in a normal state. In this case, the process proceeds to step S609from step S603. If a CEC command has not been received from the television200(NO in S603), the process proceeds to step S604from step S603.

In step S604, the CPU101determines whether the operation mode of the video camera100is the playback mode.

If the operation mode of the video camera100is the playback mode (YES in S604), the process proceeds to step S605from step S604.

If the operation mode of the video camera100is not the playback mode but the image capture mode (NO in S604), the process proceeds to step S609from step S604. In a case where the operation mode of the video camera100is the image capture mode, it is expected that there is a high possibility that the user is viewing the video data that the video camera100is transmitting to the television200, and the frequency wherein a CEC command is transmitted from the television200to the video camera100is low. In this case, unless the timer102is reset, in spite of the CEC line302being in a normal state, there is a possibility that the CEC line302is frequently reset. Accordingly, in this case, the process proceeds to step S609from step S604.

In step S605, the CPU101determines whether the video camera100is in a state in which the video data recorded in the recording medium, and the audio data thereof are transmitted to the television200via the TMDS line301.

If the video camera100is in a state in which the video data recorded in the recording medium, and the audio data thereof are transmitted to the television200via the TMDS line301(YES in S605), the process proceeds to step S609from step S605. This is because in this case, it is expected that there is a high possibility that the user is viewing the video data that the video camera100is transmitting to the television200, and the frequency wherein a CEC command is transmitted from the television200to the video camera100is low. In this case, unless the timer102is reset, in spite of the CEC line302being in a normal state, there is a possibility that the CEC line302is frequently reset. Accordingly, in this case, the process proceeds to step S609from step S605.

If the video camera100is not in a state in which the video data recorded in the recording medium, and the audio data thereof are transmitted to the television200via the TMDS line301(NO in S605), the process proceeds to step S606from step S605. This is because in this case, it is expected that there is a high possibility that the user is operating the menu screen of the video camera100displayed on the television200by using the remote control unit209, and the frequency wherein a CEC command is transmitted from the television200to the video camera100is high.

In step S606, the CPU101compares the value M of the timer102and a constant value N stored in the ROM116to determine whether the value M of the timer102has reached the constant value N. Hereafter, a predetermined period of time until the value M of the timer102has reached the constant value N will be referred to as “predetermined period of time T”.

If the value M of the timer102has reached the constant value N, the CPU101determines that some sort of communication error relating to the CEC line302has occurred. In a case where a CEC command cannot be received from the television200until the predetermined period of time elapses, there is a high possibility that some sort of communication error relating to the CEC line302has occurred. In this case (YES in S606), the process proceeds to step S608from step S606. If the value M of the timer102has not reached the constant value N (NO in S606), the process proceeds to step S607from step S606.

In step S607, the CPU101increments the value M of the timer102by one. Subsequently, the process returns to step S602from step S607.

In step S608, the CPU101supplies a CEC reset signal to the CEC driver107b. The CEC driver107bwhich has received the CEC reset signal from the CPU101resets the CEC line302to return the CEC line302to a normal state. At this time, the CEC line302is reset by the CEC driver107b, but the TMDS line301is not reset by the TMDS driver107a. Accordingly, while the CEC line302is reset, the TMDS line301maintains an enabled state. Thus, the video camera100can return the CEC line302to a normal state from the communication error relating to the CEC line302state without interrupting transmission or reception of video data, audio data, and auxiliary data.

In step S609, the CPU101resets the value M of the timer102to zero. Subsequently, the process ends, and consequently, the process returns to step S310inFIG. 3.

Thus, with the video camera100according to the second embodiment, the TMDS line301and CEC line302can be reset separately, and accordingly, the entire communication unit105has not to be reset. Thus, the predetermined period of time until the CEC line302returns to a normal state from the communication error relating to the CEC line302state can be reduced.

Also, with the video camera100according to the second embodiment, in a case where the communication error relating to the TMDS line301state has been detected, of the TMDS line301and CEC line302, only the TMDS line301can be reset. Thus, the TMDS line301can be returned to a normal state from a communication state without interrupting transmission or reception of a CEC command.

Also, with the video camera100according to the second embodiment, in a case where the communication error relating to the CEC line302has been detected, of the TMDS line301and CEC line302, only the CEC line302can be reset. Thus, the CEC line302can be returned to a normal state from a communication state without interrupting transmission or reception of video data, audio data, and auxiliary data.

Also, in a case where a CEC command cannot be received from the television200until the predetermined period of time elapses, of the TMDS line301and CEC line302, only the CEC line302can be reset. Thus, the video camera100can return the CEC line302to a normal state from the communication error relating to the CEC line302state without interrupting transmission or reception of video data, audio data, and auxiliary data.

Also, with the video camera100according to the second embodiment, in a case where determination is made that the operation mode of the video camera100is not the playback mode but the image capture mode, the timer102can be reset. Thus, the problem can be avoided wherein the CEC line302is frequently set in spite of the CEC line302being in a normal state. Also, with the video camera100according to the second embodiment, in a case where the video camera100is in a state of transmitting the video data recorded in the recording medium, and the audio data thereof to the television200via the TMDS line301, the timer102can be reset. Thus, the problem can be avoided wherein the CEC line302is frequently set in spite of the CEC line302being in a normal state.

Note that, with the second embodiment, an arrangement has been made wherein the process in steps S604and S605inFIG. 6is executed between the process in step S603and the process in step S606, but the present invention is not restricted to such an arrangement. For example, the process in steps S604and S605may be executed between the process in step S606and the processing in step S607.

Other Embodiments

The communication apparatus according to the present invention is not restricted to the communication apparatuses described in the first and second embodiments. For example, the communication apparatus according to the present invention may be realized with a system configured of multiple apparatuses.

Also, the various types of processes and functions described in the first and second embodiments may be realized with a computer program. In this case, the computer program according to the present invention is executed in a computer (including a CPU (Central Processing Unit) and so forth), thereby realizing the various types of functions described in the first and second embodiments.

It goes without saying that the various types of processing and functions described in the first and second embodiments may be realized with the computer program according to the present invention by using the OS (Operating System) or the like running on the computer.

The computer program according to the present invention is read out from a computer readable recording medium, and is executed in the computer. As the computer readable recording medium, a hard disk apparatus, optical disc, CD-ROM, CD-R, memory card, ROM, or the like may be employed. Also, an arrangement may be made wherein the computer program according to the present invention is provided to the computer from an external apparatus via a communication interface, and is executed in the computer thereof.

This application claims the benefit of Japanese Patent Application No. 2008-187296 filed Jul. 18, 2008, which is hereby incorporated by reference herein in its entirety.