North Korea has fired artillery in the direction of a South Korean island in an apparent training exercise, a government official has said.

A South Korean Defence Ministry official said the shells landed in the waters off Yeonpyeong island, but it was not clear whether it was inside the South's territorial waters.

The ministry said its navy heard the sound of three shells and saw one of them fall near the border known officially as the Northern Limit Line.

'In response, we fired three shots that landed near the NLL,' a ministry spokesman said, adding that the North's shell landed near Yeonpyeong island.

The disputed border was the scene of deadly naval skirmishes in 1999, 2002 and November 2009.

Last November, the North shelled Yeonpyeong, killing four South Koreans including two civilians.

YTN Television quoted a government source as saying the North's shots were fired in the course of an ongoing military drill.